syndesi 0.4.2__py3-none-any.whl → 0.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- syndesi/__init__.py +22 -2
- syndesi/adapters/adapter.py +332 -489
- syndesi/adapters/adapter_worker.py +820 -0
- syndesi/adapters/auto.py +58 -25
- syndesi/adapters/descriptors.py +38 -0
- syndesi/adapters/ip.py +203 -71
- syndesi/adapters/serialport.py +154 -25
- syndesi/adapters/stop_conditions.py +354 -0
- syndesi/adapters/timeout.py +58 -21
- syndesi/adapters/visa.py +236 -11
- syndesi/cli/console.py +51 -16
- syndesi/cli/shell.py +95 -47
- syndesi/cli/terminal_tools.py +8 -8
- syndesi/component.py +315 -0
- syndesi/protocols/delimited.py +92 -107
- syndesi/protocols/modbus.py +2368 -868
- syndesi/protocols/protocol.py +186 -33
- syndesi/protocols/raw.py +45 -62
- syndesi/protocols/scpi.py +65 -102
- syndesi/remote/remote.py +188 -0
- syndesi/scripts/syndesi.py +12 -2
- syndesi/tools/errors.py +49 -31
- syndesi/tools/log_settings.py +21 -8
- syndesi/tools/{log.py → logmanager.py} +24 -13
- syndesi/tools/types.py +9 -7
- syndesi/version.py +5 -1
- {syndesi-0.4.2.dist-info → syndesi-0.5.0.dist-info}/METADATA +1 -1
- syndesi-0.5.0.dist-info/RECORD +41 -0
- syndesi/adapters/backend/__init__.py +0 -0
- syndesi/adapters/backend/adapter_backend.py +0 -438
- syndesi/adapters/backend/adapter_manager.py +0 -48
- syndesi/adapters/backend/adapter_session.py +0 -346
- syndesi/adapters/backend/backend.py +0 -438
- syndesi/adapters/backend/backend_status.py +0 -0
- syndesi/adapters/backend/backend_tools.py +0 -66
- syndesi/adapters/backend/descriptors.py +0 -153
- syndesi/adapters/backend/ip_backend.py +0 -149
- syndesi/adapters/backend/serialport_backend.py +0 -241
- syndesi/adapters/backend/stop_condition_backend.py +0 -219
- syndesi/adapters/backend/timed_queue.py +0 -39
- syndesi/adapters/backend/timeout.py +0 -252
- syndesi/adapters/backend/visa_backend.py +0 -197
- syndesi/adapters/ip_server.py +0 -102
- syndesi/adapters/stop_condition.py +0 -90
- syndesi/cli/backend_console.py +0 -96
- syndesi/cli/backend_status.py +0 -274
- syndesi/cli/backend_wrapper.py +0 -61
- syndesi/scripts/syndesi_backend.py +0 -37
- syndesi/tools/backend_api.py +0 -175
- syndesi/tools/backend_logger.py +0 -64
- syndesi/tools/exceptions.py +0 -16
- syndesi/tools/internal.py +0 -0
- syndesi-0.4.2.dist-info/RECORD +0 -60
- {syndesi-0.4.2.dist-info → syndesi-0.5.0.dist-info}/WHEEL +0 -0
- {syndesi-0.4.2.dist-info → syndesi-0.5.0.dist-info}/entry_points.txt +0 -0
- {syndesi-0.4.2.dist-info → syndesi-0.5.0.dist-info}/licenses/LICENSE +0 -0
- {syndesi-0.4.2.dist-info → syndesi-0.5.0.dist-info}/top_level.txt +0 -0
syndesi/tools/backend_logger.py
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# File : backend_logger.py
|
|
2
|
-
# Author : Sébastien Deriaz
|
|
3
|
-
# License : GPL
|
|
4
|
-
#
|
|
5
|
-
# This class starts a thread to grab log records from the backend and emit them here
|
|
6
|
-
# in their respective loggers
|
|
7
|
-
|
|
8
|
-
import logging
|
|
9
|
-
import threading
|
|
10
|
-
from multiprocessing.connection import Client
|
|
11
|
-
from time import sleep
|
|
12
|
-
|
|
13
|
-
from syndesi.adapters.backend.backend_tools import NamedConnection
|
|
14
|
-
from syndesi.tools.errors import BackendCommunicationError
|
|
15
|
-
from syndesi.tools.log_settings import LoggerAlias
|
|
16
|
-
|
|
17
|
-
from .backend_api import BACKEND_PORT, Action, backend_request, default_host
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class BackendLogger(threading.Thread):
|
|
21
|
-
def __init__(self) -> None:
|
|
22
|
-
self._conn_description_lock = threading.Lock()
|
|
23
|
-
self.conn_description = ""
|
|
24
|
-
self._logger = logging.getLogger(LoggerAlias.BACKEND_LOGGER.value)
|
|
25
|
-
self._logger.setLevel(logging.DEBUG)
|
|
26
|
-
super().__init__(daemon=True)
|
|
27
|
-
|
|
28
|
-
def run(self) -> None:
|
|
29
|
-
conn = None
|
|
30
|
-
loggers: dict[str, logging.Logger] = {}
|
|
31
|
-
while True:
|
|
32
|
-
if conn is None:
|
|
33
|
-
try:
|
|
34
|
-
conn = NamedConnection(Client((default_host, BACKEND_PORT)))
|
|
35
|
-
except ConnectionRefusedError:
|
|
36
|
-
conn = None
|
|
37
|
-
sleep(0.1)
|
|
38
|
-
continue
|
|
39
|
-
else:
|
|
40
|
-
with self._conn_description_lock:
|
|
41
|
-
self.conn_description = conn.local()
|
|
42
|
-
self._logger.info("Backend connected")
|
|
43
|
-
|
|
44
|
-
try:
|
|
45
|
-
backend_request(conn.conn, Action.SET_ROLE_LOGGER)
|
|
46
|
-
except BackendCommunicationError:
|
|
47
|
-
conn.conn.close()
|
|
48
|
-
conn = None
|
|
49
|
-
sleep(0.1)
|
|
50
|
-
continue
|
|
51
|
-
|
|
52
|
-
else:
|
|
53
|
-
try:
|
|
54
|
-
record: logging.LogRecord = conn.conn.recv()
|
|
55
|
-
except (EOFError, OSError, Exception):
|
|
56
|
-
self._logger.info("Backend disconnected")
|
|
57
|
-
sleep(0.1)
|
|
58
|
-
conn.conn.close()
|
|
59
|
-
conn = None
|
|
60
|
-
else:
|
|
61
|
-
logger_name = record.name
|
|
62
|
-
if logger_name not in loggers:
|
|
63
|
-
loggers[logger_name] = logging.getLogger(logger_name)
|
|
64
|
-
loggers[logger_name].handle(record)
|
syndesi/tools/exceptions.py
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# File : exceptions
|
|
2
|
-
# Author : Sébastien Deriaz
|
|
3
|
-
# License : GPL
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class SyndesiException(Exception):
|
|
7
|
-
def __init__(self, *args: object) -> None:
|
|
8
|
-
"""
|
|
9
|
-
Syndesi base exception class
|
|
10
|
-
"""
|
|
11
|
-
super().__init__(*args)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class SyndesiTimeoutException(SyndesiException):
|
|
15
|
-
def __init__(self, *args: object) -> None:
|
|
16
|
-
super().__init__(*args)
|
syndesi/tools/internal.py
DELETED
|
File without changes
|
syndesi-0.4.2.dist-info/RECORD
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
syndesi/__init__.py,sha256=FjPBCp-hgUfpzbl9vvNVybvP3Ml8toibnew9kZH2cQw,360
|
|
2
|
-
syndesi/__main__.py,sha256=S9G9k0SHGJJ9qMdF_txtYryiPdEPTI10bgQ-M-rVITs,75
|
|
3
|
-
syndesi/version.py,sha256=N7YMxKDsV6J_qHl8WtOeRrGxjN8_l6QQ1AFeNkv0fRE,68
|
|
4
|
-
syndesi/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
syndesi/adapters/adapter.py,sha256=7f9vjz6zXj7F-TFS9N0sF7voPhNDXzIUmrlnIxfDQHY,21057
|
|
6
|
-
syndesi/adapters/auto.py,sha256=SSNlo_EpjWJIqjpSyYPOYBKowVsd1TlaS8_-nng-Bp4,1592
|
|
7
|
-
syndesi/adapters/ip.py,sha256=IGzp7h_yqyKjrIE9oDppof6cO7JYu3-sxHYT0vdXCyU,3393
|
|
8
|
-
syndesi/adapters/ip_server.py,sha256=8o0cPRxAjnzTvwTCADy6MaNCDc5Uk0NDMXo0sZXoYCY,3773
|
|
9
|
-
syndesi/adapters/serialport.py,sha256=GeMVfwqgpTL0mR0LfI--4M80EwSg4zvjj03FIGh-x9g,2362
|
|
10
|
-
syndesi/adapters/stop_condition.py,sha256=QRxCAj6soDdALWUBbzT1pjNVHnPPEWygKT5BXitgrWU,2164
|
|
11
|
-
syndesi/adapters/timeout.py,sha256=0uLZzLjVXddvq792o9SJ6v3QDQXM649_pISyEZJZ40A,2443
|
|
12
|
-
syndesi/adapters/visa.py,sha256=dbszb9qFaPc3iiFh8KQV2bQK-QrwTcCUA36yPip4dkU,1406
|
|
13
|
-
syndesi/adapters/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
syndesi/adapters/backend/adapter_backend.py,sha256=E69K25fHZtCWy201UQ1mLYQcyl99KJdNAspheY9r800,14321
|
|
15
|
-
syndesi/adapters/backend/adapter_manager.py,sha256=8t_4D3WGtkvdF5RdnFiBJASD3_xny5eBxP8ZQI5BmgM,1938
|
|
16
|
-
syndesi/adapters/backend/adapter_session.py,sha256=Bjm8Pc40lJo4KCiFi4S-HYI3bCpy4BI9h7T0vPmXALs,13999
|
|
17
|
-
syndesi/adapters/backend/backend.py,sha256=yoEYW9wnkii8b6TkiQNz_iRLjB8kdhzZG3Ky1dcycxI,15862
|
|
18
|
-
syndesi/adapters/backend/backend_status.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
-
syndesi/adapters/backend/backend_tools.py,sha256=cJKAdDh3cVCDGc1bQmKSuaR3kKWXiov8GU32RYCnJcg,1893
|
|
20
|
-
syndesi/adapters/backend/descriptors.py,sha256=xDkdvVx2t0unxvzGIu8zH02q2QSKb5LBrX4MqtEUfxU,4300
|
|
21
|
-
syndesi/adapters/backend/ip_backend.py,sha256=wiETW21eLOi-JlvZf3yw_SdBxCddV7H5ElMmuHYsjfk,5122
|
|
22
|
-
syndesi/adapters/backend/serialport_backend.py,sha256=DRGgAZtKVIpcy6-AF_36Jj_IbxsyokVRo8K2CZNY17k,8479
|
|
23
|
-
syndesi/adapters/backend/stop_condition_backend.py,sha256=nLOoEUEBep5ii8l2fKzVmc-xjLi06Eh9Pxkx9JPup3o,6988
|
|
24
|
-
syndesi/adapters/backend/timed_queue.py,sha256=CwE3PklJqwwwbjyVvdEXIHXAIMwQSGPeBX3O_Kk4wH8,1163
|
|
25
|
-
syndesi/adapters/backend/timeout.py,sha256=thWUajfgvasPLptf0n5TvWLEjp3F2k0s3EAbAICpdvU,10480
|
|
26
|
-
syndesi/adapters/backend/visa_backend.py,sha256=mI6LWurPRye1esiPekoQT_MNpsmEknQ_AF6GueC8910,6352
|
|
27
|
-
syndesi/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
syndesi/cli/backend_console.py,sha256=9INqGf2EtnuCxFYWZbNCJ3exrx6k04uCh6jno8sUQTw,2971
|
|
29
|
-
syndesi/cli/backend_status.py,sha256=12-tIUTXq1fSQ2wphSHXGZ9u0F5UvXpc0FhGaEAjR6A,11653
|
|
30
|
-
syndesi/cli/backend_wrapper.py,sha256=dbBZs0NaWh2OiV3eh_D6_njfkPj_vYGJsY_SSY7QaCI,1900
|
|
31
|
-
syndesi/cli/console.py,sha256=yiJiZH2r5sZzRERVVfMrWI1yNvrkM16pkrqpT2s8LOg,8149
|
|
32
|
-
syndesi/cli/shell.py,sha256=hZDNuO6TrarWhaCbLeyGiUCOhM2RTW9PUhSryCpRYRc,7147
|
|
33
|
-
syndesi/cli/shell_tools.py,sha256=wqa0d5yELV1my_NhcLw00OXmYP8vKlrlkPqjLF2dCNs,3335
|
|
34
|
-
syndesi/cli/terminal.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
syndesi/cli/terminal_apps.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
syndesi/cli/terminal_tools.py,sha256=VsqN-i7MM29Vo0gIUqFmgTyvMRBkcNuw6H3M4jJ4b4o,285
|
|
37
|
-
syndesi/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
syndesi/protocols/delimited.py,sha256=RIRjDs83cba8SrmlYPVqdiclYU1GLIjPMJXXTUh0c8M,6410
|
|
39
|
-
syndesi/protocols/modbus.py,sha256=BjVJKhLbHVpkwUwX2XvTkHchiwBdRU7nsUOYmBXOxfE,52980
|
|
40
|
-
syndesi/protocols/protocol.py,sha256=r4Hdc5UvR3oYsFW7NYiOYQBG-K0MPEJGHygK3jlp4pI,2263
|
|
41
|
-
syndesi/protocols/raw.py,sha256=CxepjGEYaUQBbZ2L1URdg9LeC7ImyIrD51gqwfQrn-A,2754
|
|
42
|
-
syndesi/protocols/scpi.py,sha256=DE1tWCVQ9rAAAfBv3MrxwSdG0TKJUjGLkOfVDU2zNLw,4798
|
|
43
|
-
syndesi/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
-
syndesi/scripts/syndesi.py,sha256=WYAmDh4WtXGiqyRcNebq8yt6sYnMHBbFMa5BPZC96mI,1371
|
|
45
|
-
syndesi/scripts/syndesi_backend.py,sha256=wrJt-_ciuKumOgbcNTcpNGQj7XN_toJ_Mp_IjdA5TZA,914
|
|
46
|
-
syndesi/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
-
syndesi/tools/backend_api.py,sha256=43T-4t1b2dMh-9Pz4mtYfW4IubRzh_qLFgqun4J8vqg,5325
|
|
48
|
-
syndesi/tools/backend_logger.py,sha256=aS15rWfQe4NWmAIvTp5Tf72MQoyWB4YeHA12lUKsjyE,2299
|
|
49
|
-
syndesi/tools/errors.py,sha256=qr-7pdymqHcjlnx3n_2M6-lZJnXQe35mJzv9WYf4Z-I,1202
|
|
50
|
-
syndesi/tools/exceptions.py,sha256=4zWJFMpNgVHMW91zFX-CafVhBFuP-P8h5tgvHlQMWw4,372
|
|
51
|
-
syndesi/tools/internal.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
-
syndesi/tools/log.py,sha256=Z2uv56bXFNyboyfRBBIcTgJ9XjAr6Xur8He3cFkC2CI,4414
|
|
53
|
-
syndesi/tools/log_settings.py,sha256=CEshxSpIZeVu1BUhy-l1Fel1PY_hxb5ywsYQs9UEUVQ,382
|
|
54
|
-
syndesi/tools/types.py,sha256=fkPMLGTr30NFGNRPqZ3AeTAHMiiFmbFlSLDJEzQo6P4,1403
|
|
55
|
-
syndesi-0.4.2.dist-info/licenses/LICENSE,sha256=7oldAMqsditrYeX4dzMFHpFZ-6AkyGi3bha2zeaJB0A,34492
|
|
56
|
-
syndesi-0.4.2.dist-info/METADATA,sha256=37FRINk27uZcPQxaL0w8yriwFLsW8eDISao92gNnsX0,2827
|
|
57
|
-
syndesi-0.4.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
58
|
-
syndesi-0.4.2.dist-info/entry_points.txt,sha256=1JbZYMX6PrakEg-6b_M_f58QJ1mGFJKJd7puoPQPyKM,112
|
|
59
|
-
syndesi-0.4.2.dist-info/top_level.txt,sha256=HrY36JU6hFYp_6qv-GuVBBtHYYemn8qhCrqpvXBd1Lg,8
|
|
60
|
-
syndesi-0.4.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|