MCPcopy Create free account
hub / github.com/LabPy/lantz / main_generic

Function main_generic

lantz/simulators/instrument.py:156–187  ·  view source on GitHub ↗
(args, instrument, instrument_args=(), instrument_kwargs=None)

Source from the content-addressed store, hash-verified

154
155
156def main_generic(args, instrument, instrument_args=(), instrument_kwargs=None):
157 import argparse
158 parser = argparse.ArgumentParser()
159
160 parser.add_argument('connection', choices=['serial', 'tcp'])
161 args, pending = parser.parse_known_args(args)
162
163 if args.connection == 'serial':
164 subparser = argparse.ArgumentParser()
165 subparser.add_argument('-p', '--port', type=str, default='1',
166 help='Serial port')
167 func = main_serial
168
169 else:
170 subparser = argparse.ArgumentParser()
171 subparser.add_argument('-H', '--host', type=str, default='localhost',
172 help='TCP hostname')
173 subparser.add_argument('-p', '--port', type=int, default=5678,
174 help='TCP port')
175 func = main_tcp
176
177 args2 = subparser.parse_args(pending)
178
179 server = func(instrument(*instrument_args, **(instrument_kwargs or {})), args2)
180
181 logging.info('interrupt the program with Ctrl-C')
182 try:
183 server.serve_forever()
184 except KeyboardInterrupt:
185 logging.info('Ending')
186 finally:
187 server.shutdown()

Callers 2

mainFunction · 0.85
mainFunction · 0.85

Calls 3

serve_foreverMethod · 0.80
shutdownMethod · 0.80
funcFunction · 0.50

Tested by

no test coverage detected