holado 0.4.1__py3-none-any.whl → 0.5.2__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 (93) hide show
  1. holado/common/context/session_context.py +6 -0
  2. holado/common/handlers/object.py +6 -0
  3. {holado-0.4.1.dist-info → holado-0.5.2.dist-info}/METADATA +2 -1
  4. {holado-0.4.1.dist-info → holado-0.5.2.dist-info}/RECORD +93 -43
  5. holado_ais/ais/ais_messages.py +44 -15
  6. holado_ais/ais/patch_pyais.py +47 -176
  7. holado_ais/tests/behave/steps/ais/ais_messages_steps.py +2 -6
  8. holado_core/common/resource/persisted_data_manager.py +4 -5
  9. holado_core/common/resource/resource_manager.py +4 -18
  10. holado_core/common/tools/converters/converter.py +14 -3
  11. holado_core/common/tools/tools.py +9 -2
  12. holado_core/tools/abstracts/blocking_command_service.py +9 -1
  13. holado_data/data/generator/generator_manager.py +1 -13
  14. holado_db/tools/db/clients/base/db_audit.py +94 -0
  15. holado_db/tools/db/clients/base/db_client.py +145 -59
  16. holado_db/tools/db/clients/postgresql/postgresql_audit.py +75 -0
  17. holado_db/tools/db/clients/postgresql/postgresql_client.py +4 -0
  18. holado_db/tools/db/clients/sqlite/sqlite_audit.py +70 -0
  19. holado_db/tools/db/clients/sqlite/sqlite_client.py +4 -0
  20. holado_django/__init__.py +31 -0
  21. holado_django/server/HOWTO.txt +27 -0
  22. holado_django/server/django_projects/rest_api/db.sqlite3 +0 -0
  23. holado_django/server/django_projects/rest_api/manage.py +22 -0
  24. holado_django/server/django_projects/rest_api/rest_api/__init__.py +0 -0
  25. holado_django/server/django_projects/rest_api/rest_api/application/__init__.py +0 -0
  26. holado_django/server/django_projects/rest_api/rest_api/application/admin.py +3 -0
  27. holado_django/server/django_projects/rest_api/rest_api/application/apps.py +9 -0
  28. holado_django/server/django_projects/rest_api/rest_api/application/migrations/__init__.py +0 -0
  29. holado_django/server/django_projects/rest_api/rest_api/application/models.py +3 -0
  30. holado_django/server/django_projects/rest_api/rest_api/application/tests.py +3 -0
  31. holado_django/server/django_projects/rest_api/rest_api/application/views.py +6 -0
  32. holado_django/server/django_projects/rest_api/rest_api/asgi.py +16 -0
  33. holado_django/server/django_projects/rest_api/rest_api/settings.py +130 -0
  34. holado_django/server/django_projects/rest_api/rest_api/urls.py +35 -0
  35. holado_django/server/django_projects/rest_api/rest_api/wsgi.py +16 -0
  36. holado_django/server/django_server.py +110 -0
  37. holado_django/server/grpc_django_server.py +57 -0
  38. holado_django/server/patch_djangogrpcframework.py +46 -0
  39. holado_django/tests/behave/steps/__init__.py +16 -0
  40. holado_django/tests/behave/steps/django_server_steps.py +83 -0
  41. holado_grpc/tests/behave/steps/private/api/grpc_steps.py +9 -9
  42. holado_logging/common/logging/holado_logger.py +1 -6
  43. holado_multitask/multitasking/multitask_manager.py +36 -10
  44. holado_multitask/multithreading/thread.py +13 -7
  45. holado_multitask/multithreading/timer.py +3 -0
  46. holado_python/common/tools/datetime.py +31 -13
  47. holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +16 -16
  48. holado_python/standard_library/ssl/resources/certificates/tcpbin.key +26 -26
  49. holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py +24 -2
  50. holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py +2 -2
  51. holado_report/report/builders/failure_report_builder.py +129 -0
  52. holado_report/report/report_manager.py +4 -0
  53. holado_rest/api/rest/TODO.txt +1 -1
  54. holado_rest/api/rest/rest_client.py +19 -7
  55. holado_rest/tests/behave/steps/api/rest_client_steps.py +1 -2
  56. holado_rest/tests/behave/steps/private/api/rest_steps.py +11 -13
  57. holado_system/system/command/command.py +31 -9
  58. holado_system/system/global_system.py +3 -3
  59. test_holado/environment.py +6 -4
  60. test_holado/features/NonReg/api/REST.feature +7 -2
  61. test_holado/features/NonReg/api/gRPC.feature +0 -6
  62. test_holado/features/NonReg/holado_ais/message_types/type-10.feature +38 -0
  63. test_holado/features/NonReg/holado_ais/message_types/type-12.feature +37 -0
  64. test_holado/features/NonReg/holado_ais/message_types/type-14.feature +36 -0
  65. test_holado/features/NonReg/holado_ais/message_types/type-15.feature +36 -0
  66. test_holado/features/NonReg/holado_ais/message_types/type-16.feature +38 -0
  67. test_holado/features/NonReg/holado_ais/message_types/type-17.feature +46 -0
  68. test_holado/features/NonReg/holado_ais/message_types/type-18.feature +37 -0
  69. test_holado/features/NonReg/holado_ais/message_types/type-19.feature +38 -0
  70. test_holado/features/NonReg/holado_ais/message_types/type-1_2_3.feature +42 -0
  71. test_holado/features/NonReg/holado_ais/message_types/type-20.feature +38 -0
  72. test_holado/features/NonReg/holado_ais/message_types/type-21.feature +37 -0
  73. test_holado/features/NonReg/holado_ais/message_types/type-22.feature +84 -0
  74. test_holado/features/NonReg/holado_ais/message_types/type-23.feature +49 -0
  75. test_holado/features/NonReg/holado_ais/message_types/type-24.feature +72 -0
  76. test_holado/features/NonReg/holado_ais/message_types/type-25.feature +143 -0
  77. test_holado/features/NonReg/holado_ais/message_types/type-26.feature +144 -0
  78. test_holado/features/NonReg/holado_ais/message_types/type-27.feature +36 -0
  79. test_holado/features/NonReg/holado_ais/message_types/type-4_11.feature +39 -0
  80. test_holado/features/NonReg/holado_ais/message_types/type-5.feature +33 -0
  81. test_holado/features/NonReg/holado_ais/message_types/type-6.feature +37 -0
  82. test_holado/features/NonReg/holado_ais/message_types/type-7_13.feature +43 -0
  83. test_holado/features/NonReg/holado_ais/message_types/type-8.feature +37 -0
  84. test_holado/features/NonReg/holado_ais/message_types/type-9.feature +37 -0
  85. test_holado/initialize_holado.py +62 -0
  86. test_holado/logging.conf +3 -0
  87. test_holado/tools/django/api_grpc/manage.py +2 -0
  88. test_holado/tools/django/api_grpc/patch_djangogrpcframework.py +42 -0
  89. test_holado/tools/django/api_rest/db.sqlite3 +0 -0
  90. {holado-0.4.1.dist-info → holado-0.5.2.dist-info}/WHEEL +0 -0
  91. {holado-0.4.1.dist-info → holado-0.5.2.dist-info}/licenses/LICENSE +0 -0
  92. /holado_helper/holado_module_template/{test → tests}/behave/steps/__init__.py +0 -0
  93. /holado_helper/holado_module_template/{test → tests}/behave/steps/private/__init__.py +0 -0
@@ -168,6 +168,9 @@ class SessionContext(Context):
168
168
  with self.__multitask_lock:
169
169
  self.behave_manager.set_main_context(behave_context)
170
170
  self.report_manager.before_all()
171
+
172
+ # Set variable with session context instance
173
+ self.variable_manager.register_variable("SESSION_CONTEXT", self)
171
174
 
172
175
  def after_all(self):
173
176
  with self.__multitask_lock:
@@ -201,6 +204,9 @@ class SessionContext(Context):
201
204
  feature_context = FeatureContext(feature)
202
205
  self.__set_feature_context(feature_context)
203
206
 
207
+ # Set variable with feature context instance
208
+ self.variable_manager.register_variable("FEATURE_CONTEXT", feature_context)
209
+
204
210
  # Report
205
211
  try:
206
212
  self.report_manager.before_feature(feature_context, feature)
@@ -86,6 +86,12 @@ class DeleteableObject(Object):
86
86
  func = FunctionThreaded(self.__delete, name=f"delete object '{self.name}'", register_thread=False)
87
87
  func.start()
88
88
  func.join(timeout=30, raise_if_still_alive=False) # timeout of 30s to limit deadlock impact ; raise to False since exceptions are omitted in gc collect context
