From eeb8ba02b05aa79679076cc5e5415665a0e042d2 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 22 Jul 2015 01:12:21 -0700 Subject: [PATCH] move metadata post-parse processing to reusable function --- fdroidserver/metadata.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index c9a39dc7..ac12599d 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -577,6 +577,17 @@ def get_default_app_info_list(): return thisinfo +def post_metadata_parse(thisinfo): + + if not thisinfo['Description']: + thisinfo['Description'].append('No description available') + + for build in thisinfo['builds']: + fill_build_defaults(build) + + thisinfo['builds'] = sorted(thisinfo['builds'], key=lambda build: int(build['vercode'])) + + # Parse metadata for a single application. # # 'metafile' - the filename to read. The package id for the application comes @@ -648,6 +659,8 @@ def parse_json_metadata(metafile): del build['versionName'] # TODO create schema using https://pypi.python.org/pypi/jsonschema + post_metadata_parse(thisinfo) + return (appid, thisinfo) @@ -848,13 +861,7 @@ def parse_txt_metadata(metafile): elif mode == 3: raise MetaDataException("Unterminated build in " + metafile.name) - if not thisinfo['Description']: - thisinfo['Description'].append('No description available') - - for build in thisinfo['builds']: - fill_build_defaults(build) - - thisinfo['builds'] = sorted(thisinfo['builds'], key=lambda build: int(build['vercode'])) + post_metadata_parse(thisinfo) return (appid, thisinfo)