24 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
24 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
25 |
25 |
26 import socket |
26 import socket |
27 import wx |
27 import wx |
28 import wx.lib.mixins.listctrl as listmix |
28 import wx.lib.mixins.listctrl as listmix |
29 from util.Zeroconf import * |
29 from zeroconf import ServiceBrowser, Zeroconf |
30 |
30 |
31 import connectors |
31 import connectors |
32 |
32 |
33 service_type = '_PYRO._tcp.local.' |
33 service_type = '_PYRO._tcp.local.' |
34 |
34 |
205 self.URI = "%s://%s" % (connect_type, svcname + '.' + service_type) |
205 self.URI = "%s://%s" % (connect_type, svcname + '.' + service_type) |
206 |
206 |
207 def GetURI(self): |
207 def GetURI(self): |
208 return self.URI |
208 return self.URI |
209 |
209 |
210 def removeService(self, zeroconf, _type, name): |
210 def remove_service(self, zeroconf, _type, name): |
211 wx.CallAfter(self._removeService, name) |
211 wx.CallAfter(self._removeService, name) |
212 |
212 |
213 def _removeService(self, name): |
213 def _removeService(self, name): |
214 ''' |
214 ''' |
215 called when a service with the desired type goes offline. |
215 called when a service with the desired type goes offline. |
225 |
225 |
226 if item_name == name: |
226 if item_name == name: |
227 self.ServicesList.DeleteItem(idx) |
227 self.ServicesList.DeleteItem(idx) |
228 break |
228 break |
229 |
229 |
230 def addService(self, zeroconf, _type, name): |
230 def add_service(self, zeroconf, _type, name): |
231 wx.CallAfter(self._addService, _type, name) |
231 wx.CallAfter(self._addService, _type, name) |
232 |
232 |
233 def _addService(self, _type, name): |
233 def _addService(self, _type, name): |
234 ''' |
234 ''' |
235 called when a service with the desired type is discovered. |
235 called when a service with the desired type is discovered. |
236 ''' |
236 ''' |
237 info = self.ZeroConfInstance.getServiceInfo(_type, name) |
237 info = self.ZeroConfInstance.get_service_info(_type, name) |
238 |
|
239 svcname = name.split(".")[0] |
238 svcname = name.split(".")[0] |
240 typename = _type.split(".")[0][1:] |
239 typename = _type.split(".")[0][1:] |
241 ip = str(socket.inet_ntoa(info.getAddress())) |
240 ip = str(socket.inet_ntoa(info.address)) |
242 port = info.getPort() |
241 port = info.port |
243 |
242 |
244 num_items = self.ServicesList.GetItemCount() |
243 num_items = self.ServicesList.GetItemCount() |
245 |
244 |
246 # display the new data in the list |
245 # display the new data in the list |
247 new_item = self.ServicesList.InsertStringItem(num_items, svcname) |
246 new_item = self.ServicesList.InsertStringItem(num_items, svcname) |