Fix antifeatures list generation
This commit is contained in:
@ -8,6 +8,15 @@ from pathlib import Path
|
||||
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
|
||||
def value_for_lang(values, lang):
|
||||
if not isinstance(values, dict):
|
||||
return values
|
||||
if lang in values:
|
||||
return values[lang]
|
||||
elif "en" in values:
|
||||
return values["en"]
|
||||
else:
|
||||
return list(values.values())[0]
|
||||
|
||||
def generate_READMEs(app_path: str):
|
||||
|
||||
@ -22,7 +31,7 @@ def generate_READMEs(app_path: str):
|
||||
catalog = json.load(open(Path(os.path.abspath(__file__)).parent.parent.parent / "apps.json"))
|
||||
from_catalog = catalog.get(manifest['id'], {})
|
||||
|
||||
antifeatures_list = yaml.load(open(Path(os.path.abspath(__file__)).parent.parent.parent / "antifeatures.yml"))
|
||||
antifeatures_list = yaml.load(open(Path(os.path.abspath(__file__)).parent.parent.parent / "antifeatures.yml"), Loader=yaml.SafeLoader)
|
||||
antifeatures_list = { e['id']: e for e in antifeatures_list }
|
||||
|
||||
if not upstream and not (app_path / "doc" / "DISCLAIMER.md").exists():
|
||||
@ -62,12 +71,12 @@ def generate_READMEs(app_path: str):
|
||||
|
||||
# TODO: Add url to the documentation... and actually create that documentation :D
|
||||
antifeatures = { a: antifeatures_list[a] for a in from_catalog.get('antifeatures', [])}
|
||||
for k, v in antifeatures:
|
||||
v['title'] = v['title'].get(lang_suffix, 'en')
|
||||
if manifest.get("antifeatures", {}).get(k, 'en'):
|
||||
v['description'] = manifest.get("antifeatures", {}).get(k, 'en')
|
||||
for k, v in antifeatures.items():
|
||||
antifeatures[k]['title'] = value_for_lang(v['title'], lang_suffix)
|
||||
if manifest.get("antifeatures", {}).get(k, None):
|
||||
antifeatures[k]['description'] = value_for_lang(manifest.get("antifeatures", {}).get(k, None), lang_suffix)
|
||||
else:
|
||||
antifeature['description'] = antifeature['description'].get(lang_suffix, 'en')
|
||||
antifeatures[k]['description'] = value_for_lang(antifeatures[k]['description'], lang_suffix)
|
||||
|
||||
out = template.render(
|
||||
lang=lang,
|
||||
@ -75,6 +84,7 @@ def generate_READMEs(app_path: str):
|
||||
description=description,
|
||||
screenshots=screenshots,
|
||||
disclaimer=disclaimer,
|
||||
antifeatures=antifeatures,
|
||||
manifest=manifest,
|
||||
)
|
||||
(app_path / f"README{lang_suffix}.md").write_text(out)
|
||||
|
Reference in New Issue
Block a user