From 1d81fc6fcd5dc1c390b8bc47fa31f964b65d51c7 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Tue, 19 Sep 2023 10:54:14 +0200 Subject: [PATCH] frappy_psi.sea: small fixes - changes in return value of frappy_config command in sea - do not store sea manager Change-Id: I5bc1d9a281ad2285b90d3649b4c702a3501d451d Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32166 Tested-by: Jenkins Automated Tests Reviewed-by: Markus Zolliker --- frappy_psi/sea.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/frappy_psi/sea.py b/frappy_psi/sea.py index 9906505..78479ec 100644 --- a/frappy_psi/sea.py +++ b/frappy_psi/sea.py @@ -108,7 +108,6 @@ class SeaClient(ProxyClient, Module): visibility = 'expert' default_json_file = {} _connect_thread = None - _service_manager = None _instance = None _last_connect = 0 @@ -162,15 +161,11 @@ class SeaClient(ProxyClient, Module): self.syncio = None self._last_connect = time.time() if self._instance: - if not self._service_manager: - if self._service_manager is None: - try: - from servicemanager import SeaManager # pylint: disable=import-outside-toplevel - self._service_manager = SeaManager() - except ImportError: - self._service_manager = False - if self._service_manager: - self._service_manager.do_start(self._instance) + try: + from servicemanager import SeaManager # pylint: disable=import-outside-toplevel + SeaManager().do_start(self._instance) + except ImportError: + pass if '//' not in self.uri: self.uri = 'tcp://' + self.uri self.asynio = AsynConn(self.uri) @@ -185,7 +180,7 @@ class SeaClient(ProxyClient, Module): else: raise CommunicationFailedError('reply %r should be "Login OK"' % reply) result = self.request('frappy_config %s %s' % (self.service, self.config)) - if result not in {'0', '1'}: + if result.startswith('ERROR:'): raise CommunicationFailedError(f'reply from frappy_config: {result}') # frappy_async_client switches to the json protocol (better for updates) self.asynio.writeline(b'frappy_async_client')