89
+ except AttributeError as exc:
90
+ if "'NoneType' object has no attribute" in str(exc):
91
+ # Simply return, this exception can appear when system in interrupting
92
+ return
93
+ else:
94
+ raise exc
89
95
  except Exception as exc:
90
96
  if "Python is likely shutting down" in str(exc):
91
97
  # Simply return
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: holado
3
- Version: 0.4.1
3
+ Version: 0.5.2
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
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Requires-Python: >=3.10
18
18
  Requires-Dist: behave==1.2.7.dev6
19
+ Requires-Dist: psutil
19
20
  Requires-Dist: python-dateutil
20
21
  Provides-Extra: ais
21
22
  Requires-Dist: pyais; extra == 'ais'
@@ -4,24 +4,24 @@ holado/common/__init__.py,sha256=ZjXM-FRQgnfzRNXqcvJOGewDHVRR-U5-ugStSs8U2Xs,152
4
4
  holado/common/context/__init__.py,sha256=3jJBLm8myrYF9jbdV1EhIA6BtnlmjX33eeoDpTzwmLA,1604
5
5
  holado/common/context/context.py,sha256=XPrdZw_9j096AI9EZwMT4xVd58c1ZH6VGxT5Yb-qYYU,6660
6
6
  holado/common/context/service_manager.py,sha256=LaCn8ukE1aqJynmwoexAYj5hCkdb_F3hXRtUBGqorUE,14087
7
- holado/common/context/session_context.py,sha256=jyCXydCk7RnTf35MFcqaEflOsjX5eK2U33uITeGqP6U,22477
7
+ holado/common/context/session_context.py,sha256=eIcq3AfS1zQLzd2ud6n2T-p8Z6I-WThCmhFFSb22O70,22770
8
8
  holado/common/handlers/__init__.py,sha256=d0KDUpaAAw1eBXyX08gaRh4RECnJlXjYQ0TcU-Ndicc,1372
9
9
  holado/common/handlers/enums.py,sha256=ieqKVoukEiNyfE3KrKmMOImdbFS1ocUMud8JHe2xNLs,1662
10
- holado/common/handlers/object.py,sha256=-KL3HgNpQq5iOrztLEUgJJEjhgcnnpaV20GAQNSCMSw,6446
10
+ holado/common/handlers/object.py,sha256=5vR7iV2NUI1sZxvkzcUBOe7FT9LkzYaivNDTE4d_6ds,6703
11
11
  holado/common/handlers/undefined.py,sha256=yXZRPIDZI8R0vT4kdf87JPkFhnltLcQwwc3zmKhmv30,2529
12
12
  holado/common/tools/__init__.py,sha256=z-T6zX_tOVkJjniTDA0KSKmdtosjfEhjaNa1-3g8wTs,1374
13
13
  holado/common/tools/gc_manager.py,sha256=TjQg7MisGRhxuiQ22hB3IuqNhnWCVEWpU253-rOjR0w,7611
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=gDN03NPl5BD1jGS4wYFuX2Od_4V0OUtVU4OyxyPhtCw,14508
17
+ holado_ais/ais/ais_messages.py,sha256=QzJx6VrbqE_vXCPeWBDhFAGJQoN4b_9W5PboY9W7-lQ,15892
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
- holado_ais/ais/patch_pyais.py,sha256=ViRXz3__FXm-VBwD5C4bQ_gGvujCJuJSOoqewkFM6GI,54835
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=bHhKdv5qV5y4AgUGEaYUn3Uv5_MtkBMEZtgF1aJSJpU,10716
24
+ holado_ais/tests/behave/steps/ais/ais_messages_steps.py,sha256=jqRupZyEc5jn_jwvAQJqVb-0cUTx77VBIGNGUvgt_sA,10471
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
@@ -97,9 +97,9 @@ holado_core/common/inspectors/tree_inspector.py,sha256=DYXmzGFQAzAT1pypKqxpOGPze
97
97
  holado_core/common/inspectors/tools/inspect_builder.py,sha256=v7azgwciXHtO-o7gcgI5gOo3B-7rfRs8RQNO_q5LWjI,6830
98
98
  holado_core/common/inspectors/tools/inspect_context.py,sha256=lzhhO5HxG00c6uMPyIXEUz0FHA61VCNUZr_39ykZ8lQ,2700
99
99
  holado_core/common/inspectors/tools/inspect_parameters.py,sha256=2vXUpnZlP2cCYTvI9ddI6NGhONideoM1hBJ0vGdvPKo,7346
100
- holado_core/common/resource/persisted_data_manager.py,sha256=gvqXdpRmteP3pGk-z7g2trbT3mHtksVfzlKZys653Hk,6295
100
+ holado_core/common/resource/persisted_data_manager.py,sha256=59J_5NP9mwv74xkdq2dKGy3gAIh7Yr9Hw1icQ57jwP8,6185
101
101
  holado_core/common/resource/persisted_method_to_call_manager.py,sha256=M_1G8OKwOUn5ha18MOwXD3kXz2-1XOyUP0H9QYvg6FQ,7756
102
- holado_core/common/resource/resource_manager.py,sha256=9U1maNSvqDbBYzMxzNDlaxXTnUr8Dj2VRHtgBppi000,7750
102
+ holado_core/common/resource/resource_manager.py,sha256=vyBP4-QKSG4ryB879p5j1_0QvW8YaARtnd7-520Pxi8,7020
103
103
  holado_core/common/tables/__init__.py,sha256=i2-gExPOUa_AnmEPgZJQ2lAXeK02PLpPnjEqbsgj1Co,8
104
104
  holado_core/common/tables/enums.py,sha256=YtYTSI1m6KQ3XFzOSFPi5De6Jc-nkDMTbnmqfRfsiJ0,1395
105
105
  holado_core/common/tables/table.py,sha256=VV-68K0J7lzgWpmzesYdU3-ZrkmaIfu9eIYlNhAA02c,10252
@@ -127,10 +127,10 @@ holado_core/common/tables/converters/table_converter.py,sha256=TLKLOXIAhxM2ENu1a
127
127
  holado_core/common/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
128
  holado_core/common/tools/path_manager.py,sha256=dgdm8wAaVubh-krpquCXXeGUTtGqRKDpuEKmvhA9dKA,8899
129
129
  holado_core/common/tools/string_tools.py,sha256=bQuMlI_yS7OoSPFL7qyfyXkrnjC8xHVpIsfmEC6JxhI,5590
130
- holado_core/common/tools/tools.py,sha256=N-MfdMPYQs2BVnX4QWgop5PflzanboHjOeKgoSmpB1o,9062
130
+ holado_core/common/tools/tools.py,sha256=FLQ55BeksEu3Tqg6mZC7UwkmY0ZX1pHr78qZv-iDnpU,9555
131
131
  holado_core/common/tools/comparators/comparator.py,sha256=K4LcXIRORHX5vkmDibI6P6Bu1L-6Xezb63ZzzOMKrWY,6812
132
132
  holado_core/common/tools/comparators/object_comparator.py,sha256=RPI319h_tij6z75UVbZII3gBggQolRFMNMD4cN6z37Y,1399
133
- holado_core/common/tools/converters/converter.py,sha256=8XBzapzxQRX-ciFdNtkhK75Q1ZhJUbfdaOhGCCfZmNk,3639
133
+ holado_core/common/tools/converters/converter.py,sha256=a77OzLC_bp6-jRVNVYcSXyixOrk_lg4hhs-jj9pYqaA,4136
134
134
  holado_core/tests/behave/steps/__init__.py,sha256=H5vtbXvgGaNgLh2OsdeKQQn-xGvCBQz_2Mq17eEEF2U,1389
135
135
  holado_core/tests/behave/steps/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
136
  holado_core/tests/behave/steps/common/common_steps.py,sha256=GRMm562xO1g6tHzuY5JNbJ3jRVFG0JUqSpEQJEmmcgA,6351
@@ -139,11 +139,11 @@ holado_core/tests/behave/steps/common/resource_steps.py,sha256=YZjIAhsqoDmn2GGhR
139
139
  holado_core/tests/behave/steps/common/tables_steps.py,sha256=NGbDQCRPraIRr0ioiQAFZjyE3qp0iob41dunIgWm094,27758
140
140
  holado_core/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
141
  holado_core/tools/abstracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
- holado_core/tools/abstracts/blocking_command_service.py,sha256=8EFNQZONFw1jeGAG7gJ59FmookKkjiC4IYkk2UTsbSs,2603
142
+ holado_core/tools/abstracts/blocking_command_service.py,sha256=_mJ1DkIRMTKKASq2XCDLWQK3K0fbVAeU0IsMHNs9TdI,2796
143
143
  holado_core/tools/abstracts/service.py,sha256=07JkHz5bK2WBpAtiH2YmpZnUZY6roaUbHfD4QJ1spD4,2062
