X-Git-Url: https://git.llucax.com/software/pymin.git/blobdiff_plain/3eefa8b40b56992b0c96cf085ef9a6059b7c7fc4..fd09c4a43a9c0155e5b418246ca7f72632eefd8a:/pymind diff --git a/pymind b/pymind index a04307d..c29dabb 100755 --- a/pymind +++ b/pymind @@ -1,8 +1,29 @@ #!/usr/bin/env python # vim: set encoding=utf-8 et sw=4 sts=4 : +import sys from pymin.pymindaemon import PyminDaemon +from pymin.dispatcher import Handler +from pymin.service import load_service, LoadError import config -PyminDaemon(config.Root(), config.bind_addr).run() +class Root(Handler): + pass + +def build_root(config): + # TODO check services dependencies + services = dict() + for service in config.services: + try: + s = load_service(service, config.services_dirs) + except LoadError, e: + sys.stderr.write("Can't find service called '%s'\n" % service) + sys.exit(1) + services[service] = s + root = Root() + for name, service in services.items(): + setattr(root, name, service.get_service(config)) + return root + +PyminDaemon(build_root(config), config.bind_addr).run()