holado 0.9.3__py3-none-any.whl → 0.10.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.

Potentially problematic release.


This version of holado might be problematic. Click here for more details.

Files changed (48) hide show
  1. holado/__init__.py +24 -6
  2. holado/common/context/session_context.py +5 -4
  3. holado/holado_config.py +4 -1
  4. {holado-0.9.3.dist-info → holado-0.10.1.dist-info}/METADATA +1 -1
  5. {holado-0.9.3.dist-info → holado-0.10.1.dist-info}/RECORD +48 -47
  6. holado_ais/ais/ais_messages.py +33 -3
  7. holado_ais/tests/behave/steps/ais/ais_messages_steps.py +23 -3
  8. holado_core/common/tools/path_manager.py +6 -3
  9. holado_docker/tools/docker_controller/server/rest/run.py +5 -2
  10. holado_docker/tools/docker_viewer/server/rest/run.py +5 -2
  11. holado_logging/common/logging/log_manager.py +71 -29
  12. holado_multitask/multithreading/context/thread_context.py +3 -1
  13. holado_python/standard_library/queue.py +1 -1
  14. holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +16 -16
  15. holado_python/standard_library/ssl/resources/certificates/tcpbin.key +26 -26
  16. holado_scripting/__init__.py +2 -1
  17. holado_scripting/common/tools/variable_manager.py +42 -9
  18. holado_test/common/context/feature_context.py +3 -1
  19. holado_test/common/context/scenario_context.py +3 -1
  20. holado_test/test_server/server/rest/run.py +2 -1
  21. test_holado/environment.py +3 -1
  22. test_holado/features/NonReg/holado_ais/ais_message-bitarray_to_nmea.feature +1 -1
  23. test_holado/features/NonReg/holado_ais/ais_message-nmea_raw_to_dict.feature +93 -0
  24. test_holado/features/NonReg/holado_ais/message_types/type-10.feature +1 -1
  25. test_holado/features/NonReg/holado_ais/message_types/type-12.feature +1 -1
  26. test_holado/features/NonReg/holado_ais/message_types/type-14.feature +1 -1
  27. test_holado/features/NonReg/holado_ais/message_types/type-15.feature +1 -1
  28. test_holado/features/NonReg/holado_ais/message_types/type-16.feature +1 -1
  29. test_holado/features/NonReg/holado_ais/message_types/type-17.feature +1 -1
  30. test_holado/features/NonReg/holado_ais/message_types/type-18.feature +1 -1
  31. test_holado/features/NonReg/holado_ais/message_types/type-19.feature +1 -1
  32. test_holado/features/NonReg/holado_ais/message_types/type-1_2_3.feature +1 -1
  33. test_holado/features/NonReg/holado_ais/message_types/type-20.feature +1 -1
  34. test_holado/features/NonReg/holado_ais/message_types/type-21.feature +1 -1
  35. test_holado/features/NonReg/holado_ais/message_types/type-22.feature +2 -2
  36. test_holado/features/NonReg/holado_ais/message_types/type-23.feature +1 -1
  37. test_holado/features/NonReg/holado_ais/message_types/type-24.feature +2 -2
  38. test_holado/features/NonReg/holado_ais/message_types/type-25.feature +4 -4
  39. test_holado/features/NonReg/holado_ais/message_types/type-26.feature +4 -4
  40. test_holado/features/NonReg/holado_ais/message_types/type-27.feature +1 -1
  41. test_holado/features/NonReg/holado_ais/message_types/type-4_11.feature +1 -1
  42. test_holado/features/NonReg/holado_ais/message_types/type-5.feature +1 -1
  43. test_holado/features/NonReg/holado_ais/message_types/type-6.feature +1 -1
  44. test_holado/features/NonReg/holado_ais/message_types/type-7_13.feature +1 -1
  45. test_holado/features/NonReg/holado_ais/message_types/type-8.feature +1 -1
  46. test_holado/features/NonReg/holado_ais/message_types/type-9.feature +1 -1
  47. {holado-0.9.3.dist-info → holado-0.10.1.dist-info}/WHEEL +0 -0
  48. {holado-0.9.3.dist-info → holado-0.10.1.dist-info}/licenses/LICENSE +0 -0
holado/__init__.py CHANGED
@@ -82,8 +82,8 @@ def initialize_minimal():
82
82
  garbage_collector_periodicity=None)
83
83
 
84
84
  def initialize(TSessionContext=None, use_holado_logger=True, logging_config_file_path=None,
85
- log_level=None, log_time_in_utc=None, log_on_console=False, log_in_file=True, session_kwargs=None,
86
- garbage_collector_periodicity=default_value):
85
+ log_level=None, log_time_in_utc=None, log_on_console=False, log_in_file=True,
86
+ config_kwargs=None, session_kwargs=None, garbage_collector_periodicity=default_value):
87
87
  global __initialized
88
88
  if __initialized:
89
89
  from holado_core.common.exceptions.technical_exception import TechnicalException
