Beremiz_service.py
changeset 2294 da288f63612f
parent 2249 602fdd08dfab
child 2303 03ea6837a0b4
child 2349 645eb1bce0a5
equal deleted inserted replaced
2293:9c6b0109c43f 2294:da288f63612f
    39 from runtime import PLCObject, ServicePublisher, MainWorker
    39 from runtime import PLCObject, ServicePublisher, MainWorker
    40 from runtime.xenomai import TryPreloadXenomai
    40 from runtime.xenomai import TryPreloadXenomai
    41 import util.paths as paths
    41 import util.paths as paths
    42 
    42 
    43 
    43 
       
    44 def version():
       
    45     from version import app_version
       
    46     print("Beremiz_service: ", app_version)
       
    47 
       
    48 
    44 def usage():
    49 def usage():
       
    50     version()
    45     print("""
    51     print("""
    46 Usage of Beremiz PLC execution service :\n
    52 Usage of Beremiz PLC execution service :\n
    47 %s {[-n servicename] [-i IP] [-p port] [-x enabletaskbar] [-a autostart]|-h|--help} working_dir
    53 %s {[-n servicename] [-i IP] [-p port] [-x enabletaskbar] [-a autostart]|-h|--help} working_dir
    48   -n  zeroconf service name (default:disabled)
    54   -n  zeroconf service name (default:disabled)
    49   -i  IP address of interface to bind to (default:localhost)
    55   -i  IP address of interface to bind to (default:localhost)
    60            working_dir - directory where are stored PLC files
    66            working_dir - directory where are stored PLC files
    61 """ % sys.argv[0])
    67 """ % sys.argv[0])
    62 
    68 
    63 
    69 
    64 try:
    70 try:
    65     opts, argv = getopt.getopt(sys.argv[1:], "i:p:n:x:t:a:w:c:e:s:h")
    71     opts, argv = getopt.getopt(sys.argv[1:], "i:p:n:x:t:a:w:c:e:s:h", ["help", "version"])
    66 except getopt.GetoptError, err:
    72 except getopt.GetoptError, err:
    67     # print help information and exit:
    73     # print help information and exit:
    68     print(str(err))  # will print something like "option -a not recognized"
    74     print(str(err))  # will print something like "option -a not recognized"
    69     usage()
    75     usage()
    70     sys.exit(2)
    76     sys.exit(2)
    83 havetwisted = False
    89 havetwisted = False
    84 
    90 
    85 extensions = []
    91 extensions = []
    86 
    92 
    87 for o, a in opts:
    93 for o, a in opts:
    88     if o == "-h":
    94     if o == "-h" or o == "--help":
    89         usage()
    95         usage()
       
    96         sys.exit()
       
    97     if o == "--version":
       
    98         version()
    90         sys.exit()
    99         sys.exit()
    91     elif o == "-i":
   100     elif o == "-i":
    92         if len(a.split(".")) == 4 or a == "localhost":
   101         if len(a.split(".")) == 4 or a == "localhost":
    93             given_ip = a
   102             given_ip = a
    94         else:
   103         else:
   134 
   143 
   135 if __name__ == '__main__':
   144 if __name__ == '__main__':
   136     __builtin__.__dict__['_'] = lambda x: x
   145     __builtin__.__dict__['_'] = lambda x: x
   137     # TODO: add a cmdline parameter if Trying Preloading Xenomai makes problem
   146     # TODO: add a cmdline parameter if Trying Preloading Xenomai makes problem
   138     TryPreloadXenomai()
   147     TryPreloadXenomai()
       
   148     version()
   139 
   149 
   140 
   150 
   141 def Bpath(*args):
   151 def Bpath(*args):
   142     return os.path.join(beremiz_dir, *args)
   152     return os.path.join(beremiz_dir, *args)
   143 
   153