summaryrefslogtreecommitdiff
path: root/plugin.video.embycon/resources/lib/server_detect.py
diff options
context:
space:
mode:
Diffstat (limited to 'plugin.video.embycon/resources/lib/server_detect.py')
-rw-r--r--plugin.video.embycon/resources/lib/server_detect.py123
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")