Skip to content

Commit

Permalink
refactor(readme-generator/regen_readme_in_batch): blep, make core mor…
Browse files Browse the repository at this point in the history
…e readable
  • Loading branch information
Psycojoker committed Mar 29, 2024
1 parent 8207d76 commit 2d3b6bf
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions tools/readme_generator/regen_readme_in_batch.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,19 @@


async def git(cmd, in_folder=None):

if not isinstance(cmd, list):
cmd = cmd.split()

if in_folder:
cmd = ["-C", in_folder] + cmd

cmd = ["git"] + cmd
cmd = " ".join(map(shlex.quote, cmd))
print(cmd)

command = await asyncio.create_subprocess_shell(cmd, env=my_env, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.STDOUT)
data = await command.stdout.read()

return data.decode().strip()


Expand All @@ -43,6 +46,7 @@ async def regen_readme(repository, branch):

with tempfile.TemporaryDirectory() as folder:
await git(["clone", f"https://{login}:{token}@github.com/{repository}", "--single-branch", "--branch", branch, folder])

generate_READMEs(Path(folder))

await git(["add", "README*.md"], in_folder=folder)
Expand All @@ -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 diff_not_empty.stdout.read()
diff_not_empty = diff_not_empty.decode().strip()
if not diff_not_empty:
if diff_not_empty:
print("nothing to do")
return

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)

print(f"Updated https://github.com/{repository}")
print(f"Updated https://github.com/{repository}")


if __name__ == '__main__':
skip = True
apps = json.load(open("../../builds/default/v3/apps.json"))["apps"]

for app, infos in apps.items():
if "github.com" not in infos["git"]["url"]:
continue

if app == "dendrite":
skip = False

if skip:
continue
print(app)

time.sleep(2)
asyncio.run(regen_readme(infos["git"]["url"].replace("https://github.com/", ""), infos["git"]["branch"]))

0 comments on commit 2d3b6bf

Please sign in to comment.