Exemple #1
0
class MyListener(object):
    def __init__(self):
        self.r = Zeroconf()
        pass

    def removeService(self, zeroconf, type, name):
        print "Service", name, "removed"

    def addService(self, zeroconf, type, name):
        print "Service", name, "added"
        print "Type is", type
        info = self.r.getServiceInfo(type, name)
        print "Address is", str(socket.inet_ntoa(info.getAddress()))
        print "Port is", info.getPort()
        print "Weight is", info.getWeight()
        print "Priority is", info.getPriority()
        print "Server is", info.getServer()
        print "Text is", info.getText()
        print "Properties are", info.getProperties()
class StorageServerDiscovery(object):
    def __init__(self):
        self.r = Zeroconf()
        pass

    def removeService(self, zeroconf, type, name):
        for member in storageBackendNodes:
            if member.hostname == name:
                storageBackendNodes.remove(member)
                return
        print "\tService", name, "removed"

    def addService(self, zeroconf, type, name):
        for member in storageBackendNodes:
            if member.hostname == name:
                return # already exist
        info = self.r.getServiceInfo(type, name)
        node = Node(name, socket.inet_ntoa(info.getAddress()), info.getPort())
        storageBackendNodes.append(node)
        print "\tNode", name, "added"