Skip to content
Snippets Groups Projects
Commit 39dcefc1 authored by inso's avatar inso
Browse files

Use qt connection manager instead of request

parent fbcfae3d
No related branches found
No related tags found
No related merge requests found
......@@ -11,11 +11,14 @@ from PyQt5 import QtCore
# preparation des options
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), 'lib')))
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), 'src')))
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), 'res', 'certs')))
print(sys.path)
includes = ["sip", "re", "json", "logging", "hashlib", "os", "urllib", "ucoinpy", "pylibscrypt", "requests"]
includes = ["sip", "re", "json", "logging",
"hashlib", "os", "urllib",
"ucoinpy", "pylibscrypt", "requests"]
excludes = []
packages = ["libnacl"]
packages = ["libnacl", "encodings"]
includefiles = []
if sys.platform == "win32":
......@@ -33,7 +36,7 @@ elif sys.platform == "darwin":
else:
pass
includefiles.append(os.path.join("res", "certs", "DigiCertHighAssuranceEVRootCA.crt"))
includefiles.append((os.path.join(os.path.dirname(__file__), 'res', 'certs', "DigiCertHighAssuranceEVRootCA.crt"), "DigiCertHighAssuranceEVRootCA.crt"))
options = {"path": sys.path,
"includes": includes,
......
......@@ -9,10 +9,11 @@ import logging
import json
import tarfile
import shutil
import requests
import json
import datetime
from PyQt5.QtCore import QObject, pyqtSignal
from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, QUrl
from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkReply, QNetworkRequest
from . import config
from .account import Account
......@@ -31,6 +32,7 @@ class Application(QObject):
'''
loading_progressed = pyqtSignal(int, int)
version_requested = pyqtSignal()
def __init__(self, argv):
'''
......@@ -43,7 +45,11 @@ class Application(QObject):
self.default_account = ""
self.current_account = None
self.monitor = None
self.available_version = __version__
config.parse_arguments(argv)
self._network_manager = QNetworkAccessManager()
self._network_manager.finished.connect(self.read_available_version)
self.get_last_version()
self.load()
def get_account(self, name):
......@@ -328,12 +334,17 @@ class Application(QObject):
'local_accounts': self.jsonify_accounts()}
return data
def latest_version(self):
version = (True, __version__)
logging.debug(os.environ["REQUESTS_CA_BUNDLE"])
releases = requests.get("https://api.github.com/repos/ucoin-io/cutecoin/releases")
def get_last_version(self):
url = QUrl("https://api.github.com/repos/ucoin-io/cutecoin/releases")
request = QNetworkRequest(url)
self._network_manager.get(request)
@pyqtSlot(QNetworkReply)
def read_available_version(self, reply):
latest = None
for r in releases.json():
releases = reply.readAll().data().decode('utf-8')
logging.debug(releases)
for r in json.loads(releases):
if not latest:
latest = r
else:
......@@ -346,4 +357,6 @@ class Application(QObject):
latest_version,
latest["html_url"])
logging.debug("Found version : {0}".format(latest_version))
return version
if version != self.available_version:
self.available_version = version
self.version_requested.emit()
\ No newline at end of file
......@@ -20,8 +20,12 @@ class HomeScreenWidget(QWidget, Ui_HomeScreenWidget):
"""
super().__init__()
self.setupUi(self)
self.app = app
self.refresh_text()
self.app.version_requested.connect(self.refresh_text)
latest = app.latest_version()
def refresh_text(self):
latest = self.app.available_version
version_info = ""
version_url = ""
if not latest[0]:
......
......@@ -12,7 +12,6 @@ from PyQt5.QtCore import QLocale
from cutecoin.gui.mainwindow import MainWindow
from cutecoin.core.app import Application
if __name__ == '__main__':
# activate ctrl-c interrupt
signal.signal(signal.SIGINT, signal.SIG_DFL)
......@@ -28,7 +27,6 @@ if __name__ == '__main__':
"res", "certs",
"DigiCertHighAssuranceEVRootCA.crt")
cutecoin = QApplication(sys.argv)
app = Application(sys.argv)
QLocale.setDefault(QLocale("en_GB"))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment