mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-11 17:50:29 +03:00
update: add all categories in metadata files to repo definitions
!1366 makes it so categories are now defined by the repo. Categories can be defined in the config so that lint has a list of categories to enforce. This also provides a place for localization and icons for the categories. The old way of defining categories was just listing them in app metadata files. This restores that way of functioning when using index-v2. closes #1137
This commit is contained in:
parent
64b8ee772c
commit
2c566cf68f
4 changed files with 111 additions and 5 deletions
|
|
@ -711,6 +711,7 @@ def make_v2(apps, packages, repodir, repodict, requestsdict, fdroid_signing_key_
|
|||
|
||||
output_packages = collections.OrderedDict()
|
||||
output['packages'] = output_packages
|
||||
categories_used_by_apps = set()
|
||||
for package in packages:
|
||||
packageName = package['packageName']
|
||||
if packageName not in apps:
|
||||
|
|
@ -730,7 +731,9 @@ def make_v2(apps, packages, repodir, repodict, requestsdict, fdroid_signing_key_
|
|||
else:
|
||||
packagelist = {}
|
||||
output_packages[packageName] = packagelist
|
||||
packagelist["metadata"] = package_metadata(apps[packageName], repodir)
|
||||
app = apps[packageName]
|
||||
categories_used_by_apps.update(app.get('Categories', []))
|
||||
packagelist["metadata"] = package_metadata(app, repodir)
|
||||
if "signer" in package:
|
||||
packagelist["metadata"]["preferredSigner"] = package["signer"]
|
||||
|
||||
|
|
@ -738,6 +741,12 @@ def make_v2(apps, packages, repodir, repodict, requestsdict, fdroid_signing_key_
|
|||
|
||||
packagelist["versions"][package["hash"]] = convert_version(package, apps[packageName], repodir)
|
||||
|
||||
if categories_used_by_apps and not output['repo'].get(CATEGORIES_CONFIG_NAME):
|
||||
output['repo'][CATEGORIES_CONFIG_NAME] = dict()
|
||||
for category in sorted(categories_used_by_apps):
|
||||
if category not in output['repo'][CATEGORIES_CONFIG_NAME]:
|
||||
output['repo'][CATEGORIES_CONFIG_NAME][category] = dict()
|
||||
|
||||
entry = {}
|
||||
entry["timestamp"] = repodict["timestamp"]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue