From 7b1c66d6f6072de8f2448c606fe5053a63ada6c2 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Tue, 29 Apr 2025 15:26:58 +0200 Subject: [PATCH] allow to select database (central or local) when starting --- feeder.py | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/feeder.py b/feeder.py index 39b3d93..c5a8935 100644 --- a/feeder.py +++ b/feeder.py @@ -7,10 +7,22 @@ from seinflux import SEHistory from servicemanager import FrappyManager -def main(): +USAGE = """ +Usage: + start server + + python feeder.py [] + + add a SECoP connection: + + python feeder.py + uri [device] [instrument] +""" + + +def main(dbname=None): # egen = EventStream(ScanReply(), ScanStream(), n=NicosStream('localhost:14002')) egen = EventStream(ScanReply(), ScanStream()) - db = SEHistory(access='write') + db = SEHistory(dbname, access='write') db.enable_write_access() fm = FrappyManager() @@ -23,8 +35,9 @@ def main(): port = fm.info.get(ins, {}).get(service, {}) if port: uri = f'{host}:{port}' - print('CREATE', uri, cfginfo.get((ins, service))) + print('CREATE', uri, ins, cfginfo.get((ins, service))) TrySecopConnect(uri) + db.set_instrument(uri, ins) event_map = {'value': db.add_float, 'error': db.add_error, 'stream': db.add_stream} @@ -39,7 +52,12 @@ def main(): db.disconnect() -if len(sys.argv) > 1: - send_fake_udp(*sys.argv[1:]) +if len(sys.argv) == 2: + main(sys.argv[1]) +elif len(sys.argv) > 2: + if sys.argv[1] == '+': + send_fake_udp(*sys.argv[2:]) + else: + print(USAGE) else: main()