代码拉取完成,页面将自动刷新
#!/usr/bin/python3
"""
This is a sanity checking tool for openEuler community database
"""
import yaml
import sys
import argparse
import os
def load_yaml(d, f):
"""
Helper for load YAML database
"""
p = os.path.expanduser(os.path.join(d, f))
try:
y = yaml.load(open(p, encoding="utf-8"), Loader=yaml.Loader)
except FileNotFoundError:
print("Cannot Load {path}".format(path=p))
print("Could be wrong path")
sys.exit(1)
except yaml.scanner.ScannerError as e:
print("%s: Invalid YAML file"%(p))
print("Detailed Error Information:")
print(e)
sys.exit(1)
return y
if __name__ == "__main__":
par = argparse.ArgumentParser()
par.add_argument("community", type=str, help="Local path of community repository")
args = par.parse_args()
openeuler_repo_yaml = load_yaml(args.community, "repository/openeuler.yaml")
openeuler_repos = openeuler_repo_yaml["repositories"]
srcopeneuler_repo_yaml = load_yaml(args.community, "repository/src-openeuler.yaml")
srcopeneuler_repos = srcopeneuler_repo_yaml["repositories"]
sigs_yaml = load_yaml(args.community, "sig/sigs.yaml")
sigs = sigs_yaml["sigs"]
os.makedirs(os.path.join(args.community, "repository/openeuler"), exist_ok=True)
for openeuler_repo in openeuler_repos:
dn = os.path.join(args.community, "repository/openeuler", openeuler_repo["name"][0].lower())
fn = os.path.join(dn, openeuler_repo["name"]+".yaml")
if not os.path.exists(dn):
os.mkdir(dn)
with open(fn, "w") as repo_yaml:
yaml.dump(openeuler_repo, repo_yaml, sort_keys=False)
os.makedirs(os.path.join(args.community, "repository/src-openeuler"), exist_ok=True)
for srcopeneuler_repo in srcopeneuler_repos:
dn = os.path.join(args.community, "repository/src-openeuler", srcopeneuler_repo["name"][0].lower())
fn = os.path.join(dn, srcopeneuler_repo["name"]+".yaml")
if not os.path.exists(dn):
os.mkdir(dn)
with open(fn, "w") as repo_yaml:
yaml.dump(srcopeneuler_repo, repo_yaml, sort_keys=False)
for sig in sigs:
sig_name = sig["name"]
sig_dn = os.path.join(args.community, "sig", sig_name)
repos = sig["repositories"]
for repo in repos:
org, code = repo.split("/")
new_path = os.path.join(args.community, "sig", sig_name, org, code[0].lower())
os.makedirs(new_path, exist_ok=True)
old_path = os.path.join(args.community, "repository", org, code[0].lower(), code+".yaml")
if not os.path.exists(old_path):
print(repo + " not exist")
else:
os.rename(old_path, os.path.join(new_path, code+".yaml"))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。