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