Subversion Repositories HomeAutomation

Rev

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

  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()