chiark / gitweb /
Switch all headers to python3
[fdroidserver.git] / fdroidserver / checkupdates.py
index b7aaae5c5473c97872226bd48aad838556173916..7d2100a3d078ee27d5fad1bb86501c2f7dc0df17 100644 (file)
@@ -1,5 +1,4 @@
-#!/usr/bin/env python2
-# -*- coding: utf-8 -*-
+#!/usr/bin/env python3
 #
 # checkupdates.py - part of the FDroid server tools
 # Copyright (C) 2010-2015, Ciaran Gultnieks, ciaran@ciarang.com
@@ -29,6 +28,7 @@ import traceback
 import HTMLParser
 from distutils.version import LooseVersion
 import logging
+import copy
 
 import common
 import metadata
@@ -279,9 +279,9 @@ def check_gplay(app):
     try:
         resp = urllib2.urlopen(req, None, 20)
         page = resp.read()
-    except urllib2.HTTPError, e:
+    except urllib2.HTTPError as e:
         return (None, str(e.code))
-    except Exception, e:
+    except Exception as e:
         return (None, 'Failed:' + str(e))
 
     version = None
@@ -387,6 +387,8 @@ def checkupdates_app(app, first=True):
     if mode.startswith('Tags'):
         pattern = mode[5:] if len(mode) > 4 else None
         (version, vercode, tag) = check_tags(app, pattern)
+        if version == 'Unknown':
+            version = tag
         msg = vercode
     elif mode == 'RepoManifest':
         (version, vercode) = check_repomanifest(app)
@@ -468,9 +470,7 @@ def checkupdates_app(app, first=True):
                 logging.info("Refusing to auto update, since the latest build is newer")
 
             if not gotcur:
-                newbuild = latest.copy()
-                if newbuild.origlines:
-                    del newbuild.origlines[:]
+                newbuild = copy.deepcopy(latest)
                 newbuild.disable = False
                 newbuild.vercode = app.CurrentVersionCode
                 newbuild.version = app.CurrentVersion + suffix