@@ -113,10 +113,16 @@ def initialize(TSessionContext=None, use_holado_logger=True, logging_config_file
113
113
  if Tools.do_log(logger, logging.DEBUG):
114
114
  logger.debug("Configured logging")
115
115
 
116
+ # Import modules
116
117
  if Tools.do_log(logger, logging.DEBUG):
117
118
  logger.debug("Importing HolAdo modules")
118
119
  _import_modules(get_holado_module_names())
119
120
 
121
+ # Update config with given kwargs
122
+ # Note: it is made after modules import to enable override modules specific config parameters
123
+ _update_config(config_kwargs)
124
+
125
+ # Initialize session context
120
126
  _initialize_session_context(session_kwargs)
121
127
 
122
128
  # Initialize garbage collector
@@ -133,17 +139,29 @@ def initialize(TSessionContext=None, use_holado_logger=True, logging_config_file
133
139
  __initialized = True
134
140
 
135
141
  def initialize_for_script(TSessionContext=None, use_holado_logger=True, logging_config_file_path=None,
136
- log_level=logging.WARNING, log_on_console=True, log_in_file=False, session_kwargs=None,
137
- garbage_collector_periodicity=None):
142
+ log_level=logging.WARNING, log_time_in_utc=None, log_on_console=True, log_in_file=False,
143
+ config_kwargs=None, session_kwargs=None, garbage_collector_periodicity=None):
138
144
  if session_kwargs is None:
139
145
  session_kwargs={'with_session_path':log_in_file, 'raise_if_not_exist':False}
140
146
 
141
147
  initialize(TSessionContext=TSessionContext, use_holado_logger=use_holado_logger, logging_config_file_path=logging_config_file_path,
142
- log_level=log_level, log_on_console=log_on_console, log_in_file=log_in_file,
143
- session_kwargs=session_kwargs,
148
+ log_level=log_level, log_time_in_utc=log_time_in_utc, log_on_console=log_on_console, log_in_file=log_in_file,
149
+ config_kwargs=config_kwargs, session_kwargs=session_kwargs,
144
150
  garbage_collector_periodicity=garbage_collector_periodicity )
145
151
 
152
+
153
+ def _update_config(config_kwargs):
154
+ from holado.holado_config import Config
146
155
 
156
+ if config_kwargs is not None:
157
+ for name, value in config_kwargs.items():
158
+ if hasattr(Config, name):
159
+ setattr(Config, name, value)
160
+ else:
161
+ from holado_core.common.exceptions.technical_exception import TechnicalException
162
+ from holado_python.standard_library.typing import Typing
163
+ raise TechnicalException(f"Parameter '{name}' is not configurable, it doesn't exist. Available configurable parameters: {Typing.get_object_attributes(Config)}")
164
+
147
165
  def _initialize_session_context(session_kwargs=None):
148
166
  from holado_core.common.tools.tools import Tools
149
167
 
@@ -295,15 +295,16 @@ class SessionContext(Context):
295
295
  scenario_context = ScenarioContext(scenario)
296
296
  self.get_feature_context().add_scenario(scenario_context)
297
297
 
298
- # Set variable with scenario context instance
299
- self.get_scenario_context().get_variable_manager().register_variable("SCENARIO_CONTEXT", self.get_scenario_context())
300
-
301
- # Report
298
+ # Report: create scenario report
302
299
  try:
303
300
  self.report_manager.before_scenario(scenario_context, scenario)
304
301
  except:
305
302
  logger.exception(f"{log_prefix}Error while updating report before scenario")
306
303
 
304
+ # Set variable with scenario context instance
305
+ # Note: must be after scenario report creation
306
+ self.get_scenario_context().get_variable_manager().register_variable("SCENARIO_CONTEXT", self.get_scenario_context())
307
+
307
308
  # Behave context
308
309
  try:
309
310
  self.behave_manager.before_scenario()
holado/holado_config.py CHANGED
@@ -15,7 +15,10 @@ import logging
15
15
 
16
16
  class Config(object):
17
17
  """HolAdo project configuration"""
18
-
18
+
19
+ # Application properties
20
+ application_group = None
21
+
19
22
  # Timeouts
20
23
  session_timeout_seconds = 7 * 24 * 3600 # Session timeout is by default to 7 days
21
24
  timeout_seconds = 240 # Default timeout
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: holado
3
- Version: 0.9.3
3
+ Version: 0.10.1
4
4
  Summary: HolAdo framework
5
5
  Project-URL: Homepage, https://gitlab.com/holado_framework/python
6
6
  Project-URL: Issues, https://gitlab.com/holado_framework/python/-/issues
@@ -1,10 +1,10 @@
1
- holado/__init__.py,sha256=VUOUKhp-7JRRdYwwXGhuAK0IxqWCDxjPSo6j_Y4vfvA,16011
2
- holado/holado_config.py,sha256=dZADu2J87H0mtCBFURZVebLGihn_JNSAsNQtH9vq_e8,2479
1
+ holado/__init__.py,sha256=dQKHAMF-TxtzuUtXxEVzLCcZfVvcKFY00CYrW0d1Fbg,16979
2
+ holado/holado_config.py,sha256=auz-mOLCkz9JVlx3xx5XL-fZt2kAs1NjZnHU9LOG5qw,2546
3
3
  holado/common/__init__.py,sha256=ZjXM-FRQgnfzRNXqcvJOGewDHVRR-U5-ugStSs8U2Xs,1525
4
4
  holado/common/context/__init__.py,sha256=3jJBLm8myrYF9jbdV1EhIA6BtnlmjX33eeoDpTzwmLA,1604
5
5
  holado/common/context/context.py,sha256=MV8A6JSpUcTcfia_QzjyDLybQC50rZ-NA0ffotnHXQY,11994
6
6
  holado/common/context/service_manager.py,sha256=LaCn8ukE1aqJynmwoexAYj5hCkdb_F3hXRtUBGqorUE,14087
7
- holado/common/context/session_context.py,sha256=dw4ozOn3o7EZwyfa_luMXLis5BO1z2HpmP91-GFKZLc,23391
7
+ holado/common/context/session_context.py,sha256=TOT2_CqeqQtvuGBfVnuY1cbj8PGhyLPv0mlPJD0e6V0,23474
8
8
  holado/common/handlers/__init__.py,sha256=d0KDUpaAAw1eBXyX08gaRh4RECnJlXjYQ0TcU-Ndicc,1372
9
9
  holado/common/handlers/enums.py,sha256=ieqKVoukEiNyfE3KrKmMOImdbFS1ocUMud8JHe2xNLs,1662
10
10
  holado/common/handlers/object.py,sha256=rDaav8zHTYfKVEaLtEdeXMxYXATGVcs2a7um1f5MvCs,7205
@@ -14,14 +14,14 @@ holado/common/tools/gc_manager.py,sha256=TjQg7MisGRhxuiQ22hB3IuqNhnWCVEWpU253-rO
14
14
  holado_ais/__init__.py,sha256=Mudcgu_7p1hBDBs6LpSz757H4haB0yLHgT70sznG82c,1807
15
15
  holado_ais/ais/MaritimeIdentificationDigits.csv,sha256=r-uHt4wOvxlbA26af9e-N3BKbuiMf6ia3PN0ZGfYk2A,8547
16
16
  holado_ais/ais/ais_manager.py,sha256=QvN94JoUBbSXT08HABl2FNsAVOM-YCmQO5tN9COg6Rc,6496
17
- holado_ais/ais/ais_messages.py,sha256=-kAQCgHwNZpmtMqx4LsGBGuxQTJfj80fUB9U5xxiHNs,15991
17
+ holado_ais/ais/ais_messages.py,sha256=J-GZJAY2RZpSS3OwzQJc6B_HsmdtRXLAcbfaP9APbUA,17414
18
18
  holado_ais/ais/ais_payload.py,sha256=mdOa_4JIbkFLK4_KUmQF5jUt1nLxvZhmIcqK8i-YY6w,1791
19
19
  holado_ais/ais/enums.py,sha256=bsqfJVg65fWiJwL_VlSKwKgTY0pLoDcI4T06aEOcQnw,1108
20
20
  holado_ais/ais/patch_pyais.py,sha256=M4Fa8GZubXx4auRsk5I1yQPC40IR1p-1iVZIc4PXFfk,49850
21
21
  holado_ais/tests/behave/steps/__init__.py,sha256=cM4YsjHIq0Tb9mTTJjvDojzhLwov6mc2RyjZz8XLVA8,1321
22
22
  holado_ais/tests/behave/steps/ais/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  holado_ais/tests/behave/steps/ais/ais_manager_steps.py,sha256=nRtJUEyAzAqgm0UWwRUFAyOzhDxzRZKTGsEYU1DwE-Q,2170
24
- holado_ais/tests/behave/steps/ais/ais_messages_steps.py,sha256=jqRupZyEc5jn_jwvAQJqVb-0cUTx77VBIGNGUvgt_sA,10471
24
+ holado_ais/tests/behave/steps/ais/ais_messages_steps.py,sha256=XMBpCqtyRBQJ2ODRxRN-tVcWr7O72c2o0Yy-0Sd5phE,11741
25
25
  holado_binary/__init__.py,sha256=Gl285tg-QaPE-3etWwZql9sH26G7EnVoQn97B0NMvOI,1248
26
26
  holado_binary/ipc/binary.py,sha256=QYwK7jK4dzXRKprHMxnTxFljMy1LZDSXjMJ406yEOHk,5520
27
27
  holado_binary/ipc/bit_series.py,sha256=PNuW_OXGV8yeRrMHxMPImR75np52KpcDOfXXdDKObWw,15508
@@ -126,7 +126,7 @@ holado_core/common/tables/comparators/table_with_header_comparator.py,sha256=j7B
126
126
  holado_core/common/tables/converters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
127
  holado_core/common/tables/converters/table_converter.py,sha256=PD7NJoxtejpr4aS1l3YKcXW1aEn1xBxdi4Ljs5G7R4g,10251
128
128
  holado_core/common/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- holado_core/common/tools/path_manager.py,sha256=vwf07C51H03RoZ-w3xLZQgKbC9XuOZlKm5zslXGhK_I,10743
129
+ holado_core/common/tools/path_manager.py,sha256=27kLsvS2PfbZufG6P7T_-7N9Dh4dY3wgSZUwjM6ta_A,10876
130
130
  holado_core/common/tools/string_tools.py,sha256=bQuMlI_yS7OoSPFL7qyfyXkrnjC8xHVpIsfmEC6JxhI,5590
131
131
  holado_core/common/tools/tools.py,sha256=zkDz7u8S_02bfyN6K-p7-Ey_SkDxzu9DJljnczY0OAo,9683
132
132
  holado_core/common/tools/comparators/comparator.py,sha256=K4LcXIRORHX5vkmDibI6P6Bu1L-6Xezb63ZzzOMKrWY,6812
@@ -205,7 +205,7 @@ holado_docker/tools/docker_controller/server/grpc/proto/definitions/docker_contr
205
205
  holado_docker/tools/docker_controller/server/rest/README,sha256=-uqu3drdPXkPkU4ha1IKcXGBHFIBEWH-uiTT74DExwE,167
206
206
  holado_docker/tools/docker_controller/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
207
207
  holado_docker/tools/docker_controller/server/rest/openapi.yaml,sha256=8mhJdAYi-wftxdStsD6el0j1Zo8zqx1MzwqZndyKhMY,6864
208
- holado_docker/tools/docker_controller/server/rest/run.py,sha256=8w5Xl7uOnjsYW59cmuUMOUd71fcXQn30k2jVis7cVNs,1748
208
+ holado_docker/tools/docker_controller/server/rest/run.py,sha256=4bEcRbobax-b8MugINb852Tdg6r-nQlfa8_bfil8xDE,2011
209
209
  holado_docker/tools/docker_controller/server/rest/api/__init__.py,sha256=FlLRagAiw1LDxnF0CmW7Y6bVXuj8x6volT8-DuHTTVY,2427
210
210
  holado_docker/tools/docker_controller/server/rest/api/config.py,sha256=Ln__1bsigSzJZ-Iy3MQgmiZMnpBxC3TCQE0O72g5cAs,2459
211
211
  holado_docker/tools/docker_controller/server/rest/api/container.py,sha256=6D612WF4chpDCzr4MBzZXzELxi-yOwrgxCxSBBVMcVo,2673
@@ -218,7 +218,7 @@ holado_docker/tools/docker_viewer/server/run_docker_viewer_in_docker.sh,sha256=q
218
218
  holado_docker/tools/docker_viewer/server/rest/README,sha256=1FMg-U_D9pUMBVmZJsirOXHFLTciDL5jB-Yqzp9U6uM,163
219
219
  holado_docker/tools/docker_viewer/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
220
220
  holado_docker/tools/docker_viewer/server/rest/openapi.yaml,sha256=ZBjVs7Ld1VCdTBk7FgZXEvUACtn6aDdv8cHDE669YZc,1715
221
- holado_docker/tools/docker_viewer/server/rest/run.py,sha256=8w5Xl7uOnjsYW59cmuUMOUd71fcXQn30k2jVis7cVNs,1748
221
+ holado_docker/tools/docker_viewer/server/rest/run.py,sha256=jgJgmFFdppadLBahWU8Yw8-PdA5HJzBTDCPTPHGRzbA,2007
222
222
  holado_docker/tools/docker_viewer/server/rest/api/__init__.py,sha256=FlLRagAiw1LDxnF0CmW7Y6bVXuj8x6volT8-DuHTTVY,2427
223
223
  holado_examples/projects/server_rest/server_rest_example/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
224
224
  holado_examples/projects/server_rest/server_rest_example/rest_server.py,sha256=xMLHBwGBdBvT0DYOpGBuvnSXNjEu3cvU9ty_h187QW4,1887
@@ -302,7 +302,7 @@ holado_keycloak/tools/keycloak/keycloak_client.py,sha256=QXAsf9rF0pKq1dHhXeZFZOx
302
302
  holado_logging/__init__.py,sha256=erlTOOiI7SVryt3P6X3F2cEvdXflD85su8faAsTMN1Y,2259
303
303
  holado_logging/common/logging/holado_logger.py,sha256=FB5J_YbG41FGljAywMdCPVFJ2BdpMBS8AWPsT9B52S8,3160
304
304
  holado_logging/common/logging/log_config.py,sha256=u6Ax3S1TdBAzeUD3DAcw5WXPYEJeiQie7T_x_K6ZKeo,7049
305
- holado_logging/common/logging/log_manager.py,sha256=gq92IAfnKEX-GKUHexNVgEI0UUrUdiWaC5GLcSTAaUE,13604
305
+ holado_logging/common/logging/log_manager.py,sha256=5dHaqtZlcB78YE8Xk_7KiSd_-toOQFLVIEWBNoMseKI,15477
306
306
  holado_multitask/__init__.py,sha256=EwuwiBmp8ICbPZ8CKPju8tHRTh2rG68PB_wGXczY9rw,2143
307
307
  holado_multitask/multiprocessing/function_process.py,sha256=HFXjpnzWed5J1tjmWMQyRx8AGcY6D1laegHqZ5j1dco,4550
308
308
  holado_multitask/multiprocessing/periodic_function_process.py,sha256=ubbdm2XSwjBGuDDXWX2b-lo_Abkivh4Blj9C8axsa4o,6779
@@ -318,7 +318,7 @@ holado_multitask/multithreading/periodicfunctionthreaded.py,sha256=PCBKpbOIThNGL
318
318
  holado_multitask/multithreading/thread.py,sha256=dKgw1301nTv-8g7y29ecza9ZB5nhbAKCYs1p4KdmLUQ,9376
319
319
  holado_multitask/multithreading/threadsmanager.py,sha256=5a-kV8t0-lwL6a9vCLL3_Oi-i67epcqOWWBz6vIJFEU,8462
320
320
  holado_multitask/multithreading/timer.py,sha256=77tI9WITN2CpQoY82SUYinoGzfx_stpqf2fRLUI1Itk,2638
321
- holado_multitask/multithreading/context/thread_context.py,sha256=pGcySQnqx92NIaVT64Ra3gIV7BpgBFfEy3N8PYTCOlI,3570
321
+ holado_multitask/multithreading/context/thread_context.py,sha256=EWn8zqQZgLlnNhgMsBLULUke3J1VFLtdMR-Jukpvfiw,3773
322
322
  holado_multitask/multithreading/reflection/inspect.py,sha256=yntSXI6YEZDBfqoDnB0KS6HGxs__qTQFwF6FLUDZqCI,2137
323
323
  holado_multitask/multithreading/reflection/sys.py,sha256=1Q7hX9nddjqUvfn-k39SuPQhwLjXJmB9gegV6vNM534,1558
324
324
  holado_multitask/multithreading/reflection/traceback.py,sha256=Bnq-Xp0aA3D4kYtb7JJyXNASw3iU35WRSePredxWziQ,1891
@@ -351,7 +351,7 @@ holado_python/common/tools/comparators/type_comparator.py,sha256=EePE-LrqUeICEQP
351
351
  holado_python/standard_library/csv.py,sha256=G98oLsgovghpiQf4k06bUlXVvLy_D5H9qTK8e68UdcM,8937
352
352
  holado_python/standard_library/hashlib.py,sha256=5hMcHxc4BR4G0uNRqezTonflH_AFSLQum37Kqv1rRSU,4179
353
353
  holado_python/standard_library/multiprocessing.py,sha256=vThmJzdDTtdFyGUL3i3evmt2JBUK-jrorKbEtQ7TSFU,2786
354
- holado_python/standard_library/queue.py,sha256=RIFid85_CMFmanpt61LSaYqeHdlFwAuhcpBhxgyWj_o,3059
354
+ holado_python/standard_library/queue.py,sha256=1iSXGfM4VVYZ9T9nPGholGAxxzku6MmxrTkStofxr0E,3058
355
355
  holado_python/standard_library/typing.py,sha256=8F9Iolh-c9GbDGlNr3V6uPdTEhSBdkLQu46oVwHPYKk,7693
356
356
  holado_python/standard_library/socket/blocking_socket.py,sha256=d7LnOoHY8k6WW4Zzy54AITw4-QDxaXTfXtWUCBBWfI8,10366
357
357
  holado_python/standard_library/socket/echo_server.py,sha256=ntApbwcckiEEBw-qjE487An81i4IEVFRPkoFbUrcCL4,1793
@@ -363,8 +363,8 @@ holado_python/standard_library/ssl/resources/certificates/NOTES.txt,sha256=GlPGG
363
363
  holado_python/standard_library/ssl/resources/certificates/localhost.crt,sha256=iLmZpDuOQVawUlbZkb72g2-uv1c4SAmRJOrm4Th5anY,1123
364
364
  holado_python/standard_library/ssl/resources/certificates/localhost.key,sha256=lP2NCvB9mr2E5sk8whA8FyQRcyU6H7sdWkJeKz80Hyc,1704
365
365
  holado_python/standard_library/ssl/resources/certificates/rootCACert.pem,sha256=ECQDZ8OHRfqpZHCu6JRLMUjiONaPIhKZQF0-kidVrWQ,1424
366
- holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=fNTwFb1YbCrDS6217atgX9wMP7xEAo3-POIVaWC_00A,1237
367
- holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=puwUXC55YMr8AmXA77WiqYElt-JDYfhDKP8l6iELjd4,1704
366
+ holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=vD18qCn_hEkCOhFCiTudZnPaQ4huFMZVpA0PMChJv4c,1237
367
+ holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=eQ2wHYKJkQfKHVDYA49pvtRIZvxuKonUHx54-05YXV4,1704
368
368
  holado_python/tests/behave/steps/__init__.py,sha256=TWEk-kBTTDHi9I4nuu48nufmNMdZ9FHAhPZv0A_cWzc,1661
369
369
  holado_python/tests/behave/steps/convert_steps.py,sha256=bZqRvJVp_u6fSPpdu4ne9NwVyZmui7R-AVdO2-H-I1A,2728
370
370
  holado_python/tests/behave/steps/iterable_steps.py,sha256=f4vGIWBH8Qnjq69Q-ZBluYyctQ8SKauazTc41dsktZA,4041
@@ -428,11 +428,11 @@ holado_s3/tools/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
428
428
  holado_s3/tools/s3/boto3_s3_client.py,sha256=NaYTvyxqiUZ5UshpLONSLLDEBHQU_etDlXDOqGNxR-w,2360
429
429
  holado_s3/tools/s3/minio_client.py,sha256=B_Ie2fNIqyJE5vXO4iQw3Tg5yk8k-yGBuJtaf4aDQyU,3193
430
430
  holado_s3/tools/s3/moto_server.py,sha256=zft4KgYIFbJot0JyQJCAwEcbGDJIKinqOUIKRuSrSHE,2493
431
- holado_scripting/__init__.py,sha256=wsTcscy-q0EoQq2Hmf1KbEejIez2UUfLp3TdQHMVWlc,3744
431
+ holado_scripting/__init__.py,sha256=1VICcEckplGOYwcPJ6U0TbghWigTOEtcWuYL6z_U14Y,3908
432
432
  holado_scripting/common/tools/dynamic_text_manager.py,sha256=dR9DGVj4nb_icFlnLB3jRQu8DDwTuC3tX46BDyi9xec,3332
433
433
  holado_scripting/common/tools/evaluate_parameters.py,sha256=zru4_vwqIx_KxWVG_luOcmr-0ywjmY7aaEN4TCvCjb4,10405
434
434
  holado_scripting/common/tools/expression_evaluator.py,sha256=pig2dNisHTuRnLh7vR6ciwn0o8rnDvVOQKT44iF0QB4,24309
435
- holado_scripting/common/tools/variable_manager.py,sha256=VGJH_OYPduTCSA_CLMpZUiC_nqAJJtGWZ2mwPEGzpW8,15672
435
+ holado_scripting/common/tools/variable_manager.py,sha256=oFJ8vNMdqA2NO_vAOpUNWetE1i3_2-_jynNJC7Dw_Q0,17611
436
436
  holado_scripting/tests/behave/steps/__init__.py,sha256=GSug7OdldGvwbSuJOuLQVIZ8qU4bsfdvTY6VzSnMbTE,1544
437
437
  holado_scripting/tests/behave/steps/common/tools/variable_convert_steps.py,sha256=sPxZ1U1Wm9LBUjwEKvxE2nfz6cRatlXUZCGIK-QPpi0,7902
438
438
  holado_scripting/tests/behave/steps/common/tools/variable_new_steps.py,sha256=0VqwuzKdD_ZiUxzqF5vPoTbrTIhiPOpWEXK8qljqmQA,6153
@@ -496,8 +496,8 @@ holado_test/behave/behave_manager.py,sha256=TEAfPgBQQONFn_l0s7gm7gDgWU0EejvuaPuF
496
496
  holado_test/behave/independant_runner.py,sha256=QR_IS-qkK_x2FTryb2gRQrqyBU3YUgKqsaIL2xwXPNQ,3189
497
497
  holado_test/behave/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
498
498
  holado_test/behave/scenario/behave_step_tools.py,sha256=apMS8nvdY-vbXsUIw1mVR4wOy2xWHMOCPJ1QiYNU-hI,6612
499
- holado_test/common/context/feature_context.py,sha256=9U5n-i7xdcSQlCeMM0savlek8doS5fGqkI3sFIiCGTY,3375
500
- holado_test/common/context/scenario_context.py,sha256=pkv5uC-GGQeGyu2MB6m58eWv6TPuQLTV0NM_aGMB7c8,7129
499
+ holado_test/common/context/feature_context.py,sha256=XD5t2O6IDdhh6n4K1n7u5MPm-zI3k38mun_pj8lKQGE,3575
500
+ holado_test/common/context/scenario_context.py,sha256=lj332-EsRazz91Twl64iTcrNiyqOBYCk9kD4ADl73gA,7330
501
501
  holado_test/common/context/step_context.py,sha256=jknJVU0OrzRaqlTJyhwBFjr9uKPe1dgjao32F4RGE8g,2410
502
502
  holado_test/common/exceptions/undefined_step_exception.py,sha256=SHHX22iz4Ip-V4Y3aM2EJFDt30CCS5EaauN6KB-JORo,1461
503
503
  holado_test/scenario/step_tools.py,sha256=iNay6tQPUi4sG-a8PY5LbbLpX0PRakkOj3ls98aEbHM,26375
@@ -512,7 +512,7 @@ holado_test/test_server/server/rest/README,sha256=J_LIXWFxtxc8okQGZ8Kk0dMSRra9oU
512
512
  holado_test/test_server/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
513
513
  holado_test/test_server/server/rest/logging.conf,sha256=yeNIHFQCYlDmkdLlQ3NCoMuxpUNn6i8ZDAzOUna_2aA,1282
514
514
  holado_test/test_server/server/rest/openapi.yaml,sha256=4Juf_QggWo7z9te3_sS96TxxARWU1MtFkJZAilEsxr8,1027
515
- holado_test/test_server/server/rest/run.py,sha256=0BC3fHDDaE28IoObQrICUatDRAOiFxrb0WU_VZU2q4Y,2321
515
+ holado_test/test_server/server/rest/run.py,sha256=xS_uCK7X3XqcuvpSSesW7xx9PE6FbFvwj0CqxBDWIks,2389
516
516
  holado_test/test_server/server/rest/api/__init__.py,sha256=4QcsiWhFX0sGhJYuoqUUfwEYb6ceIDlFFlU1q3ls7Xc,1442
517
517
  holado_test/test_server/server/rest/api/campaign/__init__.py,sha256=btZb20N5k7_WbowNAC1C7yYDUkwPnUU5QUmh-jO0bhg,1586
518
518
  holado_test/test_server/server/rest/api/campaign/scenario.py,sha256=4eTIScEGL0GKD7g6aIPHJVvaVbwz487zlEg9mRQv84Y,1737
@@ -552,7 +552,7 @@ test_holado/Dockerfile_test_holado,sha256=zO6OUFnC1X9ZG7fPWWWfcWgZwnxif4WDE4ZDEm
552
552
  test_holado/__init__.py,sha256=TIHAHrF05rvz6-VDKuDBSBjasD6PxTxXvcXjMEC3D6E,54
553
553
  test_holado/__main__.py,sha256=PVdCX8V_RGRzbQQKVxf7eyt8a10XfUJ1pcaajGgIlus,1509
554
554
  test_holado/build_docker_image_to_test_holado_in_docker.sh,sha256=B3hbi0yKnEC-t9S18o6ZR27AU1bqiuptwOqm6H7tv8s,142
555
- test_holado/environment.py,sha256=wfVHsu_e67cjARLwmDsECbPH-yZN5WGJOeJj61-gmeM,2293
555
+ test_holado/environment.py,sha256=SLGJ2v1BoyP_s_KucvuQJLnWPzPJAD6cS4C8eBNaJW8,2381
556
556
  test_holado/initialize_holado.py,sha256=IPYH-GYNiHV5-7ZCCH6CFmPpmACsPrTV74TYz3MRjpA,3102
557
557
  test_holado/logging.conf,sha256=au0QmrtF97ZxuVhgItHXdMLalkxAkxuWtgoOvGivfxc,1312
558
558
  test_holado/test_holado_session_context.py,sha256=qOB_i2k8mYjkR3-q2uv0B04xFc1K3p-K20ttYwe1Z18,1364
@@ -566,30 +566,31 @@ test_holado/features/NonReg/common/tables/table.feature,sha256=JRBfjuhCF7gmU_Has
566
566
  test_holado/features/NonReg/common/tables/value_table_conversion.feature,sha256=FRpm7ai5l7rvIbjy2fFXYZU-7juV_ZrOv2LUZtl4YtM,1061
567
567
  test_holado/features/NonReg/common/tools/DateTime.feature,sha256=Gf59f3iOdlE2fDnnZyNhz9SMqnl0W9mfLKvaWQVPuv4,3606
568
568
  test_holado/features/NonReg/common/tools/UniqueValueManager.feature,sha256=Ok-f0RB01KQGIbEVyZ8nNmXJ3Y-qs3rzHg1_EPHIkuQ,995
569
- test_holado/features/NonReg/holado_ais/ais_message-bitarray_to_nmea.feature,sha256=ILT9HR_v9kRSfoycMWtH329G5Wtx6H4Tu-V_uXXWphA,14188
570
- test_holado/features/NonReg/holado_ais/message_types/type-10.feature,sha256=XNk-Z0HlLmDJPSDlgCMTeMGyIXo3rKS9As1C3IQCHUY,1495
571
- test_holado/features/NonReg/holado_ais/message_types/type-12.feature,sha256=qG1Yt4klAdDpGi8ZU2NHeSsl3_wjIJr__iFcu_83v4g,1715
572
- test_holado/features/NonReg/holado_ais/message_types/type-14.feature,sha256=ohBmsbuthRMRGtmfMj-aPpdupUG4O1mYSAHNsU14RdA,1570
573
- test_holado/features/NonReg/holado_ais/message_types/type-15.feature,sha256=awQKEh-vYcT-Pco0TqdNBzb209YISpfJC7GCQRZxChg,1915
574
- test_holado/features/NonReg/holado_ais/message_types/type-16.feature,sha256=9uBLWdoUAJbcQ8XjY1TFkUXzskDJh4vxT4gSX-q3Snc,1803
575
- test_holado/features/NonReg/holado_ais/message_types/type-17.feature,sha256=SdLR3yxQ1VcYLpjIi_IOzs7tiv-1b293rRxGAvPo1xE,1743
576
- test_holado/features/NonReg/holado_ais/message_types/type-18.feature,sha256=J0c85rJWEyV7qSo9IL4nE56qAy8PmJpKTVDJFXlERug,2357
577
- test_holado/features/NonReg/holado_ais/message_types/type-19.feature,sha256=5GRe7IXmGc_-zhLiB9vsx9fIgG-uTQ4YuEPQbHWnnI8,2568
578
- test_holado/features/NonReg/holado_ais/message_types/type-1_2_3.feature,sha256=30JTq9xcfdLJUesQUP09RXIg8MQvxql8yKnFlZoWYiQ,2283
579
- test_holado/features/NonReg/holado_ais/message_types/type-20.feature,sha256=badMirPaJRTsbhsfNZvv4FEV0rB8lScEE-2xivAitrU,2466
580
- test_holado/features/NonReg/holado_ais/message_types/type-21.feature,sha256=xDqfzp2z1gRuCIe553bQ0AVUrcX2vGHN0fNVTWxrLQs,2464
581
- test_holado/features/NonReg/holado_ais/message_types/type-22.feature,sha256=x3RVWKorZH5E9ODOt6_vBWGtIQM9wCEOkxvCfemAxU8,4519
582
- test_holado/features/NonReg/holado_ais/message_types/type-23.feature,sha256=d5SfiA-bXGql2pNZ6x1sG2svR1jk_OxaqslRa1LKHQc,2216
583
- test_holado/features/NonReg/holado_ais/message_types/type-24.feature,sha256=ngYiOhE6D4dp5Cdm97REl20dbsfFbYhLBx-Y83p5g2Q,3621
584
- test_holado/features/NonReg/holado_ais/message_types/type-25.feature,sha256=ECBzw-IRdKJqL2nyCQ9NoEikWrb_e8e7eEBhOwRiCKg,6878
585
- test_holado/features/NonReg/holado_ais/message_types/type-26.feature,sha256=fiAhhYLK2yt2UibkWb_6D_3mSaRcK6sc0V8k7mDHbL0,7008
586
- test_holado/features/NonReg/holado_ais/message_types/type-27.feature,sha256=fYH4tVzZ2Ngsi6A4qr8Gui2fMDtVLPmDAsV5ycAYTiM,1817
587
- test_holado/features/NonReg/holado_ais/message_types/type-4_11.feature,sha256=uGc6JwB98Iiw97e7wXEgEOJJGzMkyIz5wjS-o2nb8JY,2172
588
- test_holado/features/NonReg/holado_ais/message_types/type-5.feature,sha256=aVxQap88Myeut9lWmCIR4ONgiTNh8gkRZneajTqAcMM,2431
589
- test_holado/features/NonReg/holado_ais/message_types/type-6.feature,sha256=q2Bcmjn-2yPHrK_VWsnoCY8MgGpLmcGdf8IXk6o6XPQ,1771
590
- test_holado/features/NonReg/holado_ais/message_types/type-7_13.feature,sha256=FcnduMuDb8RHnb7bODmL1I5EleMAQWIaUKJrTN-xnxg,2188
591
- test_holado/features/NonReg/holado_ais/message_types/type-8.feature,sha256=hYdJ8ln8fp06a0mNlVPErayC5t7k7162nVQwQ0XaRHo,1531
592
- test_holado/features/NonReg/holado_ais/message_types/type-9.feature,sha256=JNiBFcp6wQwDRWt63DYdoPtsSsMGu8n79EbN3k0hsyk,2074
569
+ test_holado/features/NonReg/holado_ais/ais_message-bitarray_to_nmea.feature,sha256=HHtOn0daKy5gDAWJuQYhwXzWmrrwUDdKLKI9JIY6Pmg,14189
570
+ test_holado/features/NonReg/holado_ais/ais_message-nmea_raw_to_dict.feature,sha256=6BDax9rgBrgRl84R7OR3XSehVes9lmHy_f5SsymVUic,3586
571
+ test_holado/features/NonReg/holado_ais/message_types/type-10.feature,sha256=NCsV9FVHLcUY3_VZckl8rWCuSLNck8rFDk5DlcY0EQw,1494
572
+ test_holado/features/NonReg/holado_ais/message_types/type-12.feature,sha256=De6q7dkltXCpAkPxV_rgZ33uTsR3atavDajMpVx0t_k,1714
573
+ test_holado/features/NonReg/holado_ais/message_types/type-14.feature,sha256=IniZ39Zn5U2I8CF0wvdK1MgMUisqbFZKeCslN04wWjI,1569
574
+ test_holado/features/NonReg/holado_ais/message_types/type-15.feature,sha256=yZGEiyt9KQaVbzzTO-M_cACymxQ2ZH6XvIGeewmvHeQ,1914
575
+ test_holado/features/NonReg/holado_ais/message_types/type-16.feature,sha256=gU7GNifRz8TEIpGcgX__qkz3rlAvuWz2svbPvJGxXW4,1802
576
+ test_holado/features/NonReg/holado_ais/message_types/type-17.feature,sha256=fbI7-4ZURy-etZ13GEwlSnxQAu3tymGS2EPygpEC_T0,1742
577
+ test_holado/features/NonReg/holado_ais/message_types/type-18.feature,sha256=x3ZEUBdSPNDwZjltK8GbAXOAgYhWS5OT2HWEmkLHdog,2356
578
+ test_holado/features/NonReg/holado_ais/message_types/type-19.feature,sha256=rOfMtO_CiGOAH38irzLskYndd7LJQSk8dt1YXkUuC5U,2567
579
+ test_holado/features/NonReg/holado_ais/message_types/type-1_2_3.feature,sha256=VLRKzUM2xAIXpVpDSzhVyY0wRF01mWGxZh0RNvnkQKA,2282
580
+ test_holado/features/NonReg/holado_ais/message_types/type-20.feature,sha256=69lCRDh1plqcJNqxczMjO4NQv_qhvo0xTcH0VqvoJSs,2465
581
+ test_holado/features/NonReg/holado_ais/message_types/type-21.feature,sha256=FrBGZbGQgc4nWSlxkDIP8ESElUSuVaD9as-Ebz2y2Gs,2463
582
+ test_holado/features/NonReg/holado_ais/message_types/type-22.feature,sha256=gWWMoZ_fleEjw7lUW_BvLuKZjf2uzcbJcZFDCB6-eSo,4517
583
+ test_holado/features/NonReg/holado_ais/message_types/type-23.feature,sha256=C_mST_R9C_HO88RskRbnXEDGb22UNsC7yM1t4F6fGn0,2215
584
+ test_holado/features/NonReg/holado_ais/message_types/type-24.feature,sha256=5_DMecsJ4cTSc_5sBtFPTEAN_kFv8VcxFdZS6YXj3rY,3619
585
+ test_holado/features/NonReg/holado_ais/message_types/type-25.feature,sha256=bGxJYHo_bMP1mwi3T2sCbQTJJ75K5qgB_fpTfb8Jcls,6874
586
+ test_holado/features/NonReg/holado_ais/message_types/type-26.feature,sha256=5qPr7AwgV-yc9HMhT5ViGzKqhlz5nkVesQfbRWjVDZM,7004
587
+ test_holado/features/NonReg/holado_ais/message_types/type-27.feature,sha256=d7BwUMjyuGdfuwnoy5PhSpv9K0kK_GA9qqQcfQMeZPQ,1816
588
+ test_holado/features/NonReg/holado_ais/message_types/type-4_11.feature,sha256=g2wv4vqjOqJSsliK_EnH42SlOrRnLggabsQEQTN1ZiQ,2171
589
+ test_holado/features/NonReg/holado_ais/message_types/type-5.feature,sha256=hM01jfco7qZAIwQFjMwelWkPXQsIv71Qb9kbpXZNfrY,2430
590
+ test_holado/features/NonReg/holado_ais/message_types/type-6.feature,sha256=f3QgGWYjHcAEV63e-dXo3dLXVmbmzEhQ2s362gIoyT8,1770
591
+ test_holado/features/NonReg/holado_ais/message_types/type-7_13.feature,sha256=lniTrxn42KDZdAnki7qyoF7x-LHp1lb3V0QH-aarN24,2187
592
+ test_holado/features/NonReg/holado_ais/message_types/type-8.feature,sha256=QWXB-3F2CLPh33svNeP0vtG56S2g41s8FATf0CBfVFo,1530
593
+ test_holado/features/NonReg/holado_ais/message_types/type-9.feature,sha256=d3RYPP2HObb10B_gsj-5i5btf5kiyAd8n2SyMU5m0NU,2073
593
594
  test_holado/features/NonReg/holado_binary/bit_series.error.feature,sha256=6RVQIb5oeuEHM-MvR0z9t_uT81GY0MbpZOxZp4qf_x4,1903
594
595
  test_holado/features/NonReg/holado_binary/bit_series.feature,sha256=_FS1JMDFtt3LzBOhl92wgdznZJxbPAiFx9Z_p4mpJ_U,5730
595
596
  test_holado/features/NonReg/holado_protobuf/protobuf.feature,sha256=5PjD4R_ow3lMwWNFuemGZ6J0_A2_pzn-oNY4aV-wsGg,11857
@@ -670,7 +671,7 @@ test_holado/tools/django/api_rest/api_rest/api1/serializers.py,sha256=o_YxFr-tgC
670
671
  test_holado/tools/django/api_rest/api_rest/api1/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
671
672
  test_holado/tools/django/api_rest/api_rest/api1/views.py,sha256=kOt2xT6bxO47_z__5yYR9kcYIWWv4qYzpX0K8Tqonik,758
672
673
  test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
673
- holado-0.9.3.dist-info/METADATA,sha256=W_XfLvh8aSgsFRRoREiihdApcOhYXEIiJ06opmCdOv8,7671
674
- holado-0.9.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
675
- holado-0.9.3.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
676
- holado-0.9.3.dist-info/RECORD,,
674
+ holado-0.10.1.dist-info/METADATA,sha256=Q5DwNRjrAWS6lrHGiUbz7T2pJPXzlvE39zM4hnxx3I0,7672
675
+ holado-0.10.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
676
+ holado-0.10.1.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
677
+ holado-0.10.1.dist-info/RECORD,,
@@ -83,7 +83,38 @@ class AISMessages(object):
83
83
  message_type = self.__get_message_type(msg_type)
84
84
  res = message_type.create(**data)
85
85
  return res
86
-
86
+
87
+ def decode_nmea_raw_as_dict(self, raw, merge_tag_block_and_message_dicts=False, enum_as_int=False, ignore_spare=True):
88
+ # Convert NMEA raw to sentences
89
+ sentences = self.split_raw_to_sentences(raw)
90
+
91
+ # Convert sentences to message type as dict
92
+ msg = self.decode(*sentences)
93
+ msg_dict = msg.asdict(enum_as_int=enum_as_int, ignore_spare=ignore_spare)
94
+
95
+ # Extract tagblock of first sentence if present, and add tagblock information in result
96
+ tag_block_str, _ = self.split_sentence_to_tab_block_and_message(sentences[0])
97
+ if tag_block_str is None:
98
+ tag_block_dict = None
99
+ else:
100
+ if not isinstance(tag_block_str, bytes):
101
+ tag_block_str = tag_block_str.encode('utf8')
102
+ tag_block = TagBlock(tag_block_str)
103
+ tag_block.init()
104
+ tag_block_dict = tag_block.asdict()
105
+ tag_block_dict = {k:v for k,v in tag_block_dict.items() if k != 'raw' and v is not None}
106
+
107
+ # Build result
108
+ if merge_tag_block_and_message_dicts:
109
+ res = msg_dict
110
+ if tag_block_dict is not None:
111
+ res.update(tag_block_dict)
112
+ elif tag_block_dict is not None:
113
+ res = (tag_block_dict, msg_dict)
114
+ else:
115
+ res = msg_dict
116
+ return res
117
+
87
118
  def decode(self, *args, encoded_msg=None, parts_separator=b'\n'):
88
119
  if encoded_msg is not None:
89
120
  if isinstance(encoded_msg, str):
@@ -145,7 +176,6 @@ class AISMessages(object):
145
176
  seq_id = kwargs.pop('seq_id') if 'seq_id' in kwargs else self.__tag_block_group_id % 10
146
177
  group_id = kwargs.pop('group_id') if 'group_id' in kwargs else None
147
178
 
148
- logger.print(f"+++++++ encode_msg: {msg=} ; {talker_id=} ; {kwargs=}")
149
179
  sentences = pyais.encode_msg(msg, seq_id=seq_id, talker_id=talker_id, **kwargs)
150
180
  return self.__encode_add_tag_block(sentences, tag_block, with_tag_block=with_tag_block, group_id=group_id)
151
181
 
@@ -263,7 +293,7 @@ class AISMessages(object):
263
293
 
264
294
  res = ais_sentence.split(split_char)
265
295
  if len(res) > 1:
266
- # Remove part before first '\'
296
+ # Tag block is present, remove part before first '\'
267
297
  del res[0]
268
298
  else:
269
299
  # Tag block is not present, insert it as None
@@ -22,6 +22,8 @@ from holado_test.behave.behave import * # @UnusedWildImport
22
22
  from holado_ais.ais.enums import AISMessageType
23
23
  from holado_core.common.tools.string_tools import StrTools
24
24
  from holado_value.common.tables.converters.value_table_converter import ValueTableConverter
25
+ from holado_core.common.block.function import Function
26
+ from holado_core.common.exceptions.functional_exception import FunctionalException
25
27
 
26
28
  logger = logging.getLogger(__name__)
27
29
 
@@ -148,8 +150,26 @@ if AISMessages.is_available():
148
150
 
149
151
  __get_variable_manager().register_variable(var_name, res)
150
152
 
151
- @Step(r"(?P<var_name>{Variable}) = decode NMEA AIS message (?P<encoded_ais_message>{Str})(?P<dictionnary_str> as dictionnary)?")
152
- def step_impl(context, var_name, encoded_ais_message, dictionnary_str):
153
+ @Step(r"(?:(?P<tagblock_var_name>{Variable}), )?(?P<var_name>{Variable}) = decode NMEA AIS raw (?P<ais_raw>{Bytes}|{Str}) as dictionary(?: \((?P<merge_tag_block_and_message_dicts_str>merge tag block and message dictionaries)?\))?")
154
+ def step_impl(context, tagblock_var_name, var_name, ais_raw, merge_tag_block_and_message_dicts_str):
155
+ var_name = StepTools.evaluate_variable_name(var_name)
156
+ ais_raw = StepTools.evaluate_scenario_parameter(ais_raw)
157
+ merge_tag_block_and_message_dicts = merge_tag_block_and_message_dicts_str is not None
158
+
159
+ res = __get_ais_messages().decode_nmea_raw_as_dict(ais_raw, merge_tag_block_and_message_dicts=merge_tag_block_and_message_dicts)
160
+
161
+ if tagblock_var_name is None:
162
+ __get_variable_manager().register_variable(var_name, res)
163
+ else:
164
+ if len(res) == 2:
165
+ tb_dict, msg_dict = res
166
+ else:
167
+ tb_dict, msg_dict = None, res
168
+ __get_variable_manager().register_variable(tagblock_var_name, tb_dict)
169
+ __get_variable_manager().register_variable(var_name, msg_dict)
170
+
171
+ @Step(r"(?P<var_name>{Variable}) = decode NMEA AIS message (?P<encoded_ais_message>{Str})(?P<dictionary_str> as dictionary)?")
172
+ def step_impl(context, var_name, encoded_ais_message, dictionary_str):
153
173
  var_name = StepTools.evaluate_variable_name(var_name)
154
174
  encoded_ais_message = StepTools.evaluate_scenario_parameter(encoded_ais_message)
155
175
 
@@ -158,7 +178,7 @@ if AISMessages.is_available():
158
178
  else:
159
179
  res = __get_ais_messages().decode(encoded_msg=encoded_ais_message)
160
180
 
161
- if dictionnary_str is not None:
181
+ if dictionary_str is not None:
162
182
  res = res.asdict()
163
183
 
164
184
  __get_variable_manager().register_variable(var_name, res)
@@ -22,6 +22,7 @@ from datetime import datetime
22
22
  from holado_core.common.tools.tools import Tools
23
23
  from pathlib import Path
24
24
  from holado_python.common.tools.datetime import DateTime
25
+ from holado.holado_config import Config
25
26
 
26
27
  logger = logging.getLogger(__name__)
27
28
 
@@ -162,10 +163,12 @@ class PathManager(object):
162
163
  if base_path is None:
163
164
  base_path = os.path.join(self.get_user_home_path(), '.holado', 'output')
164
165
 
166
+ res = os.path.join(base_path, "reports")
167
+ if Config.application_group is not None:
168
+ res = os.path.join(res, Config.application_group)
165
169
  if name is not None:
166
- return os.path.join(base_path, "reports", name)
167
- else:
168
- return os.path.join(base_path, "reports")
170
+ res = os.path.join(res, name)
171
+ return res
169
172
 
170
173
  def chown(self, path, user = None, group = None):
171
174
  if user is not None or group is not None:
@@ -18,8 +18,11 @@ from initialize_holado import insert_holado_source_paths # @UnresolvedImport
18
18
  insert_holado_source_paths(with_test_behave=False)
19
19
 
20
20
  # Initialize HolAdo
21
- from holado import initialize_minimal
22
- initialize_minimal()
21
+ from holado import initialize
22
+ initialize(TSessionContext=None, use_holado_logger=True, logging_config_file_path=None,
23
+ log_level=None, log_time_in_utc=None, log_on_console=True, log_in_file=False,
24
+ config_kwargs={'application_group':'docker_controller'},
25
+ garbage_collector_periodicity=None)
23
26
 
24
27
 
25
28
  app = connexion.FlaskApp(__name__, pythonic_params=True)
@@ -18,8 +18,11 @@ from initialize_holado import insert_holado_source_paths # @UnresolvedImport
18
18
  insert_holado_source_paths(with_test_behave=False)
19
19
 
20
20
  # Initialize HolAdo
21
- from holado import initialize_minimal
22
- initialize_minimal()
21
+ from holado import initialize
22
+ initialize(TSessionContext=None, use_holado_logger=True, logging_config_file_path=None,
23
+ log_level=None, log_time_in_utc=None, log_on_console=True, log_in_file=False,
24
+ config_kwargs={'application_group':'docker_viewer'},
25
+ garbage_collector_periodicity=None)
23
26
 
24
27
 
25
28
  app = connexion.FlaskApp(__name__, pythonic_params=True)