/tests/core/signalapp.py

https://bitbucket.org/prologic/circuits/ · Python · 48 lines · 31 code · 16 blank · 1 comment · 5 complexity · 4b9c528890c9d36111cb1dc17cdf8988 MD5 · raw file

  1. #!/usr/bin/env python
  2. import os
  3. import sys
  4. try:
  5. from coverage import coverage
  6. HAS_COVERAGE = True
  7. except ImportError:
  8. HAS_COVERAGE = False
  9. from circuits import Component
  10. from circuits.app import Daemon
  11. class App(Component):
  12. def init(self, pidfile, signalfile):
  13. self.pidfile = pidfile
  14. self.signalfile = signalfile
  15. Daemon(self.pidfile).register(self)
  16. def signal(self, signal, stack):
  17. f = open(self.signalfile, "w")
  18. f.write(str(signal))
  19. f.close()
  20. self.stop()
  21. def main():
  22. if HAS_COVERAGE:
  23. _coverage = coverage(data_suffix=True)
  24. _coverage.start()
  25. pidfile = os.path.abspath(sys.argv[1])
  26. signalfile = os.path.abspath(sys.argv[2])
  27. App(pidfile, signalfile).run()
  28. if HAS_COVERAGE:
  29. _coverage.stop()
  30. _coverage.save()
  31. if __name__ == "__main__":
  32. main()