diff options
Diffstat (limited to 'src/mmfwd/__main__.py')
-rw-r--r-- | src/mmfwd/__main__.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/mmfwd/__main__.py b/src/mmfwd/__main__.py new file mode 100644 index 0000000..427e512 --- /dev/null +++ b/src/mmfwd/__main__.py @@ -0,0 +1,30 @@ +import signal +import yaml +from gi.repository import GLib +from mmfwd import * + +CONFIG_FILENAME = "mmfwd.yaml" + +def handle_signal (loop): + '''Handle exit signals''' + loop.quit() + +# load config +try: + from yaml import CLoader as Loader, CDumper as Dumper +except ImportError: + from yaml import Loader, Dumper + +conf = yaml.load(open(CONFIG_FILENAME), Loader)["mmfwd"] +# instantiate the singleton objects +app = Application(conf) +main_loop = GLib.MainLoop() + +GLib.unix_signal_add( + GLib.PRIORITY_HIGH, signal.SIGINT, handle_signal, main_loop) +GLib.unix_signal_add( + GLib.PRIORITY_HIGH, signal.SIGTERM, handle_signal, main_loop) + + +# do the Glib loop +main_loop.run() |