summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/msd/msd_upnp.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/msd/msd_upnp.py b/src/msd/msd_upnp.py
index 63bafc2..8aeed69 100644
--- a/src/msd/msd_upnp.py
+++ b/src/msd/msd_upnp.py
@@ -67,13 +67,16 @@ class State(object):
return (folderName, image)
- def __init_servers(self):
- for i in self.__manager.GetServers():
+ def __on_get_servers_reply (self, servers):
+ for path in servers:
try:
- self.__servers[i] = State.__create_server_tuple(i)
- except dbus.exceptions.DBusException:
+ self.__servers[path] = State.__create_server_tuple(path)
+ except Exception:
pass
+ def __on_get_servers_error (self, error):
+ print "Manager.GetServers() failed: %s" % error
+
def found_server(self, path):
if not path in self.__servers:
try:
@@ -100,7 +103,8 @@ class State(object):
self.__manager.connect_to_signal("FoundServer", self.found_server)
self.__manager.connect_to_signal("LostServer", self.lost_server)
- self.__init_servers()
+ self.__manager.GetServers(reply_handler=self.__on_get_servers_reply,
+ error_handler=self.__on_get_servers_error)
def set_lost_server_cb(self, callback):
self.__lost_server_cb = callback