From: Hans-Christoph Steiner Date: Wed, 11 Jan 2017 21:42:41 +0000 (+0100) Subject: ensure fdroiddata metadata file overrides .fdroid.yml in source X-Git-Tag: 0.8~133^2~1 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=948689281a09b640c20a61d6af8acea99454d3c2;p=fdroidserver.git 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. --- 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)