# HG changeset patch # User Edouard Tisserant # Date 1422917130 -3600 # Node ID 04177743b066e1fec7c2d261c1c941cc3016ca0a # Parent e15ca67197b941983ceb679383b2b90987867a50 Added Beremiz_service.py command line switch to load python extention for runtime independently from PLC program diff -r e15ca67197b9 -r 04177743b066 Beremiz_service.py --- a/Beremiz_service.py Mon Feb 02 23:11:01 2015 +0100 +++ b/Beremiz_service.py Mon Feb 02 23:45:30 2015 +0100 @@ -36,12 +36,13 @@ -a - autostart PLC (0:disable 1:enable) (default:0) -x - enable/disable wxTaskbarIcon (0:disable 1:enable) (default:1) -t - enable/disable Twisted web interface (0:disable 1:enable) (default:1) + -e - python extension (absolute path .py) working_dir - directory where are stored PLC files """%sys.argv[0] try: - opts, argv = getopt.getopt(sys.argv[1:], "i:p:n:x:t:a:h") + opts, argv = getopt.getopt(sys.argv[1:], "i:p:n:x:t:a:e:h") except getopt.GetoptError, err: # print help information and exit: print str(err) # will print something like "option -a not recognized" @@ -58,6 +59,8 @@ enabletwisted = True havetwisted = False +extensions=[] + for o, a in opts: if o == "-h": usage() @@ -79,6 +82,8 @@ enabletwisted = int(a) elif o == "-a": autostart = int(a) + elif o == "-e": + extensions.append(a) else: usage() sys.exit() @@ -632,6 +637,12 @@ threading.Thread.__init__ = init installThreadExcepthook() +# Load extensions +for extfilename in extensions: + extension_folder = os.path.split(os.path.realpath(extfilename))[0] + sys.path.append(extension_folder) + execfile(extfilename, locals()) + if havetwisted or havewx: pyro_thread=Thread(target=pyroserver.Loop) pyro_thread.start()