Check to see if release version is actually higher than current version (shouldn't really happen, but who knows)

This commit is contained in:
blitzmann
2014-03-02 22:45:18 -05:00
parent 29fc82b771
commit 25c9bfe4d4

View File

@@ -28,7 +28,7 @@ class CheckUpdateThread(threading.Thread):
def __init__(self, callback):
threading.Thread.__init__(self)
self.callback = callback
self.settings = service.settings.UpdateSettings.getInstance()
self.settings = service.settings.UpdateSettings.getInstance()
def run(self):
# Suppress all
@@ -36,6 +36,7 @@ class CheckUpdateThread(threading.Thread):
return
try:
# @todo: use proxy settings?
response = urllib2.urlopen('https://api.github.com/repos/DarkFenX/Pyfa/releases')
jsonResponse = json.loads(response.read());
i = 0
@@ -46,31 +47,32 @@ class CheckUpdateThread(threading.Thread):
if (release['prerelease'] and self.settings.get('prerelease')):
i += 1
continue
# Handle use-case of updating to suppressed version
if self.settings.get('version') == 'v'+config.version:
self.settings.set('version', None)
# Suppress version
if (release['tag_name'] == self.settings.get('version')):
return
return
version = release['tag_name'].replace('v', '', 1)
if version != config.version:
if self.versiontuple(version) > self.versiontuple(config.version):
wx.CallAfter(self.callback, jsonResponse[i])
break;
except: # for when there is no internet connection
pass
def versiontuple(v):
def versiontuple(self, v):
return tuple(map(int, (v.split("."))))
class Update():
instance = None
def __init__(self):
pass
def CheckUpdate(self, callback):
thread = CheckUpdateThread(callback)
thread.start()
@@ -81,4 +83,4 @@ class Update():
cls.instance = Update()
return cls.instance