refactor(readme-generator/regen_readme_in_batch): blep, make core more readable
This commit is contained in:
parent
f8148babf8
commit
d6c6eab023
1 changed files with 11 additions and 4 deletions
|
@ -22,16 +22,19 @@ my_env["GIT_COMMITTER_EMAIL"] = "yunohost@yunohost.org"
|
||||||
|
|
||||||
|
|
||||||
async def git(cmd, in_folder=None):
|
async def git(cmd, in_folder=None):
|
||||||
|
|
||||||
if not isinstance(cmd, list):
|
if not isinstance(cmd, list):
|
||||||
cmd = cmd.split()
|
cmd = cmd.split()
|
||||||
|
|
||||||
if in_folder:
|
if in_folder:
|
||||||
cmd = ["-C", in_folder] + cmd
|
cmd = ["-C", in_folder] + cmd
|
||||||
|
|
||||||
cmd = ["git"] + cmd
|
cmd = ["git"] + cmd
|
||||||
cmd = " ".join(map(shlex.quote, cmd))
|
cmd = " ".join(map(shlex.quote, cmd))
|
||||||
print(cmd)
|
print(cmd)
|
||||||
|
|
||||||
command = await asyncio.create_subprocess_shell(cmd, env=my_env, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.STDOUT)
|
command = await asyncio.create_subprocess_shell(cmd, env=my_env, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.STDOUT)
|
||||||
data = await command.stdout.read()
|
data = await command.stdout.read()
|
||||||
|
|
||||||
return data.decode().strip()
|
return data.decode().strip()
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,6 +46,7 @@ async def regen_readme(repository, branch):
|
||||||
|
|
||||||
with tempfile.TemporaryDirectory() as folder:
|
with tempfile.TemporaryDirectory() as folder:
|
||||||
await git(["clone", f"https://{login}:{token}@github.com/{repository}", "--single-branch", "--branch", branch, folder])
|
await git(["clone", f"https://{login}:{token}@github.com/{repository}", "--single-branch", "--branch", branch, folder])
|
||||||
|
|
||||||
generate_READMEs(Path(folder))
|
generate_READMEs(Path(folder))
|
||||||
|
|
||||||
await git(["add", "README*.md"], in_folder=folder)
|
await git(["add", "README*.md"], in_folder=folder)
|
||||||
|
@ -51,26 +55,29 @@ async def regen_readme(repository, branch):
|
||||||
diff_not_empty = await asyncio.create_subprocess_shell(" ".join(["git", "diff", "HEAD", "--compact-summary"]), cwd=folder, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.STDOUT)
|
diff_not_empty = await asyncio.create_subprocess_shell(" ".join(["git", "diff", "HEAD", "--compact-summary"]), cwd=folder, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.STDOUT)
|
||||||
diff_not_empty = await diff_not_empty.stdout.read()
|
diff_not_empty = await diff_not_empty.stdout.read()
|
||||||
diff_not_empty = diff_not_empty.decode().strip()
|
diff_not_empty = diff_not_empty.decode().strip()
|
||||||
if not diff_not_empty:
|
if diff_not_empty:
|
||||||
print("nothing to do")
|
print("nothing to do")
|
||||||
return
|
return
|
||||||
|
|
||||||
await git(["commit", "-a", "-m", "Auto-update README", "--author='yunohost-bot <yunohost@yunohost.org>'"], in_folder=folder)
|
await git(["commit", "-a", "-m", "Auto-update README", "--author='yunohost-bot <yunohost@yunohost.org>'"], in_folder=folder)
|
||||||
await git(["push", "origin", branch, "--quiet"], in_folder=folder)
|
await git(["push", "origin", branch, "--quiet"], in_folder=folder)
|
||||||
|
|
||||||
print(f"Updated https://github.com/{repository}")
|
print(f"Updated https://github.com/{repository}")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
skip = True
|
skip = True
|
||||||
apps = json.load(open("../../builds/default/v3/apps.json"))["apps"]
|
apps = json.load(open("../../builds/default/v3/apps.json"))["apps"]
|
||||||
|
|
||||||
for app, infos in apps.items():
|
for app, infos in apps.items():
|
||||||
if "github.com" not in infos["git"]["url"]:
|
if "github.com" not in infos["git"]["url"]:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if app == "dendrite":
|
if app == "dendrite":
|
||||||
skip = False
|
skip = False
|
||||||
|
|
||||||
if skip:
|
if skip:
|
||||||
continue
|
continue
|
||||||
print(app)
|
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
asyncio.run(regen_readme(infos["git"]["url"].replace("https://github.com/", ""), infos["git"]["branch"]))
|
asyncio.run(regen_readme(infos["git"]["url"].replace("https://github.com/", ""), infos["git"]["branch"]))
|
||||||
|
|
Loading…
Reference in a new issue