trm version_getter - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit da79f02fc3e1d837680415229901a659b7b58e4a DIR parent 6aefaf7b3ea45f7b57f35f89b094a915c804638f HTML Author: ThomasV <thomasv@electrum.org> Date: Sat, 17 Oct 2015 12:10:28 +0200 rm version_getter Diffstat: M gui/qt/main_window.py | 3 --- D gui/qt/version_getter.py | 125 ------------------------------- 2 files changed, 0 insertions(+), 128 deletions(-) --- DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py t@@ -1811,9 +1811,6 @@ class ElectrumWindow(QMainWindow, PrintError): self.balance_label = QLabel("") sb.addWidget(self.balance_label) - from version_getter import UpdateLabel - self.updatelabel = UpdateLabel(self.config, sb) - self.account_selector = QComboBox() self.account_selector.setSizeAdjustPolicy(QComboBox.AdjustToContents) self.connect(self.account_selector,SIGNAL("activated(QString)"),self.change_account) DIR diff --git a/gui/qt/version_getter.py b/gui/qt/version_getter.py t@@ -1,125 +0,0 @@ -#!/usr/bin/env python -# -# Electrum - lightweight Bitcoin client -# Copyright (C) 2012 thomasv@gitorious -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -import threading, re, socket -import webbrowser -import requests - -from PyQt4.QtGui import * -from PyQt4.QtCore import * -import PyQt4.QtCore as QtCore - -from electrum.i18n import _ -from electrum import ELECTRUM_VERSION, print_error - -class VersionGetter(threading.Thread): - - def __init__(self, label): - threading.Thread.__init__(self) - self.label = label - self.daemon = True - - def run(self): - try: - res = requests.request("GET", "https://electrum.org/version") - except: - print_error("Could not retrieve version information") - return - - if res.status_code == 200: - latest_version = res.text - latest_version = latest_version.replace("\n","") - if(re.match('^\d+(\.\d+)*$', latest_version)): - self.label.callback(latest_version) - -class UpdateLabel(QLabel): - def __init__(self, config, sb): - QLabel.__init__(self) - self.new_version = False - self.sb = sb - self.config = config - self.current_version = ELECTRUM_VERSION - self.connect(self, QtCore.SIGNAL('new_electrum_version'), self.new_electrum_version) - # prevent HTTP leaks if a proxy is set - if self.config.get('proxy'): - return - VersionGetter(self).start() - - def callback(self, version): - self.latest_version = version - if(self.compare_versions(self.latest_version, self.current_version) == 1): - latest_seen = self.config.get("last_seen_version",ELECTRUM_VERSION) - if(self.compare_versions(self.latest_version, latest_seen) == 1): - self.new_version = True - self.emit(QtCore.SIGNAL('new_electrum_version')) - - def new_electrum_version(self): - if self.new_version: - self.setText(_("New version available") + ": " + self.latest_version) - self.sb.insertPermanentWidget(1, self) - - def compare_versions(self, version1, version2): - def normalize(v): - return [int(x) for x in re.sub(r'(\.0+)*$','', v).split(".")] - try: - return cmp(normalize(version1), normalize(version2)) - except: - return 0 - - def ignore_this_version(self): - self.setText("") - 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.")) - self.dialog.done(0) - - def ignore_all_version(self): - self.setText("") - 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.")) - self.dialog.done(0) - - def open_website(self): - webbrowser.open("http://electrum.org/download.html") - self.dialog.done(0) - - def mouseReleaseEvent(self, event): - dialog = QDialog(self) - dialog.setWindowTitle(_('Electrum update')) - dialog.setModal(1) - - main_layout = QGridLayout() - 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.clicked.connect(self.ignore_this_version) - - ignore_all_versions = QPushButton(_("Ignore all versions")) - ignore_all_versions.clicked.connect(self.ignore_all_version) - - open_website = QPushButton(_("Goto download page")) - open_website.clicked.connect(self.open_website) - - main_layout.addWidget(ignore_version, 1, 0) - main_layout.addWidget(ignore_all_versions, 1, 1) - main_layout.addWidget(open_website, 1, 2) - - dialog.setLayout(main_layout) - - self.dialog = dialog - - if not dialog.exec_(): return