Initial Configuration Push

This commit is contained in:
CCOSTAN
2016-10-11 16:42:06 +00:00
parent b83eeadfcb
commit 5127bc2109
2145 changed files with 298464 additions and 0 deletions

40
deps/netdisco/mdns.py vendored Normal file
View File

@@ -0,0 +1,40 @@
"""Add support for discovering mDNS services."""
import zeroconf
class MDNS(object):
"""Base class to discover mDNS services."""
def __init__(self):
"""Initialize the discovery."""
self.zeroconf = None
self.services = []
self._browsers = []
def register_service(self, service):
"""Register a mDNS service."""
self.services.append(service)
def start(self):
"""Start discovery."""
self.zeroconf = zeroconf.Zeroconf()
for service in self.services:
self._browsers.append(
zeroconf.ServiceBrowser(self.zeroconf, service.typ, service))
def stop(self):
"""Stop discovering."""
while self._browsers:
self._browsers.pop().cancel()
for service in self.services:
service.reset()
self.zeroconf.close()
self.zeroconf = None
@property
def entries(self):
"""Return all entries in the cache."""
return self.zeroconf.cache.entries()