diff -r 31d08063b5d6 -r 77e23bf04c33 discovery.py --- a/discovery.py Mon Sep 21 12:12:08 2009 +0200 +++ b/discovery.py Thu Sep 24 18:22:31 2009 +0200 @@ -21,10 +21,12 @@ #License along with this library; if not, write to the Free Software #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +import socket import wx +import wx.lib.mixins.listctrl as listmix from Zeroconf import * -import socket -import wx.lib.mixins.listctrl as listmix + +import connectors class AutoWidthListCtrl(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin): def __init__(self, parent, id, name, pos=wx.DefaultPosition, @@ -117,21 +119,26 @@ self.nextItemId = 0 self.URI = None - self.Browser = None + self.Browsers = [] self.ZeroConfInstance = Zeroconf() self.RefreshList() def __del__(self): - self.Browser.cancel() + for browser in self.Browsers: + browser.cancel() self.ZeroConfInstance.close() def RefreshList(self): - self.Browser = ServiceBrowser(self.ZeroConfInstance, "_PYRO._tcp.local.", self) + for browser in self.Browsers: + browser.cancel() + + self.Browsers = [] + for t in connectors.dnssd_connectors.keys(): + self.Browsers.append(ServiceBrowser(self.ZeroConfInstance, t, self)) def OnRefreshButton(self, event): self.ServicesList.DeleteAllItems() - self.Browser.cancel() self.RefreshList() def OnLocalButton(self, event):