conson-xp 2.0.0__py3-none-any.whl → 2.0.1__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: conson-xp
3
- Version: 2.0.0
3
+ Version: 2.0.1
4
4
  Summary: XP Protocol Communication Tools
5
5
  Author-Email: ldvchosal <ldvchosal@github.com>
6
6
  License: MIT License
@@ -1,8 +1,8 @@
1
- conson_xp-2.0.0.dist-info/METADATA,sha256=tK46Z8_p-HD8WeGz-pDaZ93S9IxsuLrcSPS96yBBA2A,11319
2
- conson_xp-2.0.0.dist-info/WHEEL,sha256=tsUv_t7BDeJeRHaSrczbGeuK-TtDpGsWi_JfpzD255I,90
3
- conson_xp-2.0.0.dist-info/entry_points.txt,sha256=1OcdIcDM1hz3ljCXgybaPUh1IOFEwkaTgLIW9u9zGeg,50
4
- conson_xp-2.0.0.dist-info/licenses/LICENSE,sha256=rxj6woMM-r3YCyGq_UHFtbh7kHTAJgrccH6O-33IDE4,1419
5
- xp/__init__.py,sha256=kAoWCUKDiEEtQSn6qquI38IMu38W_n_3af1nhKORdzk,181
1
+ conson_xp-2.0.1.dist-info/METADATA,sha256=tjqY8FAUMgkHQOaEMyu0EPYq-T1JRLs5wD7Tqu2lBJA,11319
2
+ conson_xp-2.0.1.dist-info/WHEEL,sha256=tsUv_t7BDeJeRHaSrczbGeuK-TtDpGsWi_JfpzD255I,90
3
+ conson_xp-2.0.1.dist-info/entry_points.txt,sha256=1OcdIcDM1hz3ljCXgybaPUh1IOFEwkaTgLIW9u9zGeg,50
4
+ conson_xp-2.0.1.dist-info/licenses/LICENSE,sha256=rxj6woMM-r3YCyGq_UHFtbh7kHTAJgrccH6O-33IDE4,1419
5
+ xp/__init__.py,sha256=w2LWS-22VYMQH5ujXhsjjaQ9D1sDkzAfiiYv3VkLl9M,181
6
6
  xp/cli/__init__.py,sha256=QjnKB1KaI2aIyKlzrnvCwfbBuUj8HNgwNMvNJVQofbI,81
7
7
  xp/cli/__main__.py,sha256=l2iKwMdat5rTGd3JWs-uGksnYYDDffp_Npz05QdKEeU,117
8
8
  xp/cli/commands/__init__.py,sha256=9TGP3uTxAU-s-kVChvQ-Fn3-HVYj-QpeQ05Is-20HRo,4788
@@ -41,7 +41,7 @@ xp/cli/commands/telegram/telegram_version_commands.py,sha256=hAMjSAa7zfMNfNFln63
41
41
  xp/cli/commands/term/__init__.py,sha256=1NNST_8YJfj5LCujQISwQflK6LyEn7mDmZpMpvI9d-o,116
42
42
  xp/cli/commands/term/term.py,sha256=gjvsv2OE-F_KNWQrWi04fXQ5cGo0l8P-Ortbb5KTA-A,309
43
43
  xp/cli/commands/term/term_commands.py,sha256=pw-hEddLf89_NKft3JPsZALe-7vtvNeq9upubysqLX8,1799
44
- xp/cli/main.py,sha256=wr8jCGqgAvre0KFz4wZUWV0IpKa25cs2yLYAAcMoOIw,1906
44
+ xp/cli/main.py,sha256=eyy-Y-3AE9w-LwEDY9oBr9qh25g7EogjBre3dLjr7po,2491
45
45
  xp/cli/utils/__init__.py,sha256=gTGIj60Uai0iE7sr9_TtEpl04fD7krtTzbbigXUsUVU,46
46
46
  xp/cli/utils/click_tree.py,sha256=sr4l9RWTCnASkdvkJKnRRxWSQPlF1DbFdBNu9gL7Ekc,1693
47
47
  xp/cli/utils/datapoint_type_choice.py,sha256=fGgwZAmY_jwBt4fc1LQfyqhvf-TBOUgL3ph9idIDvAI,1680
@@ -62,7 +62,7 @@ xp/models/conbus/__init__.py,sha256=VIusMWQdBtlwDgj7oSj06wQkklihTp4oWFShvP_JUgA,
62
62
  xp/models/conbus/conbus.py,sha256=-otqoa_dCDpgEdeAdV66AnSSaXbfPfyHrmV3zpvxGSA,2717
63
63
  xp/models/conbus/conbus_autoreport.py,sha256=oTgOstjl_PDASL2n4fXVT1vvcX2nPzve_cBDtwq-wHA,2303
64
64
  xp/models/conbus/conbus_blink.py,sha256=DKupiA0-7fh_Dx3DRuKEkS6cEyqM7tq_eMXqKG7Awl4,2925
65
- xp/models/conbus/conbus_client_config.py,sha256=HL5yDUkINWK56tr2KQhnnNGqBKQ_Y7jrRMpqxqhv06Y,1504
65
+ xp/models/conbus/conbus_client_config.py,sha256=o23wJju72kk72gVkgtAGT5XhJbBgoKw4pI5AicKxyR0,1632
66
66
  xp/models/conbus/conbus_connection_status.py,sha256=bpIZSGGM47MIDxHxO26bMvDHT1W83rxmcyWgJbmL1lM,1111
67
67
  xp/models/conbus/conbus_custom.py,sha256=AoVMT-JYej_zIdZcZC251Ww0JNmAtQobCif2H5kUf00,1979
