From 948689281a09b640c20a61d6af8acea99454d3c2 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 11 Jan 2017 22:42:41 +0100 Subject: [PATCH] ensure fdroiddata metadata file overrides .fdroid.yml in source If the already parsed App instance from metadata/*.* has a field, then the value coming from .fdroid.yml should not override it. --- fdroidserver/metadata.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index c70b1642..9af8a107 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -996,7 +996,11 @@ def parse_metadata(metadatapath, check_vcs=False): vcs.gotorevision('HEAD') # HEAD since we can't know where else to go if os.path.isfile(metadata_in_repo): logging.debug('Including metadata from ' + metadata_in_repo) - app.update(parse_metadata(metadata_in_repo)) + # do not include fields already provided by main metadata file + app_in_repo = parse_metadata(metadata_in_repo).field_dict() + for k, v in app_in_repo.items(): + if k not in app.field_dict(): + app.set_field(k, v) post_metadata_parse(app) -- 2.30.2