diff --git a/ledd.service b/ledd.service new file mode 100644 index 0000000..a6ba1e6 --- /dev/null +++ b/ledd.service @@ -0,0 +1,15 @@ + + + + + + + +LedD Daemon + + + _ledd._tcp + 1425 + + + diff --git a/ledd/daemon.py b/ledd/daemon.py index 9bccf19..5e33a09 100644 --- a/ledd/daemon.py +++ b/ledd/daemon.py @@ -23,9 +23,7 @@ import sys import traceback import time import asyncio - import spectra -from zeroconf import Zeroconf, ServiceInfo from ledd import controller, VERSION from ledd.decorators import ledd_protocol @@ -57,10 +55,6 @@ class Daemon: except FileNotFoundError: log.info("No config file found!") - # create zeroconf service info - self.zinfo = ServiceInfo("_ledd._tcp.local.", "LedD Daemon._ledd._tcp.local.", - port=self.config.get(self.daemonSection, 'port', fallback=1425)) - # SQL init self.sqldb = sqlite3.connect(self.config.get(self.databaseSection, 'name', fallback='ledd.sqlite')) self.sqldb.row_factory = sqlite3.Row @@ -75,9 +69,6 @@ class Daemon: log.debug(self.controllers) logging.getLogger("asyncio").setLevel(logging.DEBUG) - # announce server to network - self.register_zeroconf() - # main loop self.loop = asyncio.get_event_loop() coro = self.loop.create_server(LedDProtocol, @@ -87,7 +78,6 @@ class Daemon: self.loop.run_forever() except (KeyboardInterrupt, SystemExit): log.info("Exiting") - self.deregister_zeroconf() self.sqldb.close() self.server.close() self.loop.run_until_complete(self.server.wait_closed()) @@ -127,24 +117,6 @@ class Daemon: c.close() self.check_db() - def register_zeroconf(self): - try: - zeroconf = Zeroconf() - zeroconf.register_service(self.zinfo) - log.info("Registered ledd daemon with zeroconf") - except OSError as e: - log.warning("Failed to register service with ZeroConf: %s", e) - pass - - def deregister_zeroconf(self): - try: - zeroconf = Zeroconf() - zeroconf.unregister_service(self.zinfo) - log.info("Unregistered ledd daemon with zeroconf") - except OSError as e: - log.warning("Failed to deregister service with ZeroConf: %s", e) - pass - @ledd_protocol(protocol) def start_effect(self, req_json): """ diff --git a/setup.py b/setup.py index 5690e1b..e89ed7d 100644 --- a/setup.py +++ b/setup.py @@ -25,6 +25,6 @@ setup(name='LedD', license='GPLv3', packages=['ledd'], install_requires=[ - 'nose', 'spectra', 'zeroconf', + 'nose', 'spectra', ], zip_safe=False) diff --git a/start.py b/start.py index eec3164..cc16563 100644 --- a/start.py +++ b/start.py @@ -15,6 +15,9 @@ # along with this program. If not, see . import logging +import ledd.daemon +import sys +import os from pkgutil import iter_modules @@ -41,15 +44,9 @@ if "smbus" not in (name for loader, name, ispkg in iter_modules()): SMBus = SMBus - import sys - sys.modules['smbus'] = SMBusModule sys.modules['smbus'].SMBus = SMBus -import ledd.daemon -import sys -import os - if __name__ == "__main__": logging.basicConfig(level=logging.DEBUG, format="[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d] %(message)s", @@ -71,4 +68,4 @@ if __name__ == "__main__": else: sys.exit() except OSError as e: - log.fatal("Forking failed: %s", os.strerror(int(str(e)))) + log.fatal("Start failed: %s", e)