diff options
Diffstat (limited to 'plugin.video.embycon/resources/lib/server_detect.py')
-rw-r--r-- | plugin.video.embycon/resources/lib/server_detect.py | 123 |
1 files changed, 63 insertions, 60 deletions
diff --git a/plugin.video.embycon/resources/lib/server_detect.py b/plugin.video.embycon/resources/lib/server_detect.py index 392a9df..a3fbf23 100644 --- a/plugin.video.embycon/resources/lib/server_detect.py +++ b/plugin.video.embycon/resources/lib/server_detect.py @@ -35,8 +35,8 @@ def getServerDetails(): sock.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_LOOP, 1) sock.setsockopt(socket.IPPROTO_IP, socket.SO_REUSEADDR, 1) - log.debug("MutliGroup : " + str(MULTI_GROUP)) - log.debug("Sending UDP Data : " + MESSAGE) + log.debug("MutliGroup: {0}", MULTI_GROUP) + log.debug("Sending UDP Data: {0}", MESSAGE) sock.sendto(MESSAGE, MULTI_GROUP) servers = [] @@ -46,10 +46,10 @@ def getServerDetails(): data, addr = sock.recvfrom(1024) # buffer size servers.append(json.loads(data)) except Exception as e: - log.error("Read UPD responce: %s" % e) + log.error("Read UPD responce: {0}", e) # break - log.debug("Found Servers: %s" % servers) + log.debug("Found Servers: {0}", servers) return servers @@ -83,14 +83,14 @@ def checkServer(force=False, change_user=False, notify=False): return serverUrl = serverInfo[return_index]["Address"] - log.debug("Selected server: " + serverUrl) + log.debug("Selected server: {0}", serverUrl) # parse the url url_bits = urlparse(serverUrl) server_address = url_bits.hostname server_port = str(url_bits.port) server_protocol = url_bits.scheme - log.debug("Detected server info " + server_protocol + " - " + server_address + " - " + server_port) + log.debug("Detected server info {0} - {1} - {2}", server_protocol, server_address, server_port) # save the server info settings.setSetting("port", server_port) @@ -107,6 +107,7 @@ def checkServer(force=False, change_user=False, notify=False): # we need to change the user current_username = settings.getSetting("username") + current_username = unicode(current_username, "utf-8") # if asked or we have no current user then show user selection screen if change_user or len(current_username) == 0: @@ -114,69 +115,71 @@ def checkServer(force=False, change_user=False, notify=False): log.debug("Getting user list") jsonData = downloadUtils.downloadUrl(serverUrl + "/emby/Users/Public?format=json", authenticate=False) - log.debug("jsonData : " + str(jsonData)) + log.debug("jsonData: {0}", jsonData) result = json.loads(jsonData) if result is None: - result = [] - - names = [] - user_list = [] - secured = [] - for user in result: - config = user.get("Configuration") - if (config != None): - if (config.get("IsHidden") is None) or (config.get("IsHidden") is False): - name = user.get("Name") - user_list.append(name) - if (user.get("HasPassword") is True): - secured.append(True) - name = i18n('username_secured') % name - else: - secured.append(False) - names.append(name) - - if (len(current_username) > 0) and (not any(n == current_username for n in user_list)): - names.insert(0, i18n('username_userdefined') % current_username) - user_list.insert(0, current_username) + xbmcgui.Dialog().ok(i18n('error'), + i18n('unable_connect_server'), + i18n('address:') + serverUrl) + else: + names = [] + user_list = [] + secured = [] + for user in result: + config = user.get("Configuration") + if (config != None): + if (config.get("IsHidden") is None) or (config.get("IsHidden") is False): + name = user.get("Name") + user_list.append(name) + if (user.get("HasPassword") is True): + secured.append(True) + name = i18n('username_secured') % name + else: + secured.append(False) + names.append(name) + + if (len(current_username) > 0) and (not any(n == current_username for n in user_list)): + names.insert(0, i18n('username_userdefined') % current_username) + user_list.insert(0, current_username) + secured.insert(0, True) + + names.insert(0, i18n('username_userinput')) + user_list.insert(0, '') secured.insert(0, True) + log.debug("User List: {0}", names) + log.debug("User List: {0}", user_list) - names.insert(0, i18n('username_userinput')) - user_list.insert(0, '') - secured.insert(0, True) - log.debug("User List : " + str(names)) - log.debug("User List : " + str(user_list)) - - return_value = xbmcgui.Dialog().select(i18n('select_user'), names) - - if (return_value > -1): - log.debug("Selected User Index : " + str(return_value)) - if return_value == 0: - kb = xbmc.Keyboard() - kb.setHeading(i18n('username:')) - kb.doModal() - if kb.isConfirmed(): - selected_user = kb.getText() - else: - selected_user = None - else: - selected_user = user_list[return_value] + return_value = xbmcgui.Dialog().select(i18n('select_user'), names) - log.debug("Selected User Name : " + str(selected_user)) - - if selected_user: - # we have a user so save it - log.debug("Saving Username : " + selected_user) - settings.setSetting("username", selected_user) - if secured[return_value] is True: + if (return_value > -1): + log.debug("Selected User Index: {0}", return_value) + if return_value == 0: kb = xbmc.Keyboard() - kb.setHeading(i18n('password:')) - kb.setHiddenInput(True) + kb.setHeading(i18n('username:')) kb.doModal() if kb.isConfirmed(): - log.debug("Saving Password for Username : " + selected_user) - settings.setSetting('password', kb.getText()) + selected_user = kb.getText() + else: + selected_user = None else: - settings.setSetting('password', '') + selected_user = user_list[return_value] + + log.debug("Selected User Name: {0}", selected_user) + + if selected_user: + # we have a user so save it + log.debug("Saving Username: {0}", selected_user) + settings.setSetting("username", selected_user) + if secured[return_value] is True: + kb = xbmc.Keyboard() + kb.setHeading(i18n('password:')) + kb.setHiddenInput(True) + kb.doModal() + if kb.isConfirmed(): + log.debug("Saving Password for Username: {0}", selected_user) + settings.setSetting('password', kb.getText()) + else: + settings.setSetting('password', '') home_window = HomeWindow() home_window.clearProperty("userid") |