From 1c5e091887a64630a2198de826be97df63d30150 Mon Sep 17 00:00:00 2001 From: Insoleet <insomniak.fr@gmail.com> Date: Thu, 14 Jan 2016 21:19:08 +0100 Subject: [PATCH] Fix eventloop on windows - Use quamash fork - Force SelectorEventLoop on windows --- requirements.txt | 2 +- src/sakia/core/app.py | 2 ++ src/sakia/main.py | 4 ++-- .../functional/process_cfg_community/test_add_community.py | 2 ++ src/sakia/tests/quamash_utils.py | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index 58d74c97..64846e86 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ ucoinpy>=0.13 -quamash +https://github.com/Insoleet/quamash.git@qeventloop asynctest networkx \ No newline at end of file diff --git a/src/sakia/core/app.py b/src/sakia/core/app.py index 9aa906e2..87797619 100644 --- a/src/sakia/core/app.py +++ b/src/sakia/core/app.py @@ -524,3 +524,5 @@ class Application(QObject): self.version_requested.emit() except (aiohttp.errors.ClientError, aiohttp.errors.TimeoutError) as e: logging.debug("Could not connect to github : {0}".format(str(e))) + except Exception as e: + pass diff --git a/src/sakia/main.py b/src/sakia/main.py index 65844f36..07e123a3 100755 --- a/src/sakia/main.py +++ b/src/sakia/main.py @@ -16,7 +16,7 @@ import jsonschema # To force cx_freeze import import PyQt5.QtSvg -from quamash import QEventLoop +from quamash import QEventLoopSelector from PyQt5.QtWidgets import QApplication from sakia.gui.mainwindow import MainWindow from sakia.core.app import Application @@ -61,7 +61,7 @@ if __name__ == '__main__': #Â activate ctrl-c interrupt signal.signal(signal.SIGINT, signal.SIG_DFL) sakia = QApplication(sys.argv) - loop = QEventLoop(sakia) + loop = QEventLoopSelector(sakia) loop.set_exception_handler(async_exception_handler) asyncio.set_event_loop(loop) diff --git a/src/sakia/tests/functional/process_cfg_community/test_add_community.py b/src/sakia/tests/functional/process_cfg_community/test_add_community.py index 7f97a3de..48d8b0ad 100644 --- a/src/sakia/tests/functional/process_cfg_community/test_add_community.py +++ b/src/sakia/tests/functional/process_cfg_community/test_add_community.py @@ -31,8 +31,10 @@ class ProcessAddCommunity(unittest.TestCase, QuamashTest): self.password_asker = PasswordAskerDialog(self.account) self.password_asker.password = "testsakia" self.password_asker.remember = True + super().setUp() def tearDown(self): + super().tearDown() self.tearDownQuamash() @unittest.skipIf(sys.platform== "darwin", "Test not working on OSX, but feature is OK") diff --git a/src/sakia/tests/quamash_utils.py b/src/sakia/tests/quamash_utils.py index ae761052..a359319d 100644 --- a/src/sakia/tests/quamash_utils.py +++ b/src/sakia/tests/quamash_utils.py @@ -9,7 +9,7 @@ _application_ = [] class QuamashTest: def setUpQuamash(self): self.qapplication = get_application() - self.lp = quamash.QEventLoop(self.qapplication) + self.lp = quamash.QEventLoopSelector(self.qapplication) asyncio.set_event_loop(self.lp) self.lp.set_exception_handler(lambda l, c: unitttest_exception_handler(self, l, c)) self.exceptions = [] -- GitLab