X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=fdroidserver%2Fmetadata.py;h=e99a6ecab33c6f01892a2f5fa005683e2e05e60e;hb=eaf3216e400fb668759c89529ddf9035c15ad1a4;hp=0be100d9f26a33035eefbde2939d238bc1d39a66;hpb=00066a9b450c3ce33a9b798fdb3da67372c65df3;p=fdroidserver.git diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index 0be100d9..e99a6eca 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -533,6 +533,23 @@ def flagtype(name): return 'string' +def fill_build_defaults(build): + + def get_build_type(): + for t in ['maven', 'gradle', 'kivy']: + if build[t]: + return t + if build['output']: + return 'raw' + return 'ant' + + for flag, value in flag_defaults.iteritems(): + if flag in build: + continue + build[flag] = value + build['type'] = get_build_type() + + # Parse metadata for a single application. # # 'metafile' - the filename to read. The package id for the application comes @@ -628,14 +645,6 @@ def parse_metadata(metafile): thisinfo['comments'].append((key, comment)) del curcomments[:] - def get_build_type(build): - for t in ['maven', 'gradle', 'kivy']: - if build[t]: - return t - if build['output']: - return 'raw' - return 'ant' - thisinfo = {} if metafile: if not isinstance(metafile, file): @@ -767,11 +776,7 @@ def parse_metadata(metafile): thisinfo['Description'].append('No description available') for build in thisinfo['builds']: - for flag, value in flag_defaults.iteritems(): - if flag in build: - continue - build[flag] = value - build['type'] = get_build_type(build) + fill_build_defaults(build) return thisinfo @@ -841,6 +846,10 @@ def write_metadata(dest, app): writefield('Repo') mf.write('\n') for build in app['builds']: + + if build['version'] == "Ignore": + continue + writecomments('build:' + build['vercode']) mf.write("Build:%s,%s\n" % (build['version'], build['vercode']))