Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
856 migan 1
#!/usr/bin/env python
2
 
3
import Settings
4
import BackendCan
5
import ServiceManager
6
import ControllerManager
7
import Daemon
8
import os
9
import sys
10
import signal, os
11
 
12
def handler(signum, frame):
13
    print 'Signal handler called with signal', signum
14
 
15
signal.signal(signal.SIGTERM, handler)
16
signal.signal(signal.SIGHUP, handler)
17
 
18
 
19
def main():
20
    try:
21
        print "Atom service framework started"
22
        print "=============================="
23
        print "Written by Mattias Runge 2008"
24
        print ""
25
 
26
        Settings.LoadSettings()
27
 
28
        if Settings.Settings.has_key("DAEMON") and Settings.Settings["DAEMON"].upper() == "YES":
29
            print "Entering daemon mode"
30
 
31
            retCode = Daemon.createDaemon()
32
 
33
            print "Entered daemon mode"
34
            print ""
35
            print "Atom service framework started"
36
            print "=============================="
37
            print "Written by Mattias Runge 2008"
38
            print ""
39
        else:
40
            print "Not entering daemon mode"
41
 
42
 
43
        ServiceManager.GetServiceManager()
44
        backendCan = BackendCan.GetBackendCan()
45
 
46
        controlMan = ControllerManager.GetControllerManager()
47
        controlMan.StartConfiguredControllers()
48
 
49
        backendCan.join()
50
 
51
    except (KeyboardInterrupt, SystemExit):
52
        print "User abort detected, stopping program"
53
        sys.exit()
54
 
55
 
56
if __name__ == "__main__":
57
    main()