68
68
  xp/models/conbus/conbus_datapoint.py,sha256=4vxQxT8FMKZK7VTyJjXbIe7PlqJcO2iz04gjkn2BwSM,3410
@@ -143,7 +143,7 @@ xp/services/conbus/write_config_service.py,sha256=BCfmLNPRDpwSwRMRYJvx2FXA8IZsdg
143
143
  xp/services/log_file_service.py,sha256=y775InPlpG8Z_uitHt7yrgRG-3vlIuCfdJjiZzPc_MA,10578
144
144
  xp/services/module_type_service.py,sha256=ga4WO7dmJEaDKrXPmrJ-72n4UaEZonead23lHBkFN1E,7505
145
145
  xp/services/protocol/__init__.py,sha256=o5adyCwOrqSf4ADUStor44TFUerYx6QmxGpq4Q0dhSo,631
146
- xp/services/protocol/conbus_event_protocol.py,sha256=5BmvhZCqDuXekhbTuuOvz1dke6fqsZIJsaWYF8s-mGU,19653
146
+ xp/services/protocol/conbus_event_protocol.py,sha256=ZSejBycY9igqNdiiejkEAoiUWKsVkOgEWMUYp2uMAsk,19681
147
147
  xp/services/reverse_proxy_service.py,sha256=Xuxo2ajjmTXLg5yd6gRGKHpFPX4-6kpOUg10doZB8vw,15161
148
148
  xp/services/server/__init__.py,sha256=QEcCj-jK0goAukJCe15TKYFQfSAzWsduPT_wW0HxZU8,48
149
149
  xp/services/server/base_server_service.py,sha256=Yu4sTOtp3a1yc3O3J7J-51i9FdFqG-VWBv9aNf0j-9k,12845
@@ -191,4 +191,4 @@ xp/utils/logging.py,sha256=wJ1d-yg97NiZUrt2F8iDMcmnHVwC-PErcI-7dpyiRDc,3777
191
191
  xp/utils/serialization.py,sha256=TS1OwpTOemSvXsCGw3js4JkYYFEqkzrPe8V9QYQefdw,4684
192
192
  xp/utils/state_machine.py,sha256=W9AY4ntRZnFeHAa5d43hm37j53uJPlqkRvWTPiBhJ_0,2464
193
193
  xp/utils/time_utils.py,sha256=K17godWpL18VEypbTlvNOEDG6R3huYnf29yjkcnwRpU,3796
194
- conson_xp-2.0.0.dist-info/RECORD,,
194
+ conson_xp-2.0.1.dist-info/RECORD,,
xp/__init__.py CHANGED
@@ -4,7 +4,7 @@ XP CLI tool for remote console bus operations.
4
4
  conson-xp package.
5
5
  """
6
6
 
7
- __version__ = "2.0.0"
7
+ __version__ = "2.0.1"
8
8
  __manufacturer__ = "salchichon"
9
9
  __model__ = "xp.cli"
10
10
  __serial__ = "2025.09.23.000"
xp/cli/main.py CHANGED
@@ -24,17 +24,36 @@ from xp.utils.logging import LoggerService
24
24
  cls=HelpColorsGroup, help_headers_color="yellow", help_options_color="green"
25
25
  )
26
26
  @click.version_option()
27
+ @click.option(
28
+ "--cli-config",
29
+ "-c",
30
+ default="cli.yml",
31
+ help="Path to the CLI configuration file (default: cli.yml)",
32
+ type=click.Path(exists=False),
33
+ )
34
+ @click.option(
35
+ "--log-config",
36
+ "-l",
37
+ default="logger.yml",
38
+ help="Path to the logger configuration file (default: logger.yml)",
39
+ type=click.Path(exists=False),
40
+ )
27
41
  @click.pass_context
28
- def cli(ctx: click.Context) -> None:
42
+ def cli(ctx: click.Context, cli_config: str, log_config: str) -> None:
29
43
  """
30
44
  XP CLI tool for remote console bus operations.
31
45
 
32
46
  Args:
33
47
  ctx: Click context object for passing state between commands.
48
+ cli_config: Path to the CLI configuration file.
49
+ log_config: Path to the logger configuration file.
34
50
  """
35
- container = ServiceContainer()
36
- logger_config = container.get_container().resolve(LoggerService)
37
- logger_config.setup()
51
+ container = ServiceContainer(
52
+ client_config_path=cli_config,
53
+ logger_config_path=log_config,
54
+ )
55
+ logger_service = container.get_container().resolve(LoggerService)
56
+ logger_service.setup()
38
57
 
39
58
  # Initialize the service container and store it in the context
40
59
  ctx.ensure_object(dict)
@@ -15,11 +15,13 @@ class ClientConfig(BaseModel):
15
15
  ip: IP address of the Conbus server.
16
16
  port: Port number for the connection.
17
17
  timeout: Connection timeout in seconds.
18
+ queue_delay_max: Max delay between queued telegrams in centiseconds (default 40 = 0.40s).
18
19
  """
19
20
 
20
21
  ip: str = "192.168.1.100"
21
22
  port: int = 10001
22
23
  timeout: float = 0.1
24
+ queue_delay_max: int = 40
23
25
 
24
26
 
25
27
  class ConbusClientConfig(BaseModel):
@@ -513,7 +513,7 @@ class ConbusEventProtocol(protocol.Protocol, protocol.ClientFactory):
513
513
  self.logger.debug("Queue manager: event loop")
514
514
  telegram = self.telegram_queue.get_nowait()
515
515
  self.sendFrame(telegram)
516
- later = randint(10, 80) / 100
516
+ later = randint(5, self.cli_config.queue_delay_max) / 100
517
517
  self.call_later(later, self.process_telegram_queue)
518
518
 
519
519
  def set_event_loop(self, event_loop: asyncio.AbstractEventLoop) -> None: