From: Hans-Christoph Steiner Date: Mon, 15 May 2017 18:11:41 +0000 (+0200) Subject: update: skip packages without metadata in index V1 X-Git-Tag: 0.8~61^2~2 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=77a65be9db71e59f46c75aaa6e5ab09249ace276;p=fdroidserver.git 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. --- 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: