chiark / gitweb /
Recognise changes in subdirs in Tags and RepoManifest
[fdroidserver.git] / fdroidserver / metadata.py
index 0be100d9f26a33035eefbde2939d238bc1d39a66..e99a6ecab33c6f01892a2f5fa005683e2e05e60e 100644 (file)
@@ -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']))