[kupfer: 10/41] main: Add argument kupfer --exec-helper=<helpername>



commit 0db977a2e6823a7b7ed0ab9b3777b72bc8994a44
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date:   Tue Apr 26 18:44:00 2011 +0200

    main: Add argument kupfer --exec-helper=<helpername>
    
    This allows running an (internal) module as a child of Kupfer.

 kupfer/main.py |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/kupfer/main.py b/kupfer/main.py
index 0c44c60..7045caf 100644
--- a/kupfer/main.py
+++ b/kupfer/main.py
@@ -44,6 +44,7 @@ def get_options():
 		("list-plugins", _("list available plugins")),
 		("debug", _("enable debug info")),
 		("relay", _("run keyboard shortcut relay service on this display")),
+		("exec-helper=", _("run plugin helper")),
 	]
 	misc_options = [
 		("help", _("show usage help")),
@@ -99,6 +100,9 @@ def get_options():
 		if k == "--relay":
 			keyrelay_main()
 			raise SystemExit
+		if k == "--exec-helper":
+			exec_helper(v)
+			raise SystemExit(1)
 
 	# return list first of tuple pair
 	return [tupl[0] for tupl in opts]
@@ -136,9 +140,13 @@ def _set_process_title():
 	else:
 		setproctitle.setproctitle("kupfer")
 
+def exec_helper(helpername):
+	import runpy
+	runpy.run_module(helpername, run_name='__main__', alter_sys=True)
+	raise SystemExit
+
 def keyrelay_main():
-	import kupfer.keyrelay
-	kupfer.keyrelay.main()
+	return exec_helper('kupfer.keyrelay')
 
 def gtkmain(quiet):
 	import pygtk



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]