144
144
  holado_data/__init__.py,sha256=KpbIi2cm1BYZgoWf0LuhE0ei3ZCE15UcUtjC1cSA55M,1653
145
145
  holado_data/data/generator/base.py,sha256=axzEsz0A_6Ty0gnZ-ebFskY40dqEb_hX4D2qjrB6b3o,3764
146
- holado_data/data/generator/generator_manager.py,sha256=IKcQXdRaHJ3pvLQM_xGb938JqHdO-zRgnd2Q5a5NtzI,1956
146
+ holado_data/data/generator/generator_manager.py,sha256=V6Vvj2nGEaGeVWLNFnlR38jqFpoXlabaAWVJA93U_sM,1360
147
147
  holado_data/data/generator/python_generator.py,sha256=4ceEBAahGsCM6_u0Ea-0nvhzYKwt8C6INS-Uc0iEjVk,1738
148
148
  holado_data/tests/behave/steps/__init__.py,sha256=_ykaOZqP9MUCf48E9V3Ze4Kt74Dr36iHFJcq6Cxukjw,1315
149
149
  holado_data/tests/behave/steps/data/generator_steps.py,sha256=6rzSVnUOnub0q7yjV87AQjb7y3nRutSz9ObjaKQLKdU,3808
@@ -154,12 +154,36 @@ holado_db/tests/behave/steps/tools/db/db_client_steps.py,sha256=BmQ1M1ol3TGHu10Y
154
154
  holado_db/tests/behave/steps/tools/db/postgresql_client_steps.py,sha256=HtO-NSlTG3figZxcRo88PG9Tdo2dfd8GlfkoscS7MMk,2954
155
155
  holado_db/tests/behave/steps/tools/db/sqlite_client_steps.py,sha256=6B8GGBJxxG6Z49cGCPykm8BP7nQQZWUrWpw0XgaYGaE,2930
156
156
  holado_db/tools/db/db_manager.py,sha256=0llXc6YhXfLr6oNfncPNjh4_ZInIm8XYywutQYvvLso,5400
157
- holado_db/tools/db/clients/base/db_client.py,sha256=D2ZwnK9Pq44hUKEOkis5ECJTnIgn4wLI8ITgnF6ouqA,11508
158
- holado_db/tools/db/clients/postgresql/postgresql_client.py,sha256=Ntfs4D-Fvdsy9T0ewCsouP2-80DAsFIem79AWkOp3pE,4032
159
- holado_db/tools/db/clients/sqlite/sqlite_client.py,sha256=QwYfwdF4ZZ50drZcXmmpvtCfrpBnoVl_2UoLe6Mfot4,2695
157
+ holado_db/tools/db/clients/base/db_audit.py,sha256=eJ1r_0YUhvq50JngpWAdyEeVHWjAD4YCvWCJsLc1zmc,4368
158
+ holado_db/tools/db/clients/base/db_client.py,sha256=Boe_lsy9D-alK4FXzrFMTrzxq8EanWmUkcvAtkyAN9c,15265
159
+ holado_db/tools/db/clients/postgresql/postgresql_audit.py,sha256=yoy4-Yt4lZHJw7xAcuTj2Thg4aTDCYJBt-6HzQeEE80,3939
160
+ holado_db/tools/db/clients/postgresql/postgresql_client.py,sha256=40UOniOJS-2Jrl-lxCSPTn32JGmblO-WqRFQYV40srk,4246
161
+ holado_db/tools/db/clients/sqlite/sqlite_audit.py,sha256=cK7hBE7aKCFOX5xnT-QnYD_1loQPgPP9Gf6qTT1XuI4,3966
162
+ holado_db/tools/db/clients/sqlite/sqlite_client.py,sha256=-EvKAeaOc1Iv_wmuAgvzpS5hEfDFvZgP9OkFc9L5M-s,2891
160
163
  holado_db/tools/db/query/query_manager.py,sha256=7n-d_Q373hlsKQshY3accIH8XfqaLScqnhMdTT2oWC4,3642
161
164
  holado_db/tools/db/query/base/query_builder.py,sha256=-nCyBe8zsRhOX39uCV0P7OY_YKobQJVIpJDL2sUA_H8,5926
162
165
  holado_db/tools/db/query/pypika/pypika_query_builder.py,sha256=qwFtd-7dSRju-qwGkiaDPwSkNgYpdfKsunq-TM3HhI8,10988
166
+ holado_django/__init__.py,sha256=KpbIi2cm1BYZgoWf0LuhE0ei3ZCE15UcUtjC1cSA55M,1653
167
+ holado_django/server/HOWTO.txt,sha256=91z7uC1Hf_X6dNO2wxdqQFKG2U6wIIW6NKxirUglYOA,2085
168
+ holado_django/server/django_server.py,sha256=2nVH0WX99nGGH-c4QztfoC-zAJKmLrNTXvhTp4qsL08,4557
169
+ holado_django/server/grpc_django_server.py,sha256=dxK5Qs2u7wV0Sr4oa2hpBDdidZQqDbdR1_aurLyyhxk,2757
170
+ holado_django/server/patch_djangogrpcframework.py,sha256=bOa5FbbCFZrXRrSBxduofEVl3YX_fwoyf44mklGk3sY,2149
171
+ holado_django/server/django_projects/rest_api/db.sqlite3,sha256=LBFAfNepksCk8npTt9QtnG7CVtDKbZM7kmy13wv1Er0,131072
172
+ holado_django/server/django_projects/rest_api/manage.py,sha256=tElgH5cQY8xlY1-mVesjaqsqxe6U3Y--2kXfNIUZ5m0,664
173
+ holado_django/server/django_projects/rest_api/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
+ holado_django/server/django_projects/rest_api/rest_api/asgi.py,sha256=aTxP-NQKwxMWy9eRFU05I0ZzetU-xjblCtJCrnx5ImM,404
175
+ holado_django/server/django_projects/rest_api/rest_api/settings.py,sha256=9Qqw6yM-6ZwZEuL2J_vVtVzl1weWGC0XWhbhJzyEDNo,3324
176
+ holado_django/server/django_projects/rest_api/rest_api/urls.py,sha256=oLiOBFhDSh2lo1strgl0-8cXzTA-vsuP_KNRVbG4OsY,1351
177
+ holado_django/server/django_projects/rest_api/rest_api/wsgi.py,sha256=vuHLvl2v-OGGWQUz0fd6ekLrjRrJsAdnmIBFqZazP7k,404
178
+ holado_django/server/django_projects/rest_api/rest_api/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
+ holado_django/server/django_projects/rest_api/rest_api/application/admin.py,sha256=VWlhkFyPcKZz6ThllvIz1NT1yhDC-eBsdDWtpsuuhO0,65
180
+ holado_django/server/django_projects/rest_api/rest_api/application/apps.py,sha256=5L4hx9Uup2zGtC04qOJnpOTLU96VWyW94dToVYJR1nM,187
181
+ holado_django/server/django_projects/rest_api/rest_api/application/models.py,sha256=wzz6N5oF4ngNFMn3G0Bf2ZunnZL0eNuQdopNLnNyyL8,59
182
+ holado_django/server/django_projects/rest_api/rest_api/application/tests.py,sha256=oGgalLR6qiJdN-bHSH1ZLbRNhJHX_MyZtKsaR4jRy_Q,62
183
+ holado_django/server/django_projects/rest_api/rest_api/application/views.py,sha256=BIgOSBC4dya-nkM7xQye____ahFlz1l5g1zQgWvw3hI,120
184
+ holado_django/server/django_projects/rest_api/rest_api/application/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
+ holado_django/tests/behave/steps/__init__.py,sha256=1x7ID0w53eDe1P-n4Y5XOnLOTg_bta54gZE2YI0-IHo,1281
186
+ holado_django/tests/behave/steps/django_server_steps.py,sha256=XAnKDUXJxsZ4L7-PYatjevh2BT3qdKIg5sXXG5Y3QFQ,3819
163
187
  holado_docker/__init__.py,sha256=CtGYR7aEkaCdAHPDAsu_ErjpVtYE0yz9wbgbfRUwS8s,1574
164
188
  holado_docker/sdk/docker/docker_client.py,sha256=bSJ66HkukTRDQxZuyUT_4CJctxYAO68kHZ6oxVmuqaI,10744
165
189
  holado_docker/sdk/docker/docker_service.py,sha256=SvMSIZ7XTCbC7q5rur03lJhJVSHL3uIq1dBQz9oDpkw,3767
@@ -182,7 +206,7 @@ holado_grpc/ipc/rpc/grpc_services.py,sha256=8nYMq9z5_zLW8T20Pg01DaziNNRXW7wor_WQ
182
206
  holado_grpc/tests/behave/steps/__init__.py,sha256=WBK90EHst7ZPtq9kvDCtv-3NL5h3FJ9_CYjKiquQEBk,1283
