mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-09-11 04:59:51 +00:00
Implemented new version comparing
This commit is contained in:
parent
499a336c45
commit
9009fba35c
1 changed files with 23 additions and 18 deletions
|
@ -68,33 +68,38 @@ class UpdateLabel(QtGui.QLabel):
|
||||||
con = httplib.HTTPConnection('electrum.org', 80, timeout=5)
|
con = httplib.HTTPConnection('electrum.org', 80, timeout=5)
|
||||||
con.request("GET", "/version")
|
con.request("GET", "/version")
|
||||||
res = con.getresponse()
|
res = con.getresponse()
|
||||||
if res.status == 200:
|
|
||||||
latest_version = res.read()
|
|
||||||
latest_version = latest_version.replace("\n","")
|
|
||||||
if(re.match('^\d\.\d.\d$', latest_version)):
|
|
||||||
self.config = config
|
|
||||||
|
|
||||||
self.latest_version = tuple(latest_version.split("."))
|
|
||||||
self.latest_version_text = latest_version
|
|
||||||
self.current_version = tuple(ELECTRUM_VERSION.split("."))
|
|
||||||
|
|
||||||
if(self.latest_version > self.current_version):
|
|
||||||
latest_seen = self.config.get("last_seen_version")
|
|
||||||
if(self.latest_version > latest_seen):
|
|
||||||
self.setText("New version available: " + '.'.join(list(self.latest_version)))
|
|
||||||
|
|
||||||
except socket.error as msg:
|
except socket.error as msg:
|
||||||
print "Could not retrieve version information"
|
print "Could not retrieve version information"
|
||||||
|
return
|
||||||
|
|
||||||
|
if res.status == 200:
|
||||||
|
self.latest_version = res.read()
|
||||||
|
self.latest_version = self.latest_version.replace("\n","")
|
||||||
|
if(re.match('^\d\.\d.\d$', self.latest_version)):
|
||||||
|
self.config = config
|
||||||
|
|
||||||
|
self.current_version = ELECTRUM_VERSION
|
||||||
|
|
||||||
|
if(self.compare_versions(self.latest_version, self.current_version) == 1):
|
||||||
|
latest_seen = self.config.get("last_seen_version")
|
||||||
|
if(self.compare_versions(self.latest_version, latest_seen) == 1):
|
||||||
|
self.setText("New version available: " + self.latest_version)
|
||||||
|
|
||||||
|
|
||||||
|
def compare_versions(self, version1, version2):
|
||||||
|
def normalize(v):
|
||||||
|
return [int(x) for x in re.sub(r'(\.0+)*$','', v).split(".")]
|
||||||
|
return cmp(normalize(version1), normalize(version2))
|
||||||
|
|
||||||
def ignore_this_version(self):
|
def ignore_this_version(self):
|
||||||
self.setText("")
|
self.setText("")
|
||||||
self.config.set_key("last_seen_version", self.latest_version)
|
self.config.set_key("last_seen_version", self.latest_version, True)
|
||||||
QMessageBox.information(self, _("Preference saved"), _("Notifications about this update will not be shown again."))
|
QMessageBox.information(self, _("Preference saved"), _("Notifications about this update will not be shown again."))
|
||||||
self.dialog.done(0)
|
self.dialog.done(0)
|
||||||
|
|
||||||
def ignore_all_version(self):
|
def ignore_all_version(self):
|
||||||
self.setText("")
|
self.setText("")
|
||||||
self.config.set_key("last_seen_version", tuple(['9','9','9']))
|
self.config.set_key("last_seen_version", "9.9.9", True)
|
||||||
QMessageBox.information(self, _("Preference saved"), _("No more notifications about version updates will be shown."))
|
QMessageBox.information(self, _("Preference saved"), _("No more notifications about version updates will be shown."))
|
||||||
self.dialog.done(0)
|
self.dialog.done(0)
|
||||||
|
|
||||||
|
@ -108,7 +113,7 @@ class UpdateLabel(QtGui.QLabel):
|
||||||
dialog.setModal(1)
|
dialog.setModal(1)
|
||||||
|
|
||||||
main_layout = QGridLayout()
|
main_layout = QGridLayout()
|
||||||
main_layout.addWidget(QLabel("A new version of Electrum is available: " + self.latest_version_text), 0,0,1,3)
|
main_layout.addWidget(QLabel("A new version of Electrum is available: " + self.latest_version), 0,0,1,3)
|
||||||
|
|
||||||
ignore_version = QPushButton(_("Ignore this version"))
|
ignore_version = QPushButton(_("Ignore this version"))
|
||||||
ignore_version.clicked.connect(self.ignore_this_version)
|
ignore_version.clicked.connect(self.ignore_this_version)
|
||||||
|
|
Loading…
Add table
Reference in a new issue