]> git.llucax.com Git - software/pymin.git/blob - pymind
Use a nice name for exit status.
[software/pymin.git] / pymind
1 #!/usr/bin/env python
2 # vim: set encoding=utf-8 et sw=4 sts=4 :
3
4 import sys
5 from pymin.pymindaemon import PyminDaemon
6 from pymin.dispatcher import Handler
7 from pymin.service import load_service, LoadError
8 import config
9
10 # exit status
11 EXIT_NO_SERVICE = 1
12
13 class Root(Handler):
14     pass
15
16 def build_root(config):
17     # TODO check services dependencies
18     services = dict()
19     for service in config.services:
20         try:
21             s = load_service(service, config.services_dirs)
22         except LoadError, e:
23             sys.stderr.write("Can't find service called '%s'\n" % service)
24             sys.exit(EXIT_NO_SERVICE)
25         services[service] = s
26     root = Root()
27     for name, service in services.items():
28         setattr(root, name, service.get_service(config))
29     return root
30
31 PyminDaemon(build_root(config), config.bind_addr).run()
32