MCPcopy Create free account
hub / github.com/Syncplay/syncplay / checkForUpdate

Method checkForUpdate

syncplay/client.py:1156–1186  ·  view source on GitHub ↗
(self, userInitiated)

Source from the content-addressed store, hash-verified

1154 return self.controlpasswords[room]
1155
1156 def checkForUpdate(self, userInitiated):
1157 try:
1158 import urllib.request, urllib.parse, urllib.error, syncplay, sys, json, platform
1159 try:
1160 architecture = platform.architecture()[0]
1161 except:
1162 architecture = "Unknown"
1163 try:
1164 machine = platform.machine()
1165 except:
1166 machine = "Unknown"
1167 params = urllib.parse.urlencode({'version': syncplay.version, 'milestone': syncplay.milestone, 'release_number': syncplay.release_number, 'language': syncplay.messages.messages["CURRENT"], 'platform': sys.platform, 'architecture': architecture, 'machine': machine, 'userInitiated': userInitiated})
1168 if isMacOS():
1169 import requests
1170 response = requests.get(constants.SYNCPLAY_UPDATE_URL.format(params))
1171 response = response.text
1172 else:
1173 f = urllib.request.urlopen(constants.SYNCPLAY_UPDATE_URL.format(params))
1174 response = f.read()
1175 response = response.decode('utf-8')
1176 response = response.replace("<p>", "").replace("</p>", "").replace("<br />", "").replace("&#8220;", "\"").replace("&#8221;", "\"") # Fix Wordpress
1177 response = json.loads(response)
1178 publicServers = None
1179 if response["public-servers"]:
1180 publicServers = response["public-servers"].\
1181 replace("&#8221;", "'").replace(":&#8217;", "'").replace("&#8217;", "'").replace("&#8242;", "'").replace("\n", "").replace("\r", "")
1182 publicServers = ast.literal_eval(publicServers)
1183 return response["version-status"], response["version-message"] if "version-message" in response\
1184 else None, response["version-url"] if "version-url" in response else None, publicServers
1185 except Exception as e:
1186 return "failed", str(e)+"\n-----\n"+getMessage("update-check-failed-notification").format(syncplay.version), constants.SYNCPLAY_DOWNLOAD_URL, None
1187
1188 class _WarningManager(object):
1189 def __init__(self, player, userlist, ui, client):

Callers 1

checkForUpdatesMethod · 0.80

Calls 2

isMacOSFunction · 0.90
getMessageFunction · 0.90

Tested by

no test coverage detected