[Pkg-privacy-commits] [onionshare] 149/256: Made automatic check for update in a separate thread work
Ulrike Uhlig
ulrike at moszumanska.debian.org
Fri May 26 12:53:30 UTC 2017
This is an automated email from the git hooks/post-receive script.
ulrike pushed a commit to branch master
in repository onionshare.
commit dff13d956863544ad031600dd4b0aa1dbc8cb71e
Author: Micah Lee <micah at micahflee.com>
Date: Mon Apr 17 13:22:33 2017 -0700
Made automatic check for update in a separate thread work
---
onionshare_gui/__init__.py | 34 +++++++++++++++-------------------
onionshare_gui/update_checker.py | 14 ++++++++++----
2 files changed, 25 insertions(+), 23 deletions(-)
diff --git a/onionshare_gui/__init__.py b/onionshare_gui/__init__.py
index 6c399bb..58df562 100644
--- a/onionshare_gui/__init__.py
+++ b/onionshare_gui/__init__.py
@@ -64,7 +64,7 @@ class OnionShareGui(QtWidgets.QMainWindow):
starting_server_step3 = QtCore.pyqtSignal()
starting_server_error = QtCore.pyqtSignal(str)
- def __init__(self, qtapp, app):
+ def __init__(self, qtapp, app, filenames):
super(OnionShareGui, self).__init__()
self.qtapp = qtapp
self.app = app
@@ -81,23 +81,20 @@ class OnionShareGui(QtWidgets.QMainWindow):
settings = Settings()
settings.load()
if settings.get('use_autoupdate'):
- # TODO: make updates actually work
- print("Updating in another thread")
- #t = UpdateThread()
- #t.start()
+ def update_available(update_url, installed_version, latest_version):
+ Alert(strings._("update_available", True).format(update_url, installed_version, latest_version))
- def send_files(self, filenames=None):
- """
- Build the GUI in send files mode.
- Note that this is the only mode currently implemented.
- """
- # file selection
+ t = UpdateThread()
+ t.update_available.connect(update_available)
+ t.start()
+
+ # File selection
self.file_selection = FileSelection()
if filenames:
for filename in filenames:
self.file_selection.file_list.add_file(filename)
- # server status
+ # Server status
self.server_status = ServerStatus(self.qtapp, self.app, web, self.file_selection)
self.server_status.server_started.connect(self.file_selection.server_started)
self.server_status.server_started.connect(self.start_server)
@@ -113,12 +110,12 @@ class OnionShareGui(QtWidgets.QMainWindow):
self.starting_server_step3.connect(self.start_server_step3)
self.starting_server_error.connect(self.start_server_error)
- # filesize warning
+ # Filesize warning
self.filesize_warning = QtWidgets.QLabel()
self.filesize_warning.setStyleSheet('padding: 10px 0; font-weight: bold; color: #333333;')
self.filesize_warning.hide()
- # downloads
+ # Downloads
self.downloads = Downloads()
self.downloads_container = QtWidgets.QScrollArea()
self.downloads_container.setWidget(self.downloads)
@@ -128,7 +125,7 @@ class OnionShareGui(QtWidgets.QMainWindow):
self.downloads_container.hide() # downloads start out hidden
self.new_download = False
- # status bar
+ # Status bar
self.status_bar = QtWidgets.QStatusBar()
self.status_bar.setSizeGripEnabled(False)
version_label = QtWidgets.QLabel('v{0:s}'.format(helpers.get_version()))
@@ -136,10 +133,10 @@ class OnionShareGui(QtWidgets.QMainWindow):
self.status_bar.addPermanentWidget(version_label)
self.setStatusBar(self.status_bar)
- # status bar, zip progress bar
+ # Status bar, zip progress bar
self._zip_progress_bar = None
- # main layout
+ # Main layout
self.layout = QtWidgets.QVBoxLayout()
self.layout.addLayout(self.file_selection)
self.layout.addLayout(self.server_status)
@@ -461,8 +458,7 @@ def main():
qtapp.aboutToQuit.connect(shutdown)
# launch the gui
- gui = OnionShareGui(qtapp, app)
- gui.send_files(filenames)
+ gui = OnionShareGui(qtapp, app, filenames)
# all done
sys.exit(qtapp.exec_())
diff --git a/onionshare_gui/update_checker.py b/onionshare_gui/update_checker.py
index 0511ada..e0f760f 100644
--- a/onionshare_gui/update_checker.py
+++ b/onionshare_gui/update_checker.py
@@ -24,7 +24,6 @@ from onionshare.settings import Settings
from onionshare.onion import Onion
from . import strings, helpers
-from .alert import Alert
class UpdateCheckerTorError(Exception):
"""
@@ -149,17 +148,24 @@ class UpdateChecker(QtCore.QObject):
self.tor_status_update.emit(message)
class UpdateThread(QtCore.QThread):
+ update_available = QtCore.pyqtSignal(str, str, str)
+ tor_status_update = QtCore.pyqtSignal(str)
+
def __init__(self):
super(UpdateThread, self).__init__()
def run(self):
u = UpdateChecker()
- u.update_available.connect(self.update_available)
+ u.update_available.connect(self._update_available)
+ u.tor_status_update.connect(self._tor_status_update)
try:
u.check()
except:
# If update check fails, silently ignore
pass
- def update_available(update_url, installed_version, latest_version):
- Alert(strings._("update_available", True).format(update_url, installed_version, latest_version))
+ def _update_available(self, update_url, installed_version, latest_version):
+ self.update_available.emit(update_url, installed_version, latest_version)
+
+ def _tor_status_update(self, message):
+ self.tor_status_update.emit(message)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/onionshare.git
More information about the Pkg-privacy-commits
mailing list