From e45b4c71415d31c2419aac8d0a1d401600f07247 Mon Sep 17 00:00:00 2001 From: Mariotaku Date: Sun, 31 Mar 2024 00:16:08 +0900 Subject: [PATCH] fixing fullDescriptionUrl for package details --- repogen/apidata.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/repogen/apidata.py b/repogen/apidata.py index d284f6f..1a82673 100755 --- a/repogen/apidata.py +++ b/repogen/apidata.py @@ -37,11 +37,13 @@ def generate(packages: List[PackageInfo], outdir: Path): appsdir: Path = outdir.joinpath('apps') site_url = siteurl() - def package_item(p_info: PackageInfo, in_apps_dir: bool): + def package_item(p_info: PackageInfo, in_apps_dir: bool, is_details: bool): package = {k: p_info[k] for k in MANIFEST_KEYS if k in p_info} package['shortDescription'] = p_info['manifest'].get( 'appDescription', None) - if in_apps_dir: + if is_details: + package['fullDescriptionUrl'] = f'../full_description.html' + elif in_apps_dir: package['fullDescriptionUrl'] = f'{p_info["id"]}/full_description.html' else: package['fullDescriptionUrl'] = f'apps/{p_info["id"]}/full_description.html' @@ -63,7 +65,7 @@ def save_page(page: int, items: [PackageInfo]): 'maxPage': max_page, 'itemsTotal': packages_length, }, - 'packages': list(map(lambda x: package_item(x, page > 1), items)) + 'packages': list(map(lambda x: package_item(x, page > 1, False), items)) }, pf, indent=2) chunks = more_itertools.chunked(packages, ITEMS_PER_PAGE) if packages else [[]] @@ -74,7 +76,7 @@ def save_page(page: int, items: [PackageInfo]): fix_manifest_url(item, app_dir) app_info = releases_dir.joinpath('latest.json') with ensure_open(app_info, 'w', encoding='utf-8') as f: - json.dump(package_item(item, True), f) + json.dump(package_item(item, True, True), f) desc_html = app_dir.joinpath('full_description.html') with ensure_open(desc_html, 'w', encoding='utf-8') as f: f.write(markdown.convert(item['description']))