183
207
  holado_grpc/tests/behave/steps/api/grpc_client_steps.py,sha256=h3o7w3g3xpE22lp3Pprd8-5kU0StkdRCHl-Dsr2mz04,9531
184
208
  holado_grpc/tests/behave/steps/private/__init__.py,sha256=CWs_e6XSEnr9Y_kF3PxF3esA0EeRNnsqp4PEN8gBxrI,1276
185
- holado_grpc/tests/behave/steps/private/api/grpc_steps.py,sha256=nTsOZZjolMciOqJ01p9L4iqYIeSeBRjvrwL2_Py6rpg,3943
209
+ holado_grpc/tests/behave/steps/private/api/grpc_steps.py,sha256=MF0h_AXjKcvGQ-KyoCAVRgk6OoQbfe4_J37a4u5skfU,4094
186
210
  holado_helper/__init__.py,sha256=U5rV9zTT4OFE4MU2yiOIDlAmwQ_NO2CB0Adih2sn8eQ,1780
187
211
  holado_helper/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
188
212
  holado_helper/debug/README.txt,sha256=kpsK1Ii5-t5pJCL9ChcEbZYyYTKt34fjKdiMC5DGOjc,2045
@@ -193,8 +217,8 @@ holado_helper/docker/run_holado_test_nonreg_in_docker.sh,sha256=_ndFQXg4gBE3Zs6T
193
217
  holado_helper/docker/run_terminal_in_docker-with_docker_control.sh,sha256=EIKqew9xOAeA8KCEbz4DDSDM8s27g3FAT1j3sr2uWlI,3525
194
218
  holado_helper/docker/run_terminal_in_docker.sh,sha256=GOOhbo9cEjw5Pp5BlhbzZm2U5XqZoqhHcVjlUwdV4WA,3397
195
219
  holado_helper/holado_module_template/__init__.py,sha256=KpbIi2cm1BYZgoWf0LuhE0ei3ZCE15UcUtjC1cSA55M,1653
196
- holado_helper/holado_module_template/test/behave/steps/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
197
- holado_helper/holado_module_template/test/behave/steps/private/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
220
+ holado_helper/holado_module_template/tests/behave/steps/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
221
+ holado_helper/holado_module_template/tests/behave/steps/private/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
198
222
  holado_helper/script/action.py,sha256=YPLS-3Ot-bti9d6VxilW5PwfYCU64hFd1qK1d2XepFY,6187
199
223
  holado_helper/script/action_script.py,sha256=6yhb7M9aGe6jbqA4APa2rc3zC3INXvNTZjpGXDWMBug,22543
200
224
  holado_helper/script/any_action_script.py,sha256=6P1bG3UoSO0JVS6kWaDGd4jP7MN-foiThRcVitW3Hjg,7901
@@ -218,7 +242,7 @@ holado_keycloak/tests/behave/steps/tools/keycloak_client_steps.py,sha256=Dc1xB3q
218
242
  holado_keycloak/tools/keycloak/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
219
243
  holado_keycloak/tools/keycloak/keycloak_client.py,sha256=QXAsf9rF0pKq1dHhXeZFZOxuEg_1uzp6vqXnwWDnegg,4019
220
244
  holado_logging/__init__.py,sha256=EMmwm_jHe739gftVCmf6lb_dT20IVseVg0bbGGADn8w,2176
221
- holado_logging/common/logging/holado_logger.py,sha256=vlU_q5jYD9Qf-xWFBogeNiIR9qpRri-68OfMofgbhy4,3320
245
+ holado_logging/common/logging/holado_logger.py,sha256=PuHy9ne96MhO1f_YFQn9wUJvQrys7kuUoUUWF74hDz4,3083
222
246
  holado_logging/common/logging/log_config.py,sha256=DdYEW-2YSZ6QZDZCeVn_IZOKQlwWvqi2NWEbPhvExxw,6578
223
247
  holado_logging/common/logging/log_manager.py,sha256=gq92IAfnKEX-GKUHexNVgEI0UUrUdiWaC5GLcSTAaUE,13604
224
248
  holado_multitask/__init__.py,sha256=EwuwiBmp8ICbPZ8CKPju8tHRTh2rG68PB_wGXczY9rw,2143
@@ -227,15 +251,15 @@ holado_multitask/multiprocessing/periodic_function_process.py,sha256=ubbdm2XSwjB
227
251
  holado_multitask/multiprocessing/process.py,sha256=pSzeOXJpHF6poxT6oXx7g-2CcSm-EjVjSdZ4bIO3TD4,8591
228
252
  holado_multitask/multiprocessing/processesmanager.py,sha256=WCWD-Zo5adBNKz-X34VhD3QifrlgAIaLzU-fVsQKtCs,5905
229
253
  holado_multitask/multiprocessing/context/process_context.py,sha256=UADxmma8f5tW6etJz7kvrfDdeBOrFxNYCieRev0hFJY,1709
230
- holado_multitask/multitasking/multitask_manager.py,sha256=uXd16gZvcrbh1tPh_v_Au97Ysz3tvu14k2H3AzBVPy8,21385
254
+ holado_multitask/multitasking/multitask_manager.py,sha256=lPi4gqK9HNK3FR4Mi-0hDn43PEq7RxXJ4JXKl2Nr_DM,21838
231
255
  holado_multitask/multithreading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
256
  holado_multitask/multithreading/functionthreaded.py,sha256=gCLVMrxI18dKDNOQ9szH4hEKk_PQSWSuoO4enEEORzE,5570
233
257
  holado_multitask/multithreading/loopfunctionthreaded.py,sha256=5kfONDR76uuT1bTJrAtnfSncHwvVvzl8jagWUvTduHw,2492
234
258
  holado_multitask/multithreading/loopthread.py,sha256=4II3d22PRf891De8dd9P4WjuwI52KrTDRTSTPzzvso8,4265
235
259
  holado_multitask/multithreading/periodicfunctionthreaded.py,sha256=PCBKpbOIThNGLq12rOONAh2ECxEOmaOb6Aqj2Ob2XY8,6926
236
- holado_multitask/multithreading/thread.py,sha256=4zd5f3RFHPINhQzW6KUA4945npabKoOU7kAEIhdoOpA,8901
260
+ holado_multitask/multithreading/thread.py,sha256=dKgw1301nTv-8g7y29ecza9ZB5nhbAKCYs1p4KdmLUQ,9376
237
261
  holado_multitask/multithreading/threadsmanager.py,sha256=5a-kV8t0-lwL6a9vCLL3_Oi-i67epcqOWWBz6vIJFEU,8462
238
- holado_multitask/multithreading/timer.py,sha256=RIU9Cxm3CYVVGqtch2fAHNYnXOziq4PhZOu4LnKsE_o,2528
262
+ holado_multitask/multithreading/timer.py,sha256=77tI9WITN2CpQoY82SUYinoGzfx_stpqf2fRLUI1Itk,2638
239
263
  holado_multitask/multithreading/context/thread_context.py,sha256=pGcySQnqx92NIaVT64Ra3gIV7BpgBFfEy3N8PYTCOlI,3570
240
264
  holado_multitask/multithreading/reflection/inspect.py,sha256=yntSXI6YEZDBfqoDnB0KS6HGxs__qTQFwF6FLUDZqCI,2137
241
265
  holado_multitask/multithreading/reflection/sys.py,sha256=1Q7hX9nddjqUvfn-k39SuPQhwLjXJmB9gegV6vNM534,1558
@@ -258,7 +282,7 @@ holado_protobuf/tests/behave/steps/ipc/protobuf_steps.py,sha256=Pbw5E-AbTTSKR_i_
258
282
  holado_python/__init__.py,sha256=uZzFUgE2zqLWiM-2yF9D5KinWqZYqoXYMCiD02A3iW8,1657
259
283
  holado_python/common/enums.py,sha256=iwffWOqUdiFaOn83RPmjRVVHakTjQve55sNsbY4x8Ek,1535
260
284
  holado_python/common/iterables.py,sha256=YxJYr_Xg1st-E5tDbdg14JpVI_8kYsrBjMEM7Sqh4yY,1629
261
- holado_python/common/tools/datetime.py,sha256=1Oj6NQhTqRug3N-i5GtcfgTS0sTfHHC08GpFDFghwgI,11680
285
+ holado_python/common/tools/datetime.py,sha256=Wyg4i-lM0zbp3gC6cILmTtYwo3c6c5bhDAMJ86JUVJg,12163
262
286
  holado_python/common/tools/comparators/boolean_comparator.py,sha256=66AtqQ1u7NLTKAmgZHdnbE8vMPfgwJ2ZrzMiea90jX0,2042
