From 9d2e2425557c3bd03df7d87e89d9fb74babf8221 Mon Sep 17 00:00:00 2001 From: Nils VAN ZUIJLEN Date: Wed, 26 May 2021 18:37:26 +0200 Subject: [PATCH 1/6] Use /bin/env in make_readme shebang It helps with virtualenv usage Signed-off-by: Nils VAN ZUIJLEN --- tools/README-generator/make_readme.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/README-generator/make_readme.py b/tools/README-generator/make_readme.py index 9dac1ea..fd40768 100755 --- a/tools/README-generator/make_readme.py +++ b/tools/README-generator/make_readme.py @@ -1,4 +1,4 @@ -#! /usr/bin/python3 +#! /usr/bin/env python3 import argparse import json From c21c31daae02508c728664ceaa7b8edcad0826f8 Mon Sep 17 00:00:00 2001 From: Nils VAN ZUIJLEN Date: Wed, 26 May 2021 18:39:42 +0200 Subject: [PATCH 2/6] Use script-based template finding Instead of calling location based template finding Signed-off-by: Nils VAN ZUIJLEN --- tools/README-generator/make_readme.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/README-generator/make_readme.py b/tools/README-generator/make_readme.py index fd40768..5671820 100755 --- a/tools/README-generator/make_readme.py +++ b/tools/README-generator/make_readme.py @@ -3,6 +3,7 @@ import argparse import json import os +from pathlib import Path from jinja2 import Environment, FileSystemLoader @@ -19,7 +20,7 @@ def generate_READMEs(app_path): print("There's no 'upstream' key in the manifest, and doc/DISCLAIMER.md doesn't exists - therefore assuming that we shall not auto-update the README.md for this app yet.") return - env = Environment(loader=FileSystemLoader('./templates')) + env = Environment(loader=FileSystemLoader(Path(__file__).parent / "templates")) for lang, lang_suffix in [("en", ""), ("fr", "_fr")]: @@ -51,4 +52,4 @@ if __name__ == "__main__": help='Path to the app to generate/update READMEs for') args = parser.parse_args() - generate_READMEs(args.app_path) + generate_READMEs(Path(args.app_path)) From f32bc414bded2586390fa98a6652c0b57960e970 Mon Sep 17 00:00:00 2001 From: Nils VAN ZUIJLEN Date: Wed, 26 May 2021 18:43:26 +0200 Subject: [PATCH 3/6] Use pathlib.Path everywhere It's imported, let's use it more! Signed-off-by: Nils VAN ZUIJLEN --- tools/README-generator/make_readme.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/tools/README-generator/make_readme.py b/tools/README-generator/make_readme.py index 5671820..beb6cea 100755 --- a/tools/README-generator/make_readme.py +++ b/tools/README-generator/make_readme.py @@ -10,13 +10,13 @@ from jinja2 import Environment, FileSystemLoader def generate_READMEs(app_path): - if not os.path.exists(app_path): + if not app_path.exists(): raise Exception("App path provided doesn't exists ?!") - manifest = json.load(open(os.path.join(app_path, "manifest.json"))) + manifest = json.load(open(app_path / "manifest.json")) upstream = manifest.get("upstream", {}) - if not upstream and not os.path.exists(os.path.join(app_path, "doc", "DISCLAIMER.md")): + if not upstream and not (app_path / "doc" / "DISCLAIMER.md").exists(): print("There's no 'upstream' key in the manifest, and doc/DISCLAIMER.md doesn't exists - therefore assuming that we shall not auto-update the README.md for this app yet.") return @@ -26,24 +26,23 @@ def generate_READMEs(app_path): template = env.get_template(f'README{lang_suffix}.md.j2') - if os.path.exists(os.path.join(app_path, "doc", "screenshots")): + if (app_path / "doc" / "screenshots").exists(): screenshots = os.listdir(os.path.join(app_path, "doc", "screenshots")) if ".gitkeep" in screenshots: screenshots.remove(".gitkeep") else: screenshots = [] - if os.path.exists(os.path.join(app_path, "doc", f"DISCLAIMER{lang_suffix}.md")): - disclaimer = open(os.path.join(app_path, "doc", f"DISCLAIMER{lang_suffix}.md")).read() + if (app_path / "doc" / f"DISCLAIMER{lang_suffix}.md").exists(): + disclaimer = (app_path / "doc" / f"DISCLAIMER{lang_suffix}.md").read_text() # Fallback to english if maintainer too lazy to translate the disclaimer idk - elif os.path.exists(os.path.join(app_path, "doc", "DISCLAIMER.md")): - disclaimer = open(os.path.join(app_path, "doc", "DISCLAIMER.md")).read() + elif (app_path / "doc" / "DISCLAIMER.md").exists(): + disclaimer = (app_path / "doc" / "DISCLAIMER.md").read_text() else: disclaimer = None out = template.render(lang=lang, upstream=upstream, screenshots=screenshots, disclaimer=disclaimer, manifest=manifest) - with open(os.path.join(app_path, f"README{lang_suffix}.md"), "w") as f: - f.write(out) + (app_path / f"README{lang_suffix}.md").write_text(out) if __name__ == "__main__": From 4d5984752a250b70653636c787119f0b8753e155 Mon Sep 17 00:00:00 2001 From: Nils VAN ZUIJLEN Date: Wed, 26 May 2021 18:45:39 +0200 Subject: [PATCH 4/6] Use consistent quotes Signed-off-by: Nils VAN ZUIJLEN --- tools/README-generator/make_readme.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/README-generator/make_readme.py b/tools/README-generator/make_readme.py index beb6cea..d4aa57a 100755 --- a/tools/README-generator/make_readme.py +++ b/tools/README-generator/make_readme.py @@ -24,7 +24,7 @@ def generate_READMEs(app_path): for lang, lang_suffix in [("en", ""), ("fr", "_fr")]: - template = env.get_template(f'README{lang_suffix}.md.j2') + template = env.get_template(f"README{lang_suffix}.md.j2") if (app_path / "doc" / "screenshots").exists(): screenshots = os.listdir(os.path.join(app_path, "doc", "screenshots")) From df62f56968f3db96f4ade306e1674951367b6e50 Mon Sep 17 00:00:00 2001 From: Nils VAN ZUIJLEN Date: Wed, 26 May 2021 18:46:29 +0200 Subject: [PATCH 5/6] Run Black on make_readme.py Signed-off-by: Nils VAN ZUIJLEN --- tools/README-generator/make_readme.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/tools/README-generator/make_readme.py b/tools/README-generator/make_readme.py index d4aa57a..e4a9cfa 100755 --- a/tools/README-generator/make_readme.py +++ b/tools/README-generator/make_readme.py @@ -17,7 +17,9 @@ def generate_READMEs(app_path): upstream = manifest.get("upstream", {}) if not upstream and not (app_path / "doc" / "DISCLAIMER.md").exists(): - print("There's no 'upstream' key in the manifest, and doc/DISCLAIMER.md doesn't exists - therefore assuming that we shall not auto-update the README.md for this app yet.") + print( + "There's no 'upstream' key in the manifest, and doc/DISCLAIMER.md doesn't exists - therefore assuming that we shall not auto-update the README.md for this app yet." + ) return env = Environment(loader=FileSystemLoader(Path(__file__).parent / "templates")) @@ -41,14 +43,23 @@ def generate_READMEs(app_path): else: disclaimer = None - out = template.render(lang=lang, upstream=upstream, screenshots=screenshots, disclaimer=disclaimer, manifest=manifest) + out = template.render( + lang=lang, + upstream=upstream, + screenshots=screenshots, + disclaimer=disclaimer, + manifest=manifest, + ) (app_path / f"README{lang_suffix}.md").write_text(out) if __name__ == "__main__": - parser = argparse.ArgumentParser(description='Automatically (re)generate README for apps') - parser.add_argument('app_path', - help='Path to the app to generate/update READMEs for') + parser = argparse.ArgumentParser( + description="Automatically (re)generate README for apps" + ) + parser.add_argument( + "app_path", help="Path to the app to generate/update READMEs for" + ) args = parser.parse_args() generate_READMEs(Path(args.app_path)) From 3b34fa518d410312fed3daa04edd06fa12efa5e3 Mon Sep 17 00:00:00 2001 From: Nils VAN ZUIJLEN Date: Wed, 26 May 2021 18:46:51 +0200 Subject: [PATCH 6/6] Add type annotation to make_readme Signed-off-by: Nils VAN ZUIJLEN --- tools/README-generator/make_readme.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/README-generator/make_readme.py b/tools/README-generator/make_readme.py index e4a9cfa..6cb4cd9 100755 --- a/tools/README-generator/make_readme.py +++ b/tools/README-generator/make_readme.py @@ -8,7 +8,7 @@ from pathlib import Path from jinja2 import Environment, FileSystemLoader -def generate_READMEs(app_path): +def generate_READMEs(app_path: Path): if not app_path.exists(): raise Exception("App path provided doesn't exists ?!")