diff --git a/.travis.yml b/.travis.yml index d8d38d9..199140f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,6 +32,7 @@ before_install: install: - pip3 install twisted appnope +- pip3 install -U https://github.com/requests/requests/zipball/master before_deploy: diff --git a/buildPy2app.py b/buildPy2app.py index f889c3d..74cb424 100755 --- a/buildPy2app.py +++ b/buildPy2app.py @@ -15,7 +15,7 @@ DATA_FILES = [ ] OPTIONS = { 'iconfile':'resources/icon.icns', - 'includes': {'PySide2.QtCore', 'PySide2.QtUiTools', 'PySide2.QtGui','PySide2.QtWidgets'}, + 'includes': {'PySide2.QtCore', 'PySide2.QtUiTools', 'PySide2.QtGui','PySide2.QtWidgets', 'certifi'}, 'excludes': {'PySide', 'PySide.QtCore', 'PySide.QtUiTools', 'PySide.QtGui'}, 'qt_plugins': ['platforms/libqcocoa.dylib', 'platforms/libqminimal.dylib','platforms/libqoffscreen.dylib'], 'plist': { diff --git a/buildPy2exe.py b/buildPy2exe.py index fe451d6..721a442 100755 --- a/buildPy2exe.py +++ b/buildPy2exe.py @@ -721,8 +721,8 @@ info = dict( options={'py2exe': { 'dist_dir': OUT_DIR, 'packages': 'PySide2.QtUiTools', - 'includes': 'twisted, sys, encodings, datetime, os, time, math, PySide2, liburl, ast, unicodedata', - 'excludes': 'venv, _ssl, doctest, pdb, unittest, win32clipboard, win32file, win32pdh, win32security, win32trace, win32ui, winxpgui, win32pipe, win32process, Tkinter', + 'includes': 'twisted, sys, encodings, datetime, os, time, math, PySide2, liburl, ast, unicodedata, _ssl', + 'excludes': 'venv, doctest, pdb, unittest, win32clipboard, win32file, win32pdh, win32security, win32trace, win32ui, winxpgui, win32pipe, win32process, Tkinter', 'dll_excludes': 'msvcr71.dll, MSVCP90.dll, POWRPROF.dll', 'optimize': 2, 'compressed': 1 diff --git a/syncplay/client.py b/syncplay/client.py index e56a5c1..1e7d965 100755 --- a/syncplay/client.py +++ b/syncplay/client.py @@ -11,7 +11,8 @@ from twisted.internet import reactor, task, defer, threads from functools import wraps from copy import deepcopy from syncplay.protocols import SyncClientProtocol -from syncplay import utils, constants +from syncplay import utils, constants, version +from syncplay.utils import isMacOS from syncplay.messages import getMissingStrings, getMessage from syncplay.constants import PRIVACY_SENDHASHED_MODE, PRIVACY_DONTSEND_MODE, \ PRIVACY_HIDDENFILENAME @@ -908,12 +909,15 @@ class SyncplayClient(object): def checkForUpdate(self, userInitiated): try: import urllib.request, urllib.parse, urllib.error, syncplay, sys, json - params = urllib.parse.urlencode({'version': syncplay.version, 'milestone': syncplay.milestone, 'release_number': syncplay.release_number, - 'language': syncplay.messages.messages["CURRENT"], 'platform': sys.platform, 'userInitiated': userInitiated}) - - f = urllib.request.urlopen(constants.SYNCPLAY_UPDATE_URL.format(params)) - response = f.read() - response = response.decode('utf-8') + params = urllib.parse.urlencode({'version': syncplay.version, 'milestone': syncplay.milestone, 'release_number': syncplay.release_number, 'language': syncplay.messages.messages["CURRENT"], 'platform': sys.platform, 'userInitiated': userInitiated}) + if isMacOS(): + import requests + response = requests.get(constants.SYNCPLAY_UPDATE_URL.format(params)) + response = response.text + else: + f = urllib.request.urlopen(constants.SYNCPLAY_UPDATE_URL.format(params)) + response = f.read() + response = response.decode('utf-8') response = response.replace("
","").replace("
","").replace("","").replace("
","").replace("