device-deps-regenerator: Reformat with black
Change-Id: Ib17eee1dabda4cf126e5a4e6143c23d96d5c6042
This commit is contained in:
@@ -8,19 +8,22 @@ from github import Github
|
|||||||
from base64 import b64decode
|
from base64 import b64decode
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument('-j', '--jobs', type=int, help='Max number of workers to use. Default is none')
|
parser.add_argument(
|
||||||
|
"-j", "--jobs", type=int, help="Max number of workers to use. Default is none"
|
||||||
|
)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
with open('token') as f:
|
with open("token") as f:
|
||||||
g = Github(f.readline().strip(), per_page=200)
|
g = Github(f.readline().strip(), per_page=200)
|
||||||
|
|
||||||
|
|
||||||
print(g.rate_limiting_resettime)
|
print(g.rate_limiting_resettime)
|
||||||
|
|
||||||
org = g.get_organization('LineageOS')
|
org = g.get_organization("LineageOS")
|
||||||
|
|
||||||
# supported branches, newest to oldest
|
# supported branches, newest to oldest
|
||||||
CUR_BRANCHES = ['lineage-20', 'lineage-20.0', 'lineage-19.1', 'lineage-18.1']
|
CUR_BRANCHES = ["lineage-20", "lineage-20.0", "lineage-19.1", "lineage-18.1"]
|
||||||
|
|
||||||
|
|
||||||
def get_cm_dependencies(repo):
|
def get_cm_dependencies(repo):
|
||||||
branch = None
|
branch = None
|
||||||
@@ -41,7 +44,7 @@ def get_cm_dependencies(repo):
|
|||||||
return None
|
return None
|
||||||
blob_sha = None
|
blob_sha = None
|
||||||
for el in tree.tree:
|
for el in tree.tree:
|
||||||
if el.path == 'lineage.dependencies':
|
if el.path == "lineage.dependencies":
|
||||||
blob_sha = el.sha
|
blob_sha = el.sha
|
||||||
break
|
break
|
||||||
|
|
||||||
@@ -52,18 +55,19 @@ def get_cm_dependencies(repo):
|
|||||||
|
|
||||||
deps = b64decode(blob.content)
|
deps = b64decode(blob.content)
|
||||||
|
|
||||||
cmdeps = json.loads(deps.decode('utf-8'))
|
cmdeps = json.loads(deps.decode("utf-8"))
|
||||||
|
|
||||||
mydeps = []
|
mydeps = []
|
||||||
non_device_repos = set()
|
non_device_repos = set()
|
||||||
for el in cmdeps:
|
for el in cmdeps:
|
||||||
if '_device_' not in el['repository']:
|
if "_device_" not in el["repository"]:
|
||||||
non_device_repos.add(el['repository'])
|
non_device_repos.add(el["repository"])
|
||||||
depbranch = el.get('branch', branch.name)
|
depbranch = el.get("branch", branch.name)
|
||||||
mydeps.append({'repo': el['repository'], 'branch': depbranch})
|
mydeps.append({"repo": el["repository"], "branch": depbranch})
|
||||||
|
|
||||||
return [mydeps, non_device_repos]
|
return [mydeps, non_device_repos]
|
||||||
|
|
||||||
|
|
||||||
futures = {}
|
futures = {}
|
||||||
n = 1
|
n = 1
|
||||||
|
|
||||||
@@ -71,8 +75,8 @@ dependencies = {}
|
|||||||
other_repos = set()
|
other_repos = set()
|
||||||
|
|
||||||
with concurrent.futures.ThreadPoolExecutor(max_workers=args.jobs) as executor:
|
with concurrent.futures.ThreadPoolExecutor(max_workers=args.jobs) as executor:
|
||||||
for repo in g.get_organization('LineageOS').get_repos():
|
for repo in g.get_organization("LineageOS").get_repos():
|
||||||
if '_device_' not in repo.name and '_hardware_' not in repo.name:
|
if "_device_" not in repo.name and "_hardware_" not in repo.name:
|
||||||
continue
|
continue
|
||||||
print(n, repo.name)
|
print(n, repo.name)
|
||||||
n += 1
|
n += 1
|
||||||
@@ -87,7 +91,7 @@ with concurrent.futures.ThreadPoolExecutor(max_workers=args.jobs) as executor:
|
|||||||
other_repos.update(data[1])
|
other_repos.update(data[1])
|
||||||
print(name, "=>", data[0])
|
print(name, "=>", data[0])
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('%r generated an exception: %s'%(name, e))
|
print("%r generated an exception: %s" % (name, e))
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
continue
|
continue
|
||||||
futures = {}
|
futures = {}
|
||||||
@@ -115,16 +119,16 @@ with concurrent.futures.ThreadPoolExecutor(max_workers=args.jobs) as executor:
|
|||||||
other_repos.update(data[1])
|
other_repos.update(data[1])
|
||||||
print(name, "=>", data[0])
|
print(name, "=>", data[0])
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('%r generated an exception: %s'%(name, e))
|
print("%r generated an exception: %s" % (name, e))
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
continue
|
continue
|
||||||
futures = {}
|
futures = {}
|
||||||
|
|
||||||
|
|
||||||
print(other_repos)
|
print(other_repos)
|
||||||
#for name in other_repos:
|
# for name in other_repos:
|
||||||
# repo = org.get_repo(name)
|
# repo = org.get_repo(name)
|
||||||
# dependencies[name] = get_cm_dependencies(repo)
|
# dependencies[name] = get_cm_dependencies(repo)
|
||||||
|
|
||||||
with open('out.json', 'w') as f:
|
with open("out.json", "w") as f:
|
||||||
json.dump(dependencies, f, indent=4)
|
json.dump(dependencies, f, indent=4)
|
||||||
|
|||||||
@@ -4,16 +4,16 @@ import json
|
|||||||
# otherwise the script will remove these on the assumption
|
# otherwise the script will remove these on the assumption
|
||||||
# they are common repos
|
# they are common repos
|
||||||
COMMON_DEVICE = [
|
COMMON_DEVICE = [
|
||||||
'android_device_asus_flo',
|
"android_device_asus_flo",
|
||||||
'android_device_asus_grouper',
|
"android_device_asus_grouper",
|
||||||
'android_device_google_marlin',
|
"android_device_google_marlin",
|
||||||
'android_device_htc_flounder',
|
"android_device_htc_flounder",
|
||||||
'android_device_samsung_espressowifi',
|
"android_device_samsung_espressowifi",
|
||||||
'android_device_samsung_n1awifi',
|
"android_device_samsung_n1awifi",
|
||||||
'android_device_samsung_t0lte',
|
"android_device_samsung_t0lte",
|
||||||
]
|
]
|
||||||
|
|
||||||
with open('out.json') as f:
|
with open("out.json") as f:
|
||||||
mapping = json.load(f)
|
mapping = json.load(f)
|
||||||
|
|
||||||
kernels = {}
|
kernels = {}
|
||||||
@@ -25,13 +25,16 @@ for device in mapping:
|
|||||||
if device not in reverse_deps:
|
if device not in reverse_deps:
|
||||||
reverse_deps[device] = []
|
reverse_deps[device] = []
|
||||||
for repo in deps:
|
for repo in deps:
|
||||||
if repo['repo'] not in reverse_deps:
|
if repo["repo"] not in reverse_deps:
|
||||||
reverse_deps[repo['repo']] = []
|
reverse_deps[repo["repo"]] = []
|
||||||
reverse_deps[repo['repo']].append(device)
|
reverse_deps[repo["repo"]].append(device)
|
||||||
|
|
||||||
|
|
||||||
def simplify_reverse_deps(repo):
|
def simplify_reverse_deps(repo):
|
||||||
if len(reverse_deps[repo]) == 0 and '-common' not in repo:
|
if len(reverse_deps[repo]) == 0 and "-common" not in repo:
|
||||||
return {repo,}
|
return {
|
||||||
|
repo,
|
||||||
|
}
|
||||||
res = set()
|
res = set()
|
||||||
for i in reverse_deps[repo]:
|
for i in reverse_deps[repo]:
|
||||||
res.update(simplify_reverse_deps(i))
|
res.update(simplify_reverse_deps(i))
|
||||||
@@ -39,9 +42,10 @@ def simplify_reverse_deps(repo):
|
|||||||
res.add(repo)
|
res.add(repo)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
for repo in reverse_deps:
|
for repo in reverse_deps:
|
||||||
if 'kernel' in repo:
|
if "kernel" in repo:
|
||||||
kernels[repo] = sorted(list(simplify_reverse_deps(repo)))
|
kernels[repo] = sorted(list(simplify_reverse_deps(repo)))
|
||||||
|
|
||||||
with open('kernels.json', 'w') as f:
|
with open("kernels.json", "w") as f:
|
||||||
json.dump(kernels, f, indent=4, sort_keys=True)
|
json.dump(kernels, f, indent=4, sort_keys=True)
|
||||||
|
|||||||
@@ -1,37 +1,51 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
with open('out.json') as f:
|
with open("out.json") as f:
|
||||||
mapping = json.load(f)
|
mapping = json.load(f)
|
||||||
|
|
||||||
devices = {}
|
devices = {}
|
||||||
suffixes = {}
|
suffixes = {}
|
||||||
ignorelist = ['sepolicy', 'devicesettings', 'common', 'atv', 'redbull', 'raviole', 'gs101', 'pantah', 'gs201']
|
ignorelist = [
|
||||||
|
"sepolicy",
|
||||||
|
"devicesettings",
|
||||||
|
"common",
|
||||||
|
"atv",
|
||||||
|
"redbull",
|
||||||
|
"raviole",
|
||||||
|
"gs101",
|
||||||
|
"pantah",
|
||||||
|
"gs201",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def simplify_reverse_deps(repo, device):
|
def simplify_reverse_deps(repo, device):
|
||||||
# repo['branch'] = cm-14.1 or cm-14.1-caf or cm-14.1-sony
|
# repo['branch'] = cm-14.1 or cm-14.1-caf or cm-14.1-sony
|
||||||
if 'branch' in repo and repo['branch'].count('-') > 1: # get suffix
|
if "branch" in repo and repo["branch"].count("-") > 1: # get suffix
|
||||||
if repo['repo'] not in suffixes:
|
if repo["repo"] not in suffixes:
|
||||||
suffixes[repo['repo']] = {}
|
suffixes[repo["repo"]] = {}
|
||||||
suffixes[repo['repo']][device] = '-' + repo['branch'].split('-', 2)[2]
|
suffixes[repo["repo"]][device] = "-" + repo["branch"].split("-", 2)[2]
|
||||||
|
|
||||||
if repo['repo'] not in mapping or len(mapping[repo['repo']]) == 0:
|
if repo["repo"] not in mapping or len(mapping[repo["repo"]]) == 0:
|
||||||
return [repo['repo']]
|
return [repo["repo"]]
|
||||||
res = []
|
res = []
|
||||||
for i in mapping[repo['repo']]:
|
for i in mapping[repo["repo"]]:
|
||||||
res += (simplify_reverse_deps(i, device))
|
res += simplify_reverse_deps(i, device)
|
||||||
res.append(repo['repo'])
|
res.append(repo["repo"])
|
||||||
return res
|
return res
|
||||||
|
|
||||||
for repo in mapping:
|
|
||||||
if 'device' not in repo or any(x in repo for x in ignorelist):
|
|
||||||
continue
|
|
||||||
codename = repo.split('_', maxsplit=3)[-1]
|
|
||||||
if codename in devices:
|
|
||||||
print("warning: dupe: %s"%codename)
|
|
||||||
devices[codename] = sorted(list(set(simplify_reverse_deps({'repo': repo}, codename))))
|
|
||||||
|
|
||||||
with open('device_deps.json', 'w') as f:
|
for repo in mapping:
|
||||||
out = {'devices': devices, 'suffixes': suffixes}
|
if "device" not in repo or any(x in repo for x in ignorelist):
|
||||||
|
continue
|
||||||
|
codename = repo.split("_", maxsplit=3)[-1]
|
||||||
|
if codename in devices:
|
||||||
|
print("warning: dupe: %s" % codename)
|
||||||
|
devices[codename] = sorted(
|
||||||
|
list(set(simplify_reverse_deps({"repo": repo}, codename)))
|
||||||
|
)
|
||||||
|
|
||||||
|
with open("device_deps.json", "w") as f:
|
||||||
|
out = {"devices": devices, "suffixes": suffixes}
|
||||||
out = devices
|
out = devices
|
||||||
json.dump(out, f, indent=4, sort_keys=True)
|
json.dump(out, f, indent=4, sort_keys=True)
|
||||||
f.write('\n')
|
f.write("\n")
|
||||||
|
|||||||
Reference in New Issue
Block a user