263
287
  holado_python/common/tools/comparators/bytes_comparator.py,sha256=VKD5Q734n1k5Q0zX14fYgvM-66ysyRWkjo2fLgleyt0,2412
264
288
  holado_python/common/tools/comparators/datetime_comparator.py,sha256=6smSvQ7ErnNuBNHkSbkf4HoSUJU54DNS2ILhxM1FHAk,3487
@@ -281,8 +305,8 @@ holado_python/standard_library/ssl/resources/certificates/NOTES.txt,sha256=GlPGG
281
305
  holado_python/standard_library/ssl/resources/certificates/localhost.crt,sha256=iLmZpDuOQVawUlbZkb72g2-uv1c4SAmRJOrm4Th5anY,1123
282
306
  holado_python/standard_library/ssl/resources/certificates/localhost.key,sha256=lP2NCvB9mr2E5sk8whA8FyQRcyU6H7sdWkJeKz80Hyc,1704
283
307
  holado_python/standard_library/ssl/resources/certificates/rootCACert.pem,sha256=ECQDZ8OHRfqpZHCu6JRLMUjiONaPIhKZQF0-kidVrWQ,1424
284
- holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=dKBWzPBWggkaJcsa3gtVuwIuGpQ9sijHfoQa_Xo0kUY,1237
285
- holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=gm9RKRgXKofFe3Mvk_zykYH6Q6tmyLM6-vA5D7_Pm-U,1704
308
+ holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=erWTdXBZG0GrWy96lXxg6Dla6S13XdFPasAdUIYjz20,1237
309
+ holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=iJAMTlmRPP9URH2Xb5qnv8m-ttE4IYYdRPT5xhZB4_k,1704
286
310
  holado_python/tests/behave/steps/__init__.py,sha256=TWEk-kBTTDHi9I4nuu48nufmNMdZ9FHAhPZv0A_cWzc,1661
287
311
  holado_python/tests/behave/steps/convert_steps.py,sha256=bZqRvJVp_u6fSPpdu4ne9NwVyZmui7R-AVdO2-H-I1A,2728
288
312
  holado_python/tests/behave/steps/iterable_steps.py,sha256=f4vGIWBH8Qnjq69Q-ZBluYyctQ8SKauazTc41dsktZA,4041
@@ -298,8 +322,8 @@ holado_rabbitmq/__init__.py,sha256=4QWQhcore0gjLpI72i3m9CZpNP4RyvT-qiNUdP6AkCU,1
298
322
  holado_rabbitmq/tests/behave/steps/__init__.py,sha256=l-VWY2Qv9f-9ZoPmWjUmeurF8kayJCDMReHsCRwNwYc,1332
299
323
  holado_rabbitmq/tests/behave/steps/tools/rabbitmq_client_steps.py,sha256=z5BKvzoAZhiflSS7FCLOjV5V0HUcSbW5Fuxpp6JL3ZE,29795
300
324
  holado_rabbitmq/tests/behave/steps/tools/rabbitmq_server_steps.py,sha256=hG6sXnZhiJ2RzxFUmlyx2ymTQNTqL_99B0dp5od7PT8,3081
301
- holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py,sha256=ABv8GlwdZ_lvJQswL1Yz9kO6C7nXIKv4BSNb0JiByFo,15116
302
- holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py,sha256=mLDVuUZg5C2um4fo1FdXJaiEXRD0eFGS89aRkdCCuOI,29911
325
+ holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py,sha256=XjcllR9MKhTuj1Nibcd6DM-sCjwr7qWmBNVvREjd7KE,16486
326
+ holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py,sha256=hRbpGN9_dhrddTTjfA20XPzA-yeXyctN6kcOon4a5I4,29953
303
327
  holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py,sha256=jFxghEOohM8dUjXQg4FYLslJV-lT5xMSdVcKKAiQ8x4,7761
304
328
  holado_rabbitmq/tools/rabbitmq/rabbitmq_select_client.py,sha256=urWn9A8XZqpAAtbvRZ-YUGVbOX_1Y0uSBA2lHGqJxLA,21039
305
329
  holado_rabbitmq/tools/rabbitmq/rabbitmq_server.py,sha256=FW8iKAHm0I78bHQEbRk4rl0dtCmv4dvAe5BY_HfOQVM,1613
@@ -311,10 +335,11 @@ holado_redis/tools/redis/redis_client.py,sha256=KWuOrnwTcwt5xkD3rtI_l07v164Y_bso
311
335
  holado_redis/tools/redis/redis_manager.py,sha256=tMO0XrCZTCfGdByFfgWXk9R-I_TUPLO9wXMQf8yCYcQ,1814
312
336
  holado_report/__init__.py,sha256=ryApXT02HJHEeCQxA8grjw6Nml3LjZ31zqypFoJqzWg,1682
313
337
  holado_report/report/execution_historic.py,sha256=hXosOGtsq-O9Oq6AeBXWlnIQxSy3bv89QKYPCHF9_GY,6799
314
- holado_report/report/report_manager.py,sha256=gsC0OPHZSEFAzacbVdUpeFfIDqTiN_Fpz8xPcoqyc74,12135
338
+ holado_report/report/report_manager.py,sha256=PZ-nWMyOIGKpdC1tBY91j5sWWIK2FdWxUp7h0_1XpJI,12350
315
339
  holado_report/report/analyze/execution_historic_manager.py,sha256=FMKKPguXOvWNxjF7Q8DodHHsH-2ci9pFzrTV41B8nL4,4556
316
340
  holado_report/report/analyze/scenario_duration_manager.py,sha256=Preaxu83qFKGfbvQnzolhSXztZ4i5Zo_Bnxx8tNA80Q,12468
317
341
  holado_report/report/builders/detailed_scenario_failed_report_builder.py,sha256=LuuanB2BGnsY1EiCfmYIw-8CZY3nMsr0m2Oec4wyxkA,7501
342
+ holado_report/report/builders/failure_report_builder.py,sha256=hu_IOEK93IxtE5zpcXFwMUXgjMRN35bAyEUn5B4Uo3M,6397
318
343
  holado_report/report/builders/json_execution_historic_report_builder.py,sha256=M7OGUvkqNRTG5Td7fO96tv1SJEzRzjm0pl1W02v052E,5929
319
344
  holado_report/report/builders/report_builder.py,sha256=5qlhxbdTkSN7p9q6EADkpHQGPDVEHquIhgA3mK2Ck2k,2261
320
345
  holado_report/report/builders/short_scenario_failed_report_builder.py,sha256=aKFEb7ldCmW0LbsphEf77Be2AXPQHjQLooCnkfVrzf4,3838
@@ -325,15 +350,15 @@ holado_report/report/reports/base_report.py,sha256=NGnWe66uyvT4bCjhd3upwVpc6yQ2g
325
350
  holado_report/report/reports/feature_report.py,sha256=i0wpk3LQLArVjWDsP9UcNSJzAUWwLhe73HNyfye2gYQ,4810
326
351
  holado_report/report/reports/scenario_report.py,sha256=eMyqw9EzaKMmX3pGFJN1rqAOQ5eqO2ISZdxAfK3XQR4,2945
327
352
  holado_rest/__init__.py,sha256=BOeE6t6ejeqRYd44SE4vYJVTNz01BwcVCIWfwRQ5axg,1526
328
- holado_rest/api/rest/TODO.txt,sha256=2hhmTDatpplFhgv8fkBPM4WOa6pow-978-0pmN51cU0,59
329
- holado_rest/api/rest/rest_client.py,sha256=a6CNXBEkuCF3MJnXRVhvBrVKBRqtV4NFohFsdFaInUc,5729
353
+ holado_rest/api/rest/TODO.txt,sha256=Oz8BYPkBEs9OAEgyYLLm7i5tJ1bRE5POBpT3SRFWTi4,29
354
+ holado_rest/api/rest/rest_client.py,sha256=sa3xYJ2zts3cnRlHbxAIpN_B0stiaPrneOnqy2xzfgM,6531
330
355
  holado_rest/api/rest/rest_manager.py,sha256=nekokAwN73n7Dn3nLhwf22XaKDW1sYjy4-JLWdfGxBQ,3559
331
356
  holado_rest/tests/behave/steps/__init__.py,sha256=lEH5NYkKtpgDV2ZAO1qAGNN4ipwILWMpgvQgnamgYKk,1283
332
357
  holado_rest/tests/behave/steps/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
333
- holado_rest/tests/behave/steps/api/rest_client_steps.py,sha256=-msAniL0tBxhwPGIIWMryxuvVCfzQS_B2TngIdluVZg,9793
358
+ holado_rest/tests/behave/steps/api/rest_client_steps.py,sha256=naN0YcRVQyM--RhV0jPhnlsjZS6luijwGvVC5lM0XCY,9749
334
359
  holado_rest/tests/behave/steps/private/__init__.py,sha256=TGsd7qLZpPQRxphFzgepFa22NhHSoZgxAWSIqwvA4L8,1276
335
360
  holado_rest/tests/behave/steps/private/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
- holado_rest/tests/behave/steps/private/api/rest_steps.py,sha256=Sca0EM6uuzG-Zk976vz-EKvbwViha2vABAOpkXp9gTg,3360
361
+ holado_rest/tests/behave/steps/private/api/rest_steps.py,sha256=GT97p6BzX-fWDLMUIxZ7ingCP6pTwZgk_3QX7yEMhoE,3324
337
362
  holado_s3/__init__.py,sha256=Gl285tg-QaPE-3etWwZql9sH26G7EnVoQn97B0NMvOI,1248
338
363
  holado_s3/tests/behave/steps/__init__.py,sha256=q64qGCCey5QivEezEXq9LjABSBnjavTpq03PpaMSLkY,1320
339
364
  holado_s3/tests/behave/steps/private/__init__.py,sha256=JmVFxoOewwdE3uAgX4u2Y3tLWL_GdYW3h2ZawNdpn38,1276
@@ -392,8 +417,8 @@ holado_swagger/swagger_hub/mockserver/mockserver_client.py,sha256=L7P8aNi5Zuh2xR
392
417
  holado_swagger/swagger_hub/mockserver/mockserver_manager.py,sha256=5ubBMgtNNaoXcgDjPNM0BcJ0N_QaE_hvmy4i05Pq53w,1646
393
418
  holado_swagger/tests/behave/steps/__init__.py,sha256=joCT_nKaotXBBMNTXxOBcmr98gjmjDkY1Zbu5lCL8B4,1290
394
419
  holado_swagger/tests/behave/steps/swagger_hub/mockserver_steps.py,sha256=_M5WyF35qBjvDnXbohhMA9kV3D1H1aRnTBQ1iOtmxHA,3749
395
- holado_system/system/global_system.py,sha256=d0Qb7_toXeQfgWp4iFqqaTVr_z7n4Gx2TQWiSiF0J28,8233
396
- holado_system/system/command/command.py,sha256=7--EoIlTO5tsh7d5nugmt4UIY7yv8pUp2q7eJ7jlN7M,8169
420
+ holado_system/system/global_system.py,sha256=ZuC7Hbs3EMm2QQ6CRLYKMOS7ACcpi1N9vRuDhQT2jS8,8253
421
+ holado_system/system/command/command.py,sha256=9lv9kgvvIq4Fqx6fJXU_HQA8pCO80Ws9rpd2FwzAn0I,9053
397
422
  holado_system/system/command/command_result.py,sha256=sunGDegNVOtpK9s9r4HCAJlREu4iKS0w3HY4KKDEQkw,4613
398
423
  holado_system/system/command/curl_command.py,sha256=CEMaO0_qLyKe4tLytMlHzmCuS_gi-oU479hwOaEyZ60,3743
399
424
  holado_system/system/command/exceptions.py,sha256=InT6t8GVeGCiBE-NpRr4NzycWVAvzmc6WpM6mk7_1yk,2363
@@ -450,12 +475,13 @@ test_holado/Dockerfile_test_holado,sha256=zO6OUFnC1X9ZG7fPWWWfcWgZwnxif4WDE4ZDEm
450
475
  test_holado/__init__.py,sha256=TIHAHrF05rvz6-VDKuDBSBjasD6PxTxXvcXjMEC3D6E,54
451
476
  test_holado/__main__.py,sha256=PVdCX8V_RGRzbQQKVxf7eyt8a10XfUJ1pcaajGgIlus,1509
452
477
  test_holado/build_docker_image_to_test_holado_in_docker.sh,sha256=B3hbi0yKnEC-t9S18o6ZR27AU1bqiuptwOqm6H7tv8s,142
453
- test_holado/environment.py,sha256=X4a6q9Km_Ya8XFIjwlDULgEQOkucumXxjIrIRtK1GDY,2294
454
- test_holado/logging.conf,sha256=lPN0DwMK18nVcnVolVS32cFLHhv6NkWLo6fQW0BRDnk,1202
478
+ test_holado/environment.py,sha256=QgLXEPss9YbJLZywgIStDgLOOq0MHklzmRElTgZgzM8,2272
479
+ test_holado/initialize_holado.py,sha256=IPYH-GYNiHV5-7ZCCH6CFmPpmACsPrTV74TYz3MRjpA,3102
480
+ test_holado/logging.conf,sha256=L_8mMnRvVvUf5FKP0sqdgjbMmSeEIe6sDSFUX49DQ78,1263
455
481
  test_holado/test_holado_session_context.py,sha256=qOB_i2k8mYjkR3-q2uv0B04xFc1K3p-K20ttYwe1Z18,1364
456
482
  test_holado/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
457
- test_holado/features/NonReg/api/REST.feature,sha256=ouaDdgXulNlXcZ7fSrSGCX-qDmQoCpXWnR_hKcKh8M4,469
458
- test_holado/features/NonReg/api/gRPC.feature,sha256=2cQP2nWzrOG94HoxMFGIrfpPkLc_hkIQD8vi5UwVIDA,4805
483
+ test_holado/features/NonReg/api/REST.feature,sha256=yAhCpWk7HbHztkdwkfcU-TrfnJVoOzHvYMmk9pUy50A,689
484
+ test_holado/features/NonReg/api/gRPC.feature,sha256=IHPDsRHhKs5WgsrVXa_jiBjbvnVumCmsQ0O6RLkD1S4,4718
459
485
  test_holado/features/NonReg/common/multiprocessing/simple.feature,sha256=bNDoWWTg1vOy0O_-0fmAlBPDXSxt7GBdDNy3XvtoEfU,1729
460
486
  test_holado/features/NonReg/common/system/commands.feature,sha256=vx-ARlO21uPwJl7MNy7SD6EoLtAFRxPspEYVc8psSsU,1412
461
487
  test_holado/features/NonReg/common/system/system.feature,sha256=LILoPYkkHuG9n-8vMNcgu1getgJpQ8WZRE3WDsJOpUU,700
@@ -464,6 +490,29 @@ test_holado/features/NonReg/common/tables/value_table_conversion.feature,sha256=
464
490
  test_holado/features/NonReg/common/tools/DateTime.feature,sha256=Gf59f3iOdlE2fDnnZyNhz9SMqnl0W9mfLKvaWQVPuv4,3606
465
491
  test_holado/features/NonReg/common/tools/UniqueValueManager.feature,sha256=Ok-f0RB01KQGIbEVyZ8nNmXJ3Y-qs3rzHg1_EPHIkuQ,995
466
492
  test_holado/features/NonReg/holado_ais/ais_message-bitarray_to_nmea.feature,sha256=ILT9HR_v9kRSfoycMWtH329G5Wtx6H4Tu-V_uXXWphA,14188
