chiark / gitweb /
Add "Update Check Name" for Tags/RM apps that programmatically change their appid
authorDaniel Martí <mvdan@mvdan.cc>
Tue, 18 Mar 2014 22:37:15 +0000 (23:37 +0100)
committerDaniel Martí <mvdan@mvdan.cc>
Tue, 18 Mar 2014 22:37:15 +0000 (23:37 +0100)
fdroidserver/checkupdates.py
fdroidserver/metadata.py

index 4609374dbab9c3d857c0ee9189ecc051f96e61bf..7f7be0e7430aadca14349816cde41fb2cdb79202 100644 (file)
@@ -89,6 +89,7 @@ def check_tags(app, pattern):
 
     try:
 
+        appid = app['Update Check Name'] if app['Update Check Name'] else app['id']
         if app['Repo Type'] == 'srclib':
             build_dir = os.path.join('build', 'srclib', app['Repo'])
             repotype = common.getsrclibvcs(app['Repo'])
@@ -127,13 +128,15 @@ def check_tags(app, pattern):
             # Only process tags where the manifest exists...
             paths = common.manifest_paths(build_dir, flavour)
             version, vercode, package = common.parse_androidmanifests(paths)
-            if package and package == app['id'] and version and vercode:
-                logging.debug("Manifest exists. Found version {0} ({1})".format(
-                        version, vercode))
-                if int(vercode) > int(hcode):
-                    htag = tag
-                    hcode = str(int(vercode))
-                    hver = version
+            if not package or package != appid or not version or not vercode:
+                continue
+
+            logging.debug("Manifest exists. Found version {0} ({1})".format(
+                    version, vercode))
+            if int(vercode) > int(hcode):
+                htag = tag
+                hcode = str(int(vercode))
+                hver = version
 
         if hver:
             return (hver, hcode, htag)
@@ -159,6 +162,7 @@ def check_repomanifest(app, branch=None):
 
     try:
 
+        appid = app['Update Check Name'] if 'Update Check Name' in app else app['id']
         if app['Repo Type'] == 'srclib':
             build_dir = os.path.join('build', 'srclib', app['Repo'])
             repotype = common.getsrclibvcs(app['Repo'])
@@ -198,7 +202,7 @@ def check_repomanifest(app, branch=None):
         version, vercode, package = common.parse_androidmanifests(paths)
         if not package:
             return (None, "Couldn't find package ID")
-        if package != app['id']:
+        if package != appid:
             return (None, "Package ID mismatch")
         if not version:
             return (None,"Couldn't find latest version name")
index 4158d0cce02ee764419cf2f19be1dcdf0267074c..3da4b0c9d221978feede2f614fab553c231a6c49 100644 (file)
@@ -48,6 +48,7 @@ app_defaults = {
     'AntiFeatures': None,
     'Archive Policy': None,
     'Update Check Mode': 'None',
+    'Update Check Name': None,
     'Update Check Data': None,
     'Vercode Operation': None,
     'Auto Update Mode': 'None',