#!/usr/bin/env python """circuits Signal Handling A modified version of the circuits Hello World example to demonstrate how to customize signal handling and cause a delayed system terminate. """ from __future__ import print_function from circuits import Component, Debugger, Event, Timer class hello(Event): """hello Event""" class App(Component): def hello(self): """Hello Event Handler""" print("Hello World!") def signal(self, event, signo, stack): Timer(3, Event.create("terminate")).register(self) print("Terminating in 3 seconds...") def terminate(self): self.stop() def started(self, component): """Started Event Handler This is fired internally when your application starts up and can be used to trigger events that only occur once during startup. """ self.fire(hello()) # Fire hello Event (App() + Debugger()).run()