diff frontends/src/jp/base.py @ 1884:0fe69871b71f

jp: moved KeyboardInterrupt catch one level higher, so it is also catched if the loop is not started
author Goffi <goffi@goffi.org>
date Sat, 05 Mar 2016 18:00:56 +0100
parents df1ca137b0cb
children 01d56efd488b
line wrap: on
line diff
--- a/frontends/src/jp/base.py	Sat Mar 05 18:00:12 2016 +0100
+++ b/frontends/src/jp/base.py	Sat Mar 05 18:00:56 2016 +0100
@@ -249,16 +249,16 @@
 
     def run(self, args=None):
         self.args = self.parser.parse_args(args)
-        self.args.func()
-        if self._need_loop or self._auto_loop:
-            self._start_loop()
+        try:
+            self.args.func()
+            if self._need_loop or self._auto_loop:
+                self._start_loop()
+        except KeyboardInterrupt:
+            log.info(_("User interruption: good bye"))
 
     def _start_loop(self):
         self.loop = GLib.MainLoop()
-        try:
-            self.loop.run()
-        except KeyboardInterrupt:
-            log.info(_("User interruption: good bye"))
+        self.loop.run()
 
     def stop_loop(self):
         try: