From b83c1aace3776c4e7d5646dd5a920ed4cfe80d52 Mon Sep 17 00:00:00 2001 From: Jochen Sprickerhof Date: Mon, 28 Apr 2025 08:38:54 +0200 Subject: [PATCH] Make v2 localized config optional Fixes: Traceback (most recent call last): File "/home/fdroid/fdroidserver/fdroid", line 22, in fdroidserver.__main__.main() File "/home/fdroid/fdroidserver/fdroidserver/__main__.py", line 222, in main raise e File "/home/fdroid/fdroidserver/fdroidserver/__main__.py", line 203, in main mod.main() File "/home/fdroid/fdroidserver/fdroidserver/update.py", line 2774, in main fdroidserver.index.make(archived_apps, archapks, repodirs[1], True) File "/home/fdroid/fdroidserver/fdroidserver/index.py", line 132, in make make_v2( File "/home/fdroid/fdroidserver/fdroidserver/index.py", line 728, in make_v2 output["repo"] = v2_repo(repodict, repodir, archive) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/fdroid/fdroidserver/fdroidserver/index.py", line 686, in v2_repo repo["icon"] = config["archive" if archive else "repo"]["icon"] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ KeyError: 'icon' --- fdroidserver/index.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/fdroidserver/index.py b/fdroidserver/index.py index 6df110dd..fb1c4279 100644 --- a/fdroidserver/index.py +++ b/fdroidserver/index.py @@ -681,9 +681,13 @@ def v2_repo(repodict, repodir, archive): config = common.load_localized_config(CONFIG_CONFIG_NAME, repodir) if config: - repo["name"] = config["archive" if archive else "repo"]["name"] - repo["description"] = config["archive" if archive else "repo"]["description"] - repo["icon"] = config["archive" if archive else "repo"]["icon"] + localized_config = config["archive" if archive else "repo"] + if "name" in localized_config: + repo["name"] = localized_config["name"] + if "description" in localized_config: + repo["description"] = localized_config["description"] + if "icon" in localized_config: + repo["icon"] = localized_config["icon"] repo["address"] = repodict["address"] if "mirrors" in repodict: