removed zeroconf for now, may be added back later, closes #8

added avahi service configuration file
some small improvments
This commit is contained in:
Giovanni Harting
2015-09-02 00:29:14 +02:00
parent d1ac2d0171
commit 2602852e63
4 changed files with 20 additions and 36 deletions

15
ledd.service Normal file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<!-- Place this file in /etc/avahi/services/ for your clients to find the daemon -->
<service-group>
<name>LedD Daemon</name>
<service>
<type>_ledd._tcp</type>
<port>1425</port>
</service>
</service-group>

View File

@@ -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):
"""

View File

@@ -25,6 +25,6 @@ setup(name='LedD',
license='GPLv3',
packages=['ledd'],
install_requires=[
'nose', 'spectra', 'zeroconf',
'nose', 'spectra',
],
zip_safe=False)

View File

@@ -15,6 +15,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
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)