493
+ test_holado/features/NonReg/holado_ais/message_types/type-10.feature,sha256=XNk-Z0HlLmDJPSDlgCMTeMGyIXo3rKS9As1C3IQCHUY,1495
494
+ test_holado/features/NonReg/holado_ais/message_types/type-12.feature,sha256=qG1Yt4klAdDpGi8ZU2NHeSsl3_wjIJr__iFcu_83v4g,1715
495
+ test_holado/features/NonReg/holado_ais/message_types/type-14.feature,sha256=ohBmsbuthRMRGtmfMj-aPpdupUG4O1mYSAHNsU14RdA,1570
496
+ test_holado/features/NonReg/holado_ais/message_types/type-15.feature,sha256=awQKEh-vYcT-Pco0TqdNBzb209YISpfJC7GCQRZxChg,1915
497
+ test_holado/features/NonReg/holado_ais/message_types/type-16.feature,sha256=9uBLWdoUAJbcQ8XjY1TFkUXzskDJh4vxT4gSX-q3Snc,1803
498
+ test_holado/features/NonReg/holado_ais/message_types/type-17.feature,sha256=SdLR3yxQ1VcYLpjIi_IOzs7tiv-1b293rRxGAvPo1xE,1743
499
+ test_holado/features/NonReg/holado_ais/message_types/type-18.feature,sha256=J0c85rJWEyV7qSo9IL4nE56qAy8PmJpKTVDJFXlERug,2357
500
+ test_holado/features/NonReg/holado_ais/message_types/type-19.feature,sha256=5GRe7IXmGc_-zhLiB9vsx9fIgG-uTQ4YuEPQbHWnnI8,2568
501
+ test_holado/features/NonReg/holado_ais/message_types/type-1_2_3.feature,sha256=30JTq9xcfdLJUesQUP09RXIg8MQvxql8yKnFlZoWYiQ,2283
502
+ test_holado/features/NonReg/holado_ais/message_types/type-20.feature,sha256=badMirPaJRTsbhsfNZvv4FEV0rB8lScEE-2xivAitrU,2466
503
+ test_holado/features/NonReg/holado_ais/message_types/type-21.feature,sha256=xDqfzp2z1gRuCIe553bQ0AVUrcX2vGHN0fNVTWxrLQs,2464
504
+ test_holado/features/NonReg/holado_ais/message_types/type-22.feature,sha256=x3RVWKorZH5E9ODOt6_vBWGtIQM9wCEOkxvCfemAxU8,4519
505
+ test_holado/features/NonReg/holado_ais/message_types/type-23.feature,sha256=d5SfiA-bXGql2pNZ6x1sG2svR1jk_OxaqslRa1LKHQc,2216
506
+ test_holado/features/NonReg/holado_ais/message_types/type-24.feature,sha256=ngYiOhE6D4dp5Cdm97REl20dbsfFbYhLBx-Y83p5g2Q,3621
507
+ test_holado/features/NonReg/holado_ais/message_types/type-25.feature,sha256=ECBzw-IRdKJqL2nyCQ9NoEikWrb_e8e7eEBhOwRiCKg,6878
508
+ test_holado/features/NonReg/holado_ais/message_types/type-26.feature,sha256=fiAhhYLK2yt2UibkWb_6D_3mSaRcK6sc0V8k7mDHbL0,7008
509
+ test_holado/features/NonReg/holado_ais/message_types/type-27.feature,sha256=fYH4tVzZ2Ngsi6A4qr8Gui2fMDtVLPmDAsV5ycAYTiM,1817
510
+ test_holado/features/NonReg/holado_ais/message_types/type-4_11.feature,sha256=uGc6JwB98Iiw97e7wXEgEOJJGzMkyIz5wjS-o2nb8JY,2172
511
+ test_holado/features/NonReg/holado_ais/message_types/type-5.feature,sha256=aVxQap88Myeut9lWmCIR4ONgiTNh8gkRZneajTqAcMM,2431
512
+ test_holado/features/NonReg/holado_ais/message_types/type-6.feature,sha256=q2Bcmjn-2yPHrK_VWsnoCY8MgGpLmcGdf8IXk6o6XPQ,1771
513
+ test_holado/features/NonReg/holado_ais/message_types/type-7_13.feature,sha256=FcnduMuDb8RHnb7bODmL1I5EleMAQWIaUKJrTN-xnxg,2188
514
+ test_holado/features/NonReg/holado_ais/message_types/type-8.feature,sha256=hYdJ8ln8fp06a0mNlVPErayC5t7k7162nVQwQ0XaRHo,1531
515
+ test_holado/features/NonReg/holado_ais/message_types/type-9.feature,sha256=JNiBFcp6wQwDRWt63DYdoPtsSsMGu8n79EbN3k0hsyk,2074
467
516
  test_holado/features/NonReg/holado_binary/bit_series.error.feature,sha256=6RVQIb5oeuEHM-MvR0z9t_uT81GY0MbpZOxZp4qf_x4,1903
468
517
  test_holado/features/NonReg/holado_binary/bit_series.feature,sha256=_FS1JMDFtt3LzBOhl92wgdznZJxbPAiFx9Z_p4mpJ_U,5730
469
518
  test_holado/features/NonReg/holado_protobuf/protobuf.feature,sha256=5PjD4R_ow3lMwWNFuemGZ6J0_A2_pzn-oNY4aV-wsGg,11857
@@ -504,8 +553,9 @@ test_holado/steps/private_steps.py,sha256=nhypmhPUbSAvOq-98kFOlc7uddKi5Qkoz_Mqxq
504
553
  test_holado/steps/public_steps.py,sha256=qKBNrNQNQqH6E3Y7L4yqs-6XEWbeTN-M4c1Lp5Nf3to,1324
505
554
  test_holado/tools/django/README.txt,sha256=yJhso4V-Sn0Ok6QTfn5I27g9KCXK6-dGkIQOy5kgo5U,74
506
555
  test_holado/tools/django/api_grpc/db.sqlite3,sha256=4k0iEt66XiVaWNgdAjqkq2lAnB6i4t7dcsN2UVV8n_I,131072
507
- test_holado/tools/django/api_grpc/manage.py,sha256=hlcoUzx8T42tj6mq2wBRorHAoCg2anAR3Wfkc9AFhkI,889
556
+ test_holado/tools/django/api_grpc/manage.py,sha256=90Y2fhWHRk1_8vnRBv_t6_q_Dn3dTp9fUYoDp5fOHmc,980
508
557
  test_holado/tools/django/api_grpc/manual_test_commands.txt,sha256=tcIOybu0GXaKsjT_xwhzJhvVoOqNG4Xp034gFSFo0f0,758
558
+ test_holado/tools/django/api_grpc/patch_djangogrpcframework.py,sha256=PNsSTgzUQVFeaejEuBsRkXOOQKnGweCsAPnPBlLJG6o,2019
509
559
  test_holado/tools/django/api_grpc/api_grpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
510
560
  test_holado/tools/django/api_grpc/api_grpc/asgi.py,sha256=HL0wl1nDWo9hahf-HsfkzbqwVP4KqOXlLdOQjV2G10Y,393
511
561
  test_holado/tools/django/api_grpc/api_grpc/settings.py,sha256=mMhispf5zXJKIv887h9uGqSI2KvxOz-xdL1taM6npnc,3274
@@ -524,7 +574,7 @@ test_holado/tools/django/api_grpc/api_grpc/api1/proto/__init__.py,sha256=47DEQpj
524
574
  test_holado/tools/django/api_grpc/api_grpc/api1/proto/account.proto,sha256=tNN1BhZwfQA5DCZPPZl1kRKvr5YCQO_bpbYljwQMcYs,544
525
575
  test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2.py,sha256=mah2kHJoZhxS_56rDUGKzCXlhSWLa0R8K-1f9nxFoIQ,2048
526
576
  test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2_grpc.py,sha256=w52rsJLeP6SASsCSv3am5gUp2s1tLqFeZNpCdIhlHqE,8255
527
- test_holado/tools/django/api_rest/db.sqlite3,sha256=LTdgzaQCLUU4RFe04EXGy_8bqY0b3fkkZFfZDJdV05Q,131072
577
+ test_holado/tools/django/api_rest/db.sqlite3,sha256=Lr1skP2c5Iwp1xDvTTV7_SFEtDtwh_SEKvc7wD5kLcs,131072
528
578
  test_holado/tools/django/api_rest/manage.py,sha256=ohpxT3Xl0XFkddXH-iVAqvDKw3rBbvL0b5m2LWj3JTo,664
529
579
  test_holado/tools/django/api_rest/api_rest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
530
580
  test_holado/tools/django/api_rest/api_rest/asgi.py,sha256=vQAEj8OApTRp7uSciDMDl8_Y8TXPrB6GiRXnW-TZHP8,393
@@ -539,7 +589,7 @@ test_holado/tools/django/api_rest/api_rest/api1/serializers.py,sha256=o_YxFr-tgC
539
589
  test_holado/tools/django/api_rest/api_rest/api1/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
540
590
  test_holado/tools/django/api_rest/api_rest/api1/views.py,sha256=kOt2xT6bxO47_z__5yYR9kcYIWWv4qYzpX0K8Tqonik,758
541
591
  test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
542
- holado-0.4.1.dist-info/METADATA,sha256=LkyjyCuo6hjHK4mtZwHiTHiz0P0L0YFAiwepTDC7dQg,6043
543
- holado-0.4.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
544
- holado-0.4.1.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
545
- holado-0.4.1.dist-info/RECORD,,
592
+ holado-0.5.2.dist-info/METADATA,sha256=xyAU8PGbI1Gwi45yArq_BB33HS-XXBYm5DBlMJPSGms,6065
593
+ holado-0.5.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
594
+ holado-0.5.2.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
595
+ holado-0.5.2.dist-info/RECORD,,
@@ -23,13 +23,15 @@ from holado_core.common.tools.tools import Tools
23
23
  from holado_python.standard_library.typing import Typing
24
24
  import copy
25
25
  from holado_core.common.exceptions.functional_exception import FunctionalException
26
+ from holado_ais.ais.enums import AISMessageType
26
27
 
27
28
  logger = logging.getLogger(__name__)
28
29
 
29
30
  try:
30
31
  import pyais
31
32
  from bitarray import bitarray
32
- from holado_ais.ais.patch_pyais import HATagBlock, HA_ais_to_nmea_0183
33
+ from pyais.encode import ais_to_nmea_0183
34
+ from pyais.messages import TagBlock
33
35
  with_pyais = True
34
36
 
35
37
  # Patch pyais with some fixes
@@ -55,23 +57,27 @@ class AISMessages(object):
55
57
  def __init__(self):
