Subversion Repositories HomeAutomation

Rev

Rev 856 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

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