From 77a65be9db71e59f46c75aaa6e5ab09249ace276 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 15 May 2017 20:11:41 +0200 Subject: [PATCH] update: skip packages without metadata in index V1 If a package does not have a matching "app" metadata file, then it should not be added to the index. index V0 already does this properly. --- fdroidserver/index.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fdroidserver/index.py b/fdroidserver/index.py index aae2e1b6..6eda4a53 100644 --- a/fdroidserver/index.py +++ b/fdroidserver/index.py @@ -169,7 +169,7 @@ def make_v1(apps, packages, repodir, repodict, requestsdict): appslist = [] output['apps'] = appslist - for appid, appdict in apps.items(): + for packageName, appdict in apps.items(): d = collections.OrderedDict() appslist.append(d) for k, v in sorted(appdict.items()): @@ -190,7 +190,7 @@ def make_v1(apps, packages, repodir, repodict, requestsdict): elif k == 'CurrentVersion': # TODO make SuggestedVersionName the canonical name k = 'suggestedVersionName' elif k == 'AutoName': - if 'Name' not in apps[appid]: + if 'Name' not in apps[packageName]: d['name'] = v continue else: @@ -201,6 +201,9 @@ def make_v1(apps, packages, repodir, repodict, requestsdict): output['packages'] = output_packages for package in packages: packageName = package['packageName'] + if packageName not in apps: + logging.info('Ignoring package without metadata: ' + package['apkName']) + continue if packageName in output_packages: packagelist = output_packages[packageName] else: -- 2.30.2