56
58
  self.__tag_block_group_id = 0
57
59
 
58
- def default_message_data(self, msg_type:int):
60
+ def default_message_data(self, msg_type:Union[int,str]):
59
61
  """Return default data values for required data by pyais but not functionnaly required.
60
62
  It is useful when generating custom messages, for example for tests.
61
63
  """
62
64
  return {}
63
65
 
64
- def new_message_as_bitarray_bytes(self, msg_type:int, data:Union[dict,TableWithHeader]):
66
+ def new_message_as_bitarray_bytes(self, msg_type:Union[int,str], data:Union[dict,TableWithHeader]):
65
67
  msg = self.new_message(msg_type, data)
66
68
  res = self.convert_message_to_bytes(msg)
67
69
  return res
68
70
 
69
- def new_message(self, msg_type:int, data:Union[dict,TableWithHeader]):
71
+ def new_message(self, msg_type:Union[int,str], data:Union[dict,TableWithHeader]):
70
72
  if isinstance(data, TableWithHeader):
71
73
  data = self.__convert_table_to_dict(data)
72
74
  if not isinstance(data, dict):
73
75
  raise TechnicalException(f"Unexpected data type '{Typing.get_object_class_fullname(data)}'")
74
76
 
77
+ # Add data key 'msg_type' if missing
78
+ if 'msg_type' not in data:
79
+ data['msg_type'] = self.__get_message_type_int(msg_type)
80
+
75
81
  message_type = self.__get_message_type(msg_type)
76
82
  res = message_type.create(**data)
77
83
  return res
@@ -87,7 +93,7 @@ class AISMessages(object):
87
93
  args = encoded_bytes.split(parts_separator)
88
94
  return pyais.decode(*args, error_if_checksum_invalid=True)
89
95
 
90
- def decode_message(self, msg_type:int, bit_array:Union[str,bitarray]):
96
+ def decode_message(self, msg_type:Union[int,str], bit_array:Union[str,bitarray]):
91
97
  if isinstance(bit_array, str):
92
98
  if StrTools.is_hex(bit_array) and not StrTools.is_bitarray(bit_array):
93
99
  bit_array = Binary.convert_hex_str_to_bin_str(bit_array)
@@ -98,21 +104,29 @@ class AISMessages(object):
98
104
  message_type = self.__get_message_type(msg_type)
99
105
  return message_type.from_bitarray(bit_array)
100
106
 
101
- def encode_raw_payload(self, payload_hex: str, tag_block: HATagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
107
+ def encode_raw_payload(self, payload:Union[str,bytes], tag_block: TagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
102
108
  from pyais.util import encode_ascii_6
103
109
 
110
+ if isinstance(payload, bytes):
111
+ payload_bytes = payload
112
+ elif isinstance(payload, str):
113
+ payload_bytes = bytes.fromhex(payload)
114
+ else:
115
+ raise TechnicalException(f"Unmanaged payload type '{Typing.get_object_class_fullname(payload)}'")
116
+
104
117
  payload_bitarray = bitarray()
105
- payload_bitarray.frombytes(bytes.fromhex(payload_hex))
118
+ payload_bitarray.frombytes(payload_bytes)
106
119
  payload_ascii6, fill_bits = encode_ascii_6(payload_bitarray)
107
120
 
108
121
  seq_id = kwargs.pop('seq_id') if 'seq_id' in kwargs else self.__tag_block_group_id % 10
109
122
  radio_channel = kwargs['radio_channel'] if 'radio_channel' in kwargs else 'A'
110
123
  group_id = kwargs.pop('group_id') if 'group_id' in kwargs else None
111
124
 
112
- sentences = HA_ais_to_nmea_0183(payload_ascii6, talker_id, radio_channel, fill_bits, seq_id)
125
+ # sentences = HA_ais_to_nmea_0183(payload_ascii6, talker_id, radio_channel, fill_bits, seq_id)
126
+ sentences = ais_to_nmea_0183(payload_ascii6, talker_id, radio_channel, fill_bits, seq_id)
113
127
  return self.__encode_add_tag_block(sentences, tag_block, with_tag_block=with_tag_block, group_id=group_id)
114
128
 
115
- def encode(self, data, tag_block: HATagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
129
+ def encode(self, data, tag_block: TagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
116
130
  if isinstance(data, pyais.messages.Payload):
117
131
  return self.encode_msg(data, tag_block=tag_block, with_tag_block=with_tag_block, talker_id=talker_id, **kwargs)
118
132
  elif isinstance(data, dict):
@@ -122,17 +136,18 @@ class AISMessages(object):
122
136
  else:
123
137
  raise TechnicalException(f"Unexpected data type '{Typing.get_object_class_fullname(data)}'")
124
138
 
125
- def encode_msg(self, msg, tag_block: HATagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
139
+ def encode_msg(self, msg, tag_block: TagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
126
140
  if not isinstance(msg, pyais.messages.Payload):
127
141
  raise TechnicalException(f"Parameter 'msg' is not an AIS message (obtained type: {Typing.get_object_class_fullname(msg)})")
128
142
 
129
143
  seq_id = kwargs.pop('seq_id') if 'seq_id' in kwargs else self.__tag_block_group_id % 10
130
144
  group_id = kwargs.pop('group_id') if 'group_id' in kwargs else None
131
145
 
146
+ logger.print(f"+++++++ encode_msg: {msg=} ; {talker_id=} ; {kwargs=}")
132
147
  sentences = pyais.encode_msg(msg, seq_id=seq_id, talker_id=talker_id, **kwargs)
133
148
  return self.__encode_add_tag_block(sentences, tag_block, with_tag_block=with_tag_block, group_id=group_id)
134
149
 
135
- def encode_data(self, data, tag_block: HATagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
150
+ def encode_data(self, data, tag_block: TagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
136
151
  if not isinstance(data, dict):
137
152
  raise TechnicalException(f"Parameter 'data' is not a dict (obtained type: {Typing.get_object_class_fullname(data)})")
138
153
 
@@ -142,11 +157,11 @@ class AISMessages(object):
142
157
  sentences = pyais.encode_dict(data, seq_id=seq_id, talker_id=talker_id, **kwargs)
143
158
  return self.__encode_add_tag_block(sentences, tag_block, with_tag_block=with_tag_block, group_id=group_id)
144
159
 
145
- def encode_table(self, table, tag_block: HATagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
160
+ def encode_table(self, table, tag_block: TagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
146
161
  data = self.__convert_table_to_dict(table)
147
162
  return self.encode_data(data, tag_block=tag_block, with_tag_block=with_tag_block, talker_id=talker_id, **kwargs)
148
163
 
149
- def __encode_add_tag_block(self, encoded_sentences, tag_block: HATagBlock = None, with_tag_block=True, group_id=None):
164
+ def __encode_add_tag_block(self, encoded_sentences, tag_block: TagBlock = None, with_tag_block=True, group_id=None):
150
165
  from pyais.messages import TagBlockGroup
151
166
 
152
167
  if not with_tag_block:
@@ -166,7 +181,7 @@ class AISMessages(object):
166
181
  sentence_tag_block = copy.deepcopy(tag_block) if index == 0 else None
167
182
  if group_id is not None:
168
183
  if sentence_tag_block is None:
169
- sentence_tag_block = HATagBlock()
184
+ sentence_tag_block = TagBlock(None)
170
185
  sentence_tag_block._group = TagBlockGroup(msg_id=index+1, total=nb_sentences, group_id=group_id)
171
186
 
172
187
  if sentence_tag_block is not None:
@@ -182,11 +197,25 @@ class AISMessages(object):
182
197
  def convert_message_to_bytes(self, msg):
183
198
  return msg.to_bitarray().tobytes()
184
199
 
185
- def __get_message_type(self, msg_type:int):
200
+ def __get_message_type(self, msg_type:Union[int,str]):
186
201
  import importlib
202
+
203
+ if isinstance(msg_type, str):
204
+ msg_type = AISMessageType[msg_type].value
205
+
187
206
  module = importlib.import_module('pyais.messages')
188
207
  res = getattr(module, f"MessageType{msg_type}")
189
208
  return res
209
+
210
+ def __get_message_type_int(self, msg_type:Union[int,str]):
211
+ if isinstance(msg_type, int):
212
+ return msg_type
213
+
214
+ if isinstance(msg_type, str):
215
+ msg_type = AISMessageType[msg_type]
216
+ if not isinstance(msg_type, AISMessageType):
217
+ raise TechnicalException(f"Unmanaged message type of class '{Typing.get_object_class_fullname(msg_type)}'")
218
+ return msg_type.value
190
219
 
191
220
  def __convert_table_to_dict(self, table):
192
221
  if not ValueTableManager.is_table_with_header(table):