holado 0.4.1__tar.gz → 0.5.2__tar.gz
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.
- holado-0.5.2/.gitlab-ci.yml +82 -0
- {holado-0.4.1 → holado-0.5.2}/PKG-INFO +2 -1
- holado-0.5.2/packaging/VERSION +1 -0
- {holado-0.4.1 → holado-0.5.2}/packaging/generate_distribution_archive.sh +1 -1
- {holado-0.4.1 → holado-0.5.2}/pyproject.toml +2 -1
- {holado-0.4.1 → holado-0.5.2}/requirements_docker.txt +4 -1
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/context/session_context.py +6 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/handlers/object.py +6 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/ais/ais_messages.py +44 -15
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/ais/patch_pyais.py +47 -176
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/tests/behave/steps/ais/ais_messages_steps.py +2 -6
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/resource/persisted_data_manager.py +4 -5
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/resource/resource_manager.py +4 -18
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tools/converters/converter.py +14 -3
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tools/tools.py +9 -2
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/tools/abstracts/blocking_command_service.py +9 -1
- holado-0.5.2/src/holado_data/data/generator/generator_manager.py +27 -0
- holado-0.5.2/src/holado_db/tools/db/clients/base/db_audit.py +94 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tools/db/clients/base/db_client.py +145 -59
- holado-0.5.2/src/holado_db/tools/db/clients/postgresql/postgresql_audit.py +75 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tools/db/clients/postgresql/postgresql_client.py +4 -0
- holado-0.5.2/src/holado_db/tools/db/clients/sqlite/sqlite_audit.py +70 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tools/db/clients/sqlite/sqlite_client.py +4 -0
- holado-0.5.2/src/holado_django/server/HOWTO.txt +27 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/db.sqlite3 +0 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/manage.py +22 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/application/admin.py +3 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/application/apps.py +9 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/application/models.py +3 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/application/tests.py +3 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/application/views.py +6 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/asgi.py +16 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/settings.py +130 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/urls.py +35 -0
- holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/wsgi.py +16 -0
- holado-0.5.2/src/holado_django/server/django_server.py +110 -0
- holado-0.5.2/src/holado_django/server/grpc_django_server.py +57 -0
- holado-0.5.2/src/holado_django/server/patch_djangogrpcframework.py +46 -0
- holado-0.5.2/src/holado_django/tests/behave/steps/__init__.py +16 -0
- holado-0.5.2/src/holado_django/tests/behave/steps/django_server_steps.py +83 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/db.sqlite3 +0 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/manage.py +22 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/admin.py +3 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/apps.py +7 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/models.py +3 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/tests.py +3 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/views.py +24 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/asgi.py +16 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/settings.py +130 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/urls.py +31 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/wsgi.py +16 -0
- holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_server.py +37 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_grpc/tests/behave/steps/private/api/grpc_steps.py +9 -9
- holado-0.5.2/src/holado_helper/initialize_holado.py +72 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_logging/common/logging/holado_logger.py +1 -6
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multitasking/multitask_manager.py +36 -10
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/thread.py +13 -7
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/timer.py +3 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/common/tools/datetime.py +31 -13
- holado-0.5.2/src/holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +21 -0
- holado-0.5.2/src/holado_python/standard_library/ssl/resources/certificates/tcpbin.key +28 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py +24 -2
- {holado-0.4.1 → holado-0.5.2}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py +2 -2
- holado-0.5.2/src/holado_report/report/builders/failure_report_builder.py +129 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/report_manager.py +4 -0
- holado-0.5.2/src/holado_rest/api/rest/TODO.txt +2 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rest/api/rest/rest_client.py +19 -7
- {holado-0.4.1 → holado-0.5.2}/src/holado_rest/tests/behave/steps/api/rest_client_steps.py +1 -2
- {holado-0.4.1 → holado-0.5.2}/src/holado_rest/tests/behave/steps/private/api/rest_steps.py +11 -13
- {holado-0.4.1 → holado-0.5.2}/src/holado_system/system/command/command.py +31 -9
- {holado-0.4.1 → holado-0.5.2}/src/holado_system/system/global_system.py +3 -3
- holado-0.5.2/src/holado_yaml/__init__.py +31 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/environment.py +6 -4
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/api/REST.feature +7 -2
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/api/gRPC.feature +0 -6
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-10.feature +38 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-12.feature +37 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-14.feature +36 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-15.feature +36 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-16.feature +38 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-17.feature +46 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-18.feature +37 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-19.feature +38 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-1_2_3.feature +42 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-20.feature +38 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-21.feature +37 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-22.feature +84 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-23.feature +49 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-24.feature +72 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-25.feature +143 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-26.feature +144 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-27.feature +36 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-4_11.feature +39 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-5.feature +33 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-6.feature +37 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-7_13.feature +43 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-8.feature +37 -0
- holado-0.5.2/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-9.feature +37 -0
- holado-0.5.2/tests/behave/test_holado/initialize_holado.py +62 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/logging.conf +3 -0
- holado-0.5.2/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/__init__.py +0 -0
- holado-0.5.2/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/migrations/__init__.py +0 -0
- holado-0.5.2/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/manage.py +2 -0
- holado-0.5.2/tests/behave/test_holado/tools/django/api_grpc/patch_djangogrpcframework.py +42 -0
- holado-0.5.2/tests/behave/test_holado/tools/django/api_rest/api_rest/__init__.py +0 -0
- holado-0.5.2/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/__init__.py +0 -0
- holado-0.5.2/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py +0 -0
- holado-0.5.2/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/serializers.py +15 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/db.sqlite3 +0 -0
- holado-0.4.1/.gitlab-ci.yml +0 -26
- holado-0.4.1/packaging/VERSION +0 -1
- holado-0.4.1/src/holado_data/data/generator/generator_manager.py +0 -39
- holado-0.4.1/src/holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +0 -21
- holado-0.4.1/src/holado_python/standard_library/ssl/resources/certificates/tcpbin.key +0 -28
- holado-0.4.1/src/holado_rest/api/rest/TODO.txt +0 -2
- {holado-0.4.1 → holado-0.5.2}/.gitignore +0 -0
- {holado-0.4.1 → holado-0.5.2}/Dockerfile +0 -0
- {holado-0.4.1 → holado-0.5.2}/INSTALL +0 -0
- {holado-0.4.1 → holado-0.5.2}/LICENSE +0 -0
- {holado-0.4.1 → holado-0.5.2}/NOTES.md +0 -0
- {holado-0.4.1 → holado-0.5.2}/README.md +0 -0
- {holado-0.4.1 → holado-0.5.2}/README.rst +0 -0
- {holado-0.4.1 → holado-0.5.2}/TODO +0 -0
- {holado-0.4.1 → holado-0.5.2}/dependencies/protoc/README.txt +0 -0
- {holado-0.4.1 → holado-0.5.2}/packaging/publish_distribution_archive.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/packaging/publish_distribution_archive_on_testpypi.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/requirements.txt +0 -0
- {holado-0.4.1 → holado-0.5.2}/resources/scripts/generate_scenario_duration_limits.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/resources/scripts/generate_scenario_duration_tags.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/resources/scripts/print_execution_historic.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/resources/scripts/update_scenario_duration_tags.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/resources/ssh/id_rsa +0 -0
- {holado-0.4.1 → holado-0.5.2}/resources/ssh/id_rsa.pub +0 -0
- {holado-0.4.1 → holado-0.5.2}/run_test.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/run_test_draft.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/run_test_needupdate.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/run_test_nonreg.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/context/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/context/context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/context/service_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/handlers/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/handlers/enums.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/handlers/undefined.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/tools/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/common/tools/gc_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado/holado_config.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/ais/MaritimeIdentificationDigits.csv +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/ais/ais_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/ais/ais_payload.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/ais/enums.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/tests/behave/steps/ais/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ais/tests/behave/steps/ais/ais_manager_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_binary/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_binary/ipc/binary.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_binary/ipc/bit_series.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_binary/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_binary/tests/behave/steps/ipc/binary_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_binary/tests/behave/steps/ipc/bit_series_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_context/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_context/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_context/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_context/tests/behave/steps/private/common/context_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/actors/actions.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/actors/actor.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/actors/element_actor.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/actors/find_actor.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/actors/tree_actor.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/actors/verify_actions.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/block/base.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/block/block_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/block/block_method.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/block/block_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/block/function.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/block/scope_function.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/block/scope_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/block/scope_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/criterias/and_criteria.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/criterias/criteria.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/criterias/or_criteria.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/criterias/tools/criteria_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/criterias/tools/criteria_parameters.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/drivers/driver.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/drivers/element_driver.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/drivers/element_internal_api.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/drivers/internal_api.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/drivers/tree_driver.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/drivers/tree_internal_api.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/exceptions/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/exceptions/element_exception.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/exceptions/exceptions.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/exceptions/functional_exception.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/exceptions/holado_exception.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/exceptions/technical_exception.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/exceptions/timeout_exception.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/exceptions/verify_exception.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/after_in_tree_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/element_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/else_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/or_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/then_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/tools/enums.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/tools/find_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/tools/find_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/tools/find_info.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/tools/find_parameters.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/tools/find_updater.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/tools/finder_info.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/finders/tree_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/handlers/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/handlers/abstracts/base_redo.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/handlers/abstracts/get_or_create.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/handlers/element_holder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/handlers/enums.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/handlers/exceptions/redo_exceptions.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/handlers/features/resource_by_name.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/handlers/features/resource_by_type.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/handlers/redo.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/handlers/wait.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/inspectors/element_inspector.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/inspectors/inspector.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/inspectors/tools/inspect_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/inspectors/tools/inspect_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/inspectors/tools/inspect_parameters.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/inspectors/tree_inspector.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/resource/persisted_method_to_call_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/boolean_table_cell_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/bytes_table_cell_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/datetime_table_cell_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/float_table_cell_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/integer_table_cell_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/internal_table_cell_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/string_table_cell_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/string_table_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/string_table_row_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/table_cell_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/table_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/table_comparator_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/table_row_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/comparators/table_with_header_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/converters/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/converters/table_converter.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/enums.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/table.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/table_cell.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/table_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/table_row.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tables/table_with_header.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tools/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tools/comparators/comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tools/comparators/object_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tools/path_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/common/tools/string_tools.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/tests/behave/steps/common/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/tests/behave/steps/common/common_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/tests/behave/steps/common/config_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/tests/behave/steps/common/resource_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/tests/behave/steps/common/tables_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/tools/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/tools/abstracts/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_core/tools/abstracts/service.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_crypto/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_crypto/crypto/transport/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_crypto/crypto/transport/crc.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_crypto/test/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_data/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_data/data/generator/base.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_data/data/generator/python_generator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_data/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_data/tests/behave/steps/data/generator_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_data/tests/behave/steps/tools/utils_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tests/behave/steps/tools/db/db_client_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tests/behave/steps/tools/db/postgresql_client_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tests/behave/steps/tools/db/sqlite_client_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tools/db/db_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tools/db/query/base/query_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tools/db/query/pypika/pypika_query_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_db/tools/db/query/query_manager.py +0 -0
- {holado-0.4.1/src/holado_helper/holado_module_template → holado-0.5.2/src/holado_django}/__init__.py +0 -0
- {holado-0.4.1/src/holado_grpc/ipc/rpc → holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api}/__init__.py +0 -0
- {holado-0.4.1/src/holado_json/tests/behave/steps/ipc → holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/application}/__init__.py +0 -0
- {holado-0.4.1/src/holado_keycloak/tools/keycloak → holado-0.5.2/src/holado_django/server/django_projects/rest_api/rest_api/application/migrations}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/sdk/docker/docker_client.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/sdk/docker/docker_service.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/tests/behave/steps/tools/docker_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/tools/docker_controler/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/tools/docker_controler/docker_controler_client.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/tools/docker_controler/docker_controler_server.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/tools/docker_controler/proto/compile_proto.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/tools/docker_controler/proto/definitions/docker_controler.proto +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/tools/docker_controler/proto/generated/docker_controler_pb2.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_docker/tools/docker_controler/proto/generated/docker_controler_pb2_grpc.py +0 -0
- {holado-0.4.1/src/holado_helper → holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example}/initialize_holado.py +0 -0
- {holado-0.4.1/src/holado_multitask/multithreading → holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api}/__init__.py +0 -0
- {holado-0.4.1/src/holado_protobuf/ipc/protobuf → holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application}/__init__.py +0 -0
- {holado-0.4.1/src/holado_protobuf/ipc/protobuf/types → holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/migrations}/__init__.py +0 -0
- {holado-0.4.1/tests/behave/test_holado/tools/django/api_rest/api_rest/api1 → holado-0.5.2/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application}/serializers.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/scripts/script_custom_initialization.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/scripts/script_minimal_initialization.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/__main__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/behave_environment.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/environment.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/features/Configuration/Actions/configure_system.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/features/NonReg/example.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/initialize_holado.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/logging.conf +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/requirements.txt +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/run_test.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/run_test_nonreg.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/src/common/tools/path_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/src/config/config_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/src/context/session_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/steps/config_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_examples/tests/behave/testing_solution/steps/public_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_grpc/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_grpc/api/rpc/TODO.txt +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_grpc/api/rpc/grpc_client.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_grpc/api/rpc/grpc_manager.py +0 -0
- {holado-0.4.1/src/holado_protobuf/ipc/protobuf/types/google → holado-0.5.2/src/holado_grpc/ipc/rpc}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_grpc/ipc/rpc/grpc_compiler.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_grpc/ipc/rpc/grpc_services.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_grpc/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_grpc/tests/behave/steps/api/grpc_client_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_grpc/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/debug/README.txt +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/debug/memory/memory_profiler.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/docker/init_user.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/docker/logging.conf +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/docker/run_holado_test_nonreg_in_docker.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/docker/run_terminal_in_docker-with_docker_control.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/docker/run_terminal_in_docker.sh +0 -0
- {holado-0.4.1/src/holado_yaml → holado-0.5.2/src/holado_helper/holado_module_template}/__init__.py +0 -0
- {holado-0.4.1/src/holado_helper/holado_module_template/test → holado-0.5.2/src/holado_helper/holado_module_template/tests}/behave/steps/__init__.py +0 -0
- {holado-0.4.1/src/holado_helper/holado_module_template/test → holado-0.5.2/src/holado_helper/holado_module_template/tests}/behave/steps/private/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/script/action.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/script/action_script.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/script/any_action_script.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/script/behave_action_script.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/script/csv_action_script.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/script/initialize_script.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/script/input_output_script.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/script/job.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/script/json_action_script.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_helper/script/script.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_json/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_json/ipc/json.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_json/ipc/json_converter.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_json/ipc/json_types.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_json/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1/src/holado_rest/tests/behave/steps/api → holado-0.5.2/src/holado_json/tests/behave/steps/ipc}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_json/tests/behave/steps/ipc/json_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_keycloak/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_keycloak/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_keycloak/tests/behave/steps/tools/keycloak_client_steps.py +0 -0
- {holado-0.4.1/src/holado_rest/tests/behave/steps/private/api → holado-0.5.2/src/holado_keycloak/tools/keycloak}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_keycloak/tools/keycloak/keycloak_client.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_logging/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_logging/common/logging/log_config.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_logging/common/logging/log_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multiprocessing/context/process_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multiprocessing/function_process.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multiprocessing/periodic_function_process.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multiprocessing/process.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multiprocessing/processesmanager.py +0 -0
- {holado-0.4.1/src/holado_s3/tools/s3 → holado-0.5.2/src/holado_multitask/multithreading}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/context/thread_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/functionthreaded.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/loopfunctionthreaded.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/loopthread.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/periodicfunctionthreaded.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/reflection/inspect.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/reflection/sys.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/reflection/traceback.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/multithreading/threadsmanager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/tests/behave/steps/multiprocessing_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_multitask/tests/behave/steps/multithreading_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_protobuf/__init__.py +0 -0
- {holado-0.4.1/src/holado_sftp/tools/sftp → holado-0.5.2/src/holado_protobuf/ipc/protobuf}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_protobuf/ipc/protobuf/abstracts/type.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_protobuf/ipc/protobuf/protobuf_compiler.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_protobuf/ipc/protobuf/protobuf_converter.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_protobuf/ipc/protobuf/protobuf_messages.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_protobuf/ipc/protobuf/protobuf_modifier.py +0 -0
- {holado-0.4.1/src/holado_test/behave → holado-0.5.2/src/holado_protobuf/ipc/protobuf/types}/__init__.py +0 -0
- {holado-0.4.1/src/holado_test/behave/scenario → holado-0.5.2/src/holado_protobuf/ipc/protobuf/types/google}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_protobuf/ipc/protobuf/types/google/protobuf.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_protobuf/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_protobuf/tests/behave/steps/ipc/protobuf_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/common/enums.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/common/iterables.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/common/tools/comparators/boolean_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/common/tools/comparators/bytes_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/common/tools/comparators/datetime_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/common/tools/comparators/float_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/common/tools/comparators/integer_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/common/tools/comparators/string_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/common/tools/comparators/type_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/csv.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/hashlib.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/multiprocessing.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/queue.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/socket/blocking_socket.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/socket/echo_server.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/socket/message_socket.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/socket/non_blocking_socket.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/socket/socket.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/ssl/resources/certificates/NOTES.txt +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/ssl/resources/certificates/localhost.crt +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/ssl/resources/certificates/localhost.key +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/ssl/resources/certificates/rootCACert.pem +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/ssl/ssl.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/standard_library/typing.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/builtins/str_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/convert_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/iterable_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/standard_library/csv_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/standard_library/datetime_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/standard_library/hashlib_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/standard_library/multiprocessing_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/standard_library/queue_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/standard_library/socket_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_python/tests/behave/steps/standard_library/ssl_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rabbitmq/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rabbitmq/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rabbitmq/tests/behave/steps/tools/rabbitmq_client_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rabbitmq/tests/behave/steps/tools/rabbitmq_server_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_select_client.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_server.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_redis/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_redis/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_redis/tests/behave/steps/tools/redis_client_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_redis/tools/redis/TODO.txt +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_redis/tools/redis/redis_client.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_redis/tools/redis/redis_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/analyze/execution_historic_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/analyze/scenario_duration_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/builders/detailed_scenario_failed_report_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/builders/json_execution_historic_report_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/builders/report_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/builders/short_scenario_failed_report_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/builders/summary_report_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/builders/summary_scenario_failed_report_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/builders/summary_scenario_report_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/execution_historic.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/reports/base_report.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/reports/feature_report.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_report/report/reports/scenario_report.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rest/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rest/api/rest/rest_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rest/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1/tests/behave/test_holado/features → holado-0.5.2/src/holado_rest/tests/behave/steps/api}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_rest/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.4.1/tests/behave/test_holado/steps → holado-0.5.2/src/holado_rest/tests/behave/steps/private/api}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_s3/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_s3/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_s3/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_s3/tests/behave/steps/private/tools/s3_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_s3/tests/behave/steps/tools/s3_client_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_s3/tests/behave/steps/tools/s3_server_steps.py +0 -0
- {holado-0.4.1/tests/behave/test_holado/tools/django/api_grpc/api_grpc → holado-0.5.2/src/holado_s3/tools/s3}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_s3/tools/s3/boto3_s3_client.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_s3/tools/s3/minio_client.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_s3/tools/s3/moto_server.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/common/tools/dynamic_text_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/common/tools/evaluate_parameters.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/common/tools/expression_evaluator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/common/tools/variable_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/tests/behave/steps/common/tools/variable_convert_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/tests/behave/steps/common/tools/variable_new_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/tests/behave/steps/common/tools/variable_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/tests/behave/steps/common/tools/variable_verify_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/tests/behave/steps/scenario/function_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/tests/behave/steps/scenario/if_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/tests/behave/steps/scenario/loop_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/base/base_function.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/base/base_verify_function.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/base/text_inspecter.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/exceptions/interpreter_exception.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_apply_function.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_cast.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_convert.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_dynamic_value.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_escape_all_bytes.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_exists_variable.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_hex_to_bytes.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_hex_to_int.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_to_base_64.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_to_bytes.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_to_hex.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/functions/function_to_string.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/interpreter/text_interpreter.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/verifier/exceptions/verifier_exception.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/verifier/functions/verify_function_extract_in.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/verifier/functions/verify_function_match_pattern.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_scripting/text/verifier/text_verifier.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_sftp/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_sftp/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_sftp/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_sftp/tests/behave/steps/private/tools/sftp_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_sftp/tests/behave/steps/tools/sftp_client_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_sftp/tests/behave/steps/tools/sftp_server_steps.py +0 -0
- {holado-0.4.1/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1 → holado-0.5.2/src/holado_sftp/tools/sftp}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_sftp/tools/sftp/sftp_client.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_sftp/tools/sftp/sftp_server.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_swagger/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_swagger/swagger_hub/mockserver/mockserver_client.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_swagger/swagger_hub/mockserver/mockserver_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_swagger/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_swagger/tests/behave/steps/swagger_hub/mockserver_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_system/system/command/command_result.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_system/system/command/curl_command.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_system/system/command/exceptions.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_system/system/filesystem/file.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_system/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_system/tests/behave/steps/system/commands_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_system/tests/behave/steps/system/file_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_system/tests/behave/steps/system/system_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/__init__.py +0 -0
- {holado-0.4.1/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/migrations → holado-0.5.2/src/holado_test/behave}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/behave/behave.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/behave/behave_environment.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/behave/behave_function.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/behave/behave_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/behave/independant_runner.py +0 -0
- {holado-0.4.1/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto → holado-0.5.2/src/holado_test/behave/scenario}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/behave/scenario/behave_step_tools.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/common/context/feature_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/common/context/scenario_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/common/context/step_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/common/exceptions/undefined_step_exception.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/scenario/step_tools.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/scenario/tester_tools.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/test_config.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/tests/behave/steps/scenario/exception_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/tests/behave/steps/scenario/scenario_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_test/tests/behave/steps/scenario/tester_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/actors/actions.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/actors/ui_actor.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/drivers/ui_driver.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/drivers/ui_driver_info.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/drivers/ui_internal_api.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/exceptions/focus_driver_exception.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/finders/ui_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/actors/gui_actor.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/criterias/enums.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/criterias/gui_criteria.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/drivers/gui_driver.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/drivers/gui_internal_api.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/finders/gui_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/handlers/label_gui_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/handlers/zone_gui_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/inspectors/gui_inspector.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/windows/gui_window.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/gui/windows/gui_window_info.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/handlers/ui_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/handlers/ui_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/inspectors/tools/ui_inspect_builder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/inspectors/tools/ui_inspect_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui/ui/inspectors/ui_inspector.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_mss/ui/mss/mss_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/actors/actions.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/actors/default_selenium_actor.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/actors/selenium_actor.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/criterias/selenium_criteria.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/criterias/selenium_criteria_and_verifier.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/drivers/selenium_driver.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/drivers/selenium_internal_api.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/drivers/web_driver_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/finders/by_selenium_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/finders/children_selenium_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/finders/parent_selenium_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/finders/selenium_finder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/handlers/enums.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_by.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_holder.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_redo.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_ui_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/inspectors/default_selenium_inspector.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/inspectors/selenium_inspector.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_cell_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_row_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_with_header_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/tables/converters/selenium_table_converter.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_cell.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_row.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_with_header.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/tools/selenium_path_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/windows/default_selenium_window.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium/ui/gui/selenium/windows/selenium_window.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium_angular/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium_angular/ui/gui/selenium/actors/angular_selenium_actor.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium_angular/ui/gui/selenium/inspectors/angular_selenium_inspector.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium_html/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium_html/ui/gui/selenium/actors/html_selenium_actor.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ui_selenium_html/ui/gui/selenium/inspectors/html_selenium_inspector.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tables/comparators/table_2_value_table_cell_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tables/comparators/table_2_value_table_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tables/comparators/table_2_value_table_row_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tables/comparators/table_2_value_table_with_header_comparator.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tables/converters/value_table_converter.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tables/value_table.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tables/value_table_cell.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tables/value_table_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tables/value_table_row.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tables/value_table_with_header.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tools/unique_value_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tools/value.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/common/tools/value_types.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_value/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ws/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ws/api/ws/TODO.txt +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ws/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_ws/tests/behave/steps/api/web_service_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_yaml/tests/behave/steps/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_yaml/tests/behave/steps/yaml_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/src/holado_yaml/yaml/yaml_manager.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/steps_catalog.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/Dockerfile_test_holado +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/__main__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/build_docker_image_to_test_holado_in_docker.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/common/multiprocessing/simple.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/common/system/commands.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/common/system/system.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/common/tables/table.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/common/tables/value_table_conversion.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/common/tools/DateTime.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/common/tools/UniqueValueManager.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_ais/ais_message-bitarray_to_nmea.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_binary/bit_series.error.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_binary/bit_series.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_protobuf/protobuf.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_python/convert.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_python/iterable.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_reset.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_with_tls_and_verify.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_with_tls_without_verify.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_without_tls.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_mtls.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_tls.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_without_tls.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/dynamic_text_manager.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/expression_evaluator.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/variable_manager.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.error.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/holado_yaml/yaml.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/ipc/json.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/scenario/scenario.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/test_steps/behave.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/test_steps/common.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/tools/RabbitMQ.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/tools/RabbitMQ_steps.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/tools/S3/boto3_client.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/tools/S3/minio_client.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/tools/db_sqlite3.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/NonReg/tools/sFTP.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/features/Test/logger.feature +0 -0
- {holado-0.4.1/tests/behave/test_holado/tools/django/api_rest/api_rest → holado-0.5.2/tests/behave/test_holado/features}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/resources/proto/definitions/protobuf/custom_types/field_types.proto +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/resources/proto/definitions/protobuf/protobuf.dev/tutorial/addressbook.proto +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/resources/proto/generated/protobuf/custom_types/field_types_pb2.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/resources/proto/generated/protobuf/protobuf/dev/tutorial/addressbook_pb2.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/resources/scripts/list_tags.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/resources/scripts/update_resources_proto_generated.py +0 -0
- {holado-0.4.1/tests/behave/test_holado/tools/django/api_rest/api_rest/api1 → holado-0.5.2/tests/behave/test_holado/steps}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/steps/private_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/steps/public_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/test_holado_session_context.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/README.txt +0 -0
- {holado-0.4.1/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/migrations → holado-0.5.2/tests/behave/test_holado/tools/django/api_grpc/api_grpc}/__init__.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/admin.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/apps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/models.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account.proto +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2_grpc.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/serializers.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/services.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/tests.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/views.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/asgi.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/settings.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/urls.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/wsgi.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/db.sqlite3 +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_grpc/manual_test_commands.txt +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/admin.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/apps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/models.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/tests.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/views.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/api_rest/asgi.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/api_rest/settings.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/api_rest/urls.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/api_rest/wsgi.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/behave/test_holado/tools/django/api_rest/manage.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/scripts/dgot/classement/classement.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/scripts/dgot/classement/classement.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/scripts/dgot/classement/commands.txt +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/scripts/independant_runner/environment.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/scripts/independant_runner/features/fake.feature +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/scripts/independant_runner/logging.conf +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/scripts/independant_runner/steps/public_steps.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/scripts/independant_runner/test.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/scripts/independant_runner/test.sh +0 -0
- {holado-0.4.1 → holado-0.5.2}/tests/scripts/script_tools.py +0 -0
- {holado-0.4.1 → holado-0.5.2}/upgrade_requirements_to_latest.sh +0 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
stages:
|
|
2
|
+
- dockerhub-build-publish
|
|
3
|
+
- gitlab-docker-build-publish
|
|
4
|
+
# - pypi-build-publish
|
|
5
|
+
|
|
6
|
+
variables:
|
|
7
|
+
DOCKER_IMAGE_TAG: "26.1"
|
|
8
|
+
PYTHON_IMAGE_TAG: "3.12"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
dockerhub-build-publish-latest:
|
|
12
|
+
stage: dockerhub-build-publish
|
|
13
|
+
|
|
14
|
+
image:
|
|
15
|
+
name: docker:${DOCKER_IMAGE_TAG}
|
|
16
|
+
|
|
17
|
+
variables:
|
|
18
|
+
IMAGE_TAG: index.docker.io/holado/python:latest
|
|
19
|
+
|
|
20
|
+
script:
|
|
21
|
+
- docker build -t ${IMAGE_TAG} .
|
|
22
|
+
- echo "$DOCKERHUB_TOKEN" | docker login docker.io -u holado --password-stdin
|
|
23
|
+
- docker push ${IMAGE_TAG}
|
|
24
|
+
|
|
25
|
+
rules:
|
|
26
|
+
- if: $CI_COMMIT_TAG
|
|
27
|
+
when: never
|
|
28
|
+
- if: $CI_COMMIT_BRANCH == "main"
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
dockerhub-build-publish-tag:
|
|
32
|
+
stage: dockerhub-build-publish
|
|
33
|
+
|
|
34
|
+
image:
|
|
35
|
+
name: docker:${DOCKER_IMAGE_TAG}
|
|
36
|
+
|
|
37
|
+
variables:
|
|
38
|
+
IMAGE_TAG: index.docker.io/holado/python:$CI_COMMIT_TAG
|
|
39
|
+
|
|
40
|
+
script:
|
|
41
|
+
- docker build -t ${IMAGE_TAG} .
|
|
42
|
+
- echo "$DOCKERHUB_TOKEN" | docker login docker.io -u holado --password-stdin
|
|
43
|
+
- docker push ${IMAGE_TAG}
|
|
44
|
+
|
|
45
|
+
rules:
|
|
46
|
+
- if: $CI_COMMIT_BRANCH == "main" && $CI_COMMIT_TAG
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
gitlab-docker-build-publish:
|
|
50
|
+
stage: gitlab-docker-build-publish
|
|
51
|
+
|
|
52
|
+
image:
|
|
53
|
+
name: docker:${DOCKER_IMAGE_TAG}
|
|
54
|
+
|
|
55
|
+
variables:
|
|
56
|
+
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
|
|
57
|
+
script:
|
|
58
|
+
- docker build -t ${IMAGE_TAG} .
|
|
59
|
+
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
60
|
+
- docker push ${IMAGE_TAG}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
# pypi-build-publish:
|
|
64
|
+
# stage: pypi-build-publish
|
|
65
|
+
#
|
|
66
|
+
# image:
|
|
67
|
+
# name: python:${PYTHON_IMAGE_TAG}
|
|
68
|
+
#
|
|
69
|
+
# script:
|
|
70
|
+
# - apt-get update -q -y
|
|
71
|
+
# - apt-get install -y python-pip
|
|
72
|
+
# - shopt -s expand_aliases
|
|
73
|
+
# - alias python=python3
|
|
74
|
+
# # - echo "$CI_COMMIT_TAG" > ./packaging/VERSION
|
|
75
|
+
# - ./packaging/generate_distribution_archive.sh
|
|
76
|
+
# - TWINE_PASSWORD=${PYPI_TOKEN} TWINE_USERNAME=__token__ ./packaging/publish_distribution_archive.sh
|
|
77
|
+
#
|
|
78
|
+
# rules:
|
|
79
|
+
# - if: $CI_COMMIT_TAG =~ /\d+\.\d+\.\d+.*/
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: holado
|
|
3
|
-
Version: 0.
|
|
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'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.5.2
|
|
@@ -29,6 +29,7 @@ keywords = [
|
|
|
29
29
|
dependencies = [
|
|
30
30
|
"behave==1.2.7.dev6",
|
|
31
31
|
"python-dateutil",
|
|
32
|
+
"psutil"
|
|
32
33
|
]
|
|
33
34
|
|
|
34
35
|
[project.optional-dependencies]
|
|
@@ -58,7 +59,7 @@ pattern = "(?P<version>[\\w.]+)"
|
|
|
58
59
|
|
|
59
60
|
[tool.hatch.build.targets.wheel]
|
|
60
61
|
packages = ["src/holado", "src/holado_ais", "src/holado_binary", "src/holado_context", "src/holado_core",
|
|
61
|
-
"src/holado_data", "src/holado_db", "src/holado_docker", "src/holado_grpc", "src/holado_helper", "src/holado_json",
|
|
62
|
+
"src/holado_data", "src/holado_db", "src/holado_django", "src/holado_docker", "src/holado_grpc", "src/holado_helper", "src/holado_json",
|
|
62
63
|
"src/holado_keycloak", "src/holado_logging", "src/holado_multitask", "src/holado_protobuf", "src/holado_python",
|
|
63
64
|
"src/holado_rabbitmq", "src/holado_redis", "src/holado_report", "src/holado_rest", "src/holado_s3",
|
|
64
65
|
"src/holado_scripting", "src/holado_sftp", "src/holado_swagger", "src/holado_system", "src/holado_test",
|
|
@@ -3,6 +3,8 @@ behave==1.2.7.dev6
|
|
|
3
3
|
#git+https://github.com/behave/behave@v1.2.7.dev5
|
|
4
4
|
|
|
5
5
|
python-dateutil
|
|
6
|
+
psutil
|
|
7
|
+
prettytable
|
|
6
8
|
|
|
7
9
|
# For RabbitMQ module
|
|
8
10
|
pika
|
|
@@ -67,7 +69,8 @@ pympler # memory profiling
|
|
|
67
69
|
pyyaml
|
|
68
70
|
|
|
69
71
|
# For ssl: next packages have sometimes to be updated
|
|
70
|
-
pip-system-certs
|
|
72
|
+
#pip-system-certs #Note: [28/07/2025] since recent modifications in urllib, pip-system-certs is broken, it is recommended to use truststore instead
|
|
73
|
+
truststore
|
|
71
74
|
certifi
|
|
72
75
|
pyOpenSSL
|
|
73
76
|
|
|
@@ -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
|
|
@@ -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
|
|
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,
|
|
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(
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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 =
|
|
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):
|
|
@@ -25,112 +25,23 @@ from bitarray import bitarray
|
|
|
25
25
|
import attr
|
|
26
26
|
import typing
|
|
27
27
|
import pyais
|
|
28
|
-
from pyais.messages import Payload, bit_field, from_mmsi, NMEA_VALUE, CommunicationStateMixin,
|
|
29
|
-
from_lat_lon, to_lat_lon, from_10th, to_10th, from_lat_lon_600, to_lat_lon_600
|
|
30
|
-
|
|
28
|
+
from pyais.messages import Payload, bit_field, from_mmsi, NMEA_VALUE, CommunicationStateMixin, from_speed, to_speed,\
|
|
29
|
+
from_lat_lon, to_lat_lon, from_10th, to_10th, from_lat_lon_600, to_lat_lon_600,\
|
|
30
|
+
from_turn, to_turn, ANY_MESSAGE
|
|
31
|
+
from pyais.util import get_int, from_bytes_signed, from_bytes, bits2bytes, chunks, str_to_bin, bytes2bits
|
|
31
32
|
from pyais.exceptions import InvalidDataTypeException
|
|
32
|
-
from pyais.
|
|
33
|
-
|
|
34
|
-
from pyais.constants import NavigationStatus, TurnRate, ManeuverIndicator, EpfdType, ShipType, NavAid, StationType, TransmitMode, StationIntervals
|
|
33
|
+
from pyais.constants import NavigationStatus, EpfdType, ShipType, NavAid, StationType, TransmitMode, StationIntervals,\
|
|
34
|
+
TurnRate, ManeuverIndicator
|
|
35
35
|
import functools
|
|
36
36
|
|
|
37
37
|
logger = logging.getLogger(__name__)
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
# Note: parameter seq_id is just added in some methods of pyais.encode module
|
|
43
|
-
|
|
44
|
-
def HA_ais_to_nmea_0183(payload: str, ais_talker_id: str, radio_channel: str, fill_bits: int, seq_id: str = None) -> AIS_SENTENCES:
|
|
45
|
-
"""
|
|
46
|
-
Splits the AIS payload into sentences, ASCII encodes the payload, creates
|
|
47
|
-
and sends the relevant NMEA 0183 sentences. Messages have a maximum length
|
|
48
|
-
of 82 characters, including the $ or ! starting character and the ending <LF>.
|
|
49
|
-
|
|
50
|
-
HINT:
|
|
51
|
-
This method takes care of splitting large payloads (larger than 60 characters)
|
|
52
|
-
into multiple sentences. With a total of 80 maximum chars excluding end of line
|
|
53
|
-
per sentence, and 20 chars head + tail in the nmea 0183 carrier protocol, 60
|
|
54
|
-
chars remain for the actual payload.
|
|
55
|
-
|
|
56
|
-
@param payload: Armored AIs payload.
|
|
57
|
-
@param ais_talker_id: AIS talker ID (AIVDO or AIVDM)
|
|
58
|
-
@param radio_channel: Radio channel (either A or B)
|
|
59
|
-
@param fill_bits: The number of fill bits requires to pad the data payload to a 6 bit boundary.
|
|
60
|
-
@return: A list of relevant AIS sentences.
|
|
61
|
-
"""
|
|
62
|
-
messages = []
|
|
63
|
-
max_len = 60
|
|
64
|
-
frag_cnt = math.ceil(len(payload) / max_len)
|
|
65
|
-
if seq_id is None:
|
|
66
|
-
seq_id = '0' if frag_cnt > 1 else ''
|
|
67
|
-
elif frag_cnt == 1:
|
|
68
|
-
seq_id = ''
|
|
69
|
-
|
|
70
|
-
if len(ais_talker_id) != 5:
|
|
71
|
-
raise ValueError("AIS talker is must have exactly 6 characters. E.g. AIVDO")
|
|
72
|
-
|
|
73
|
-
if len(radio_channel) != 1:
|
|
74
|
-
raise ValueError("Radio channel must be a single character")
|
|
75
|
-
|
|
76
|
-
for frag_num, chunk in enumerate(chunks(payload, max_len), start=1):
|
|
77
|
-
tpl = "!{},{},{},{},{},{},{}*{:02X}"
|
|
78
|
-
fill_bits_frag = fill_bits if frag_num == frag_cnt else 0 # Make sure we set fill bits only for last fragment
|
|
79
|
-
dummy_message = tpl.format(ais_talker_id, frag_cnt, frag_num, seq_id, radio_channel, chunk, fill_bits_frag, 0)
|
|
80
|
-
checksum = compute_checksum(dummy_message)
|
|
81
|
-
msg = tpl.format(ais_talker_id, frag_cnt, frag_num, seq_id, radio_channel, chunk, fill_bits_frag, checksum)
|
|
82
|
-
messages.append(msg)
|
|
83
|
-
|
|
84
|
-
return messages
|
|
85
|
-
|
|
86
|
-
pyais.ais_to_nmea_0183 = HA_ais_to_nmea_0183
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
def HA_encode_dict(data: DATA_DICT, talker_id: str = "AIVDO", radio_channel: str = "A", seq_id: str = None) -> AIS_SENTENCES:
|
|
90
|
-
"""
|
|
91
|
-
Takes a dictionary of data and some NMEA specific kwargs and returns the NMEA 0183 encoded AIS sentence.
|
|
92
|
-
|
|
93
|
-
Notes:
|
|
94
|
-
- the data dict should also contain the AIS message type (1-27) under the `type` key.
|
|
95
|
-
- different messages take different keywords. Refer to the payload classes above to get a glimpse
|
|
96
|
-
on what fields each AIS message can take.
|
|
97
|
-
|
|
98
|
-
@param data: The AIS data as a dictionary.
|
|
99
|
-
@param talker_id: AIS packets have the introducer "AIVDM" or "AIVDO";
|
|
100
|
-
AIVDM packets are reports from other ships and AIVDO packets are reports from your own ship.
|
|
101
|
-
@param radio_channel: The radio channel. Can be either 'A' (default) or 'B'.
|
|
102
|
-
@return: NMEA 0183 encoded AIS sentences.
|
|
103
|
-
|
|
104
|
-
"""
|
|
105
|
-
if talker_id not in ("AIVDM", "AIVDO"):
|
|
106
|
-
raise ValueError("talker_id must be any of ['AIVDM', 'AIVDO']")
|
|
107
|
-
|
|
108
|
-
if radio_channel not in ('A', 'B'):
|
|
109
|
-
raise ValueError("radio_channel must be any of ['A', 'B']")
|
|
110
|
-
|
|
111
|
-
ais_type = get_ais_type(data)
|
|
112
|
-
payload = data_to_payload(ais_type, data)
|
|
113
|
-
armored_payload, fill_bits = payload.encode()
|
|
114
|
-
return pyais.ais_to_nmea_0183(armored_payload, talker_id, radio_channel, fill_bits, seq_id=seq_id)
|
|
115
|
-
|
|
116
|
-
pyais.encode_dict = HA_encode_dict
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
def HA_encode_msg(msg: Payload, talker_id: str = "AIVDO", radio_channel: str = "A", seq_id: str = None) -> AIS_SENTENCES:
|
|
120
|
-
if talker_id not in ("AIVDM", "AIVDO"):
|
|
121
|
-
raise ValueError("talker_id must be any of ['AIVDM', 'AIVDO']")
|
|
122
|
-
|
|
123
|
-
if radio_channel not in ('A', 'B'):
|
|
124
|
-
raise ValueError("radio_channel must be any of ['A', 'B']")
|
|
125
|
-
|
|
126
|
-
armored_payload, fill_bits = msg.encode()
|
|
127
|
-
return pyais.ais_to_nmea_0183(armored_payload, talker_id, radio_channel, fill_bits, seq_id=seq_id)
|
|
128
|
-
|
|
129
|
-
pyais.encode_msg = HA_encode_msg
|
|
130
|
-
|
|
41
|
+
### Fix conversion of message types to/from bitarray
|
|
131
42
|
|
|
132
43
|
# All @ at end of string are considered padding.
|
|
133
|
-
# Note: in pyais implementation, decode is stopped at first
|
|
44
|
+
# Note: in pyais implementation, decode is stopped at first @, which can be a regular field information, and following regular characters are skipped.
|
|
134
45
|
def HA_decode_bin_as_ascii6(bit_arr: bitarray) -> str:
|
|
135
46
|
"""
|
|
136
47
|
Decode binary data as 6 bit ASCII.
|
|
@@ -166,7 +77,7 @@ def HA_int_to_bin(val: typing.Union[int, bool], width: int, signed: bool = True)
|
|
|
166
77
|
Compared to pyais implementation, the behaviour is changed if the value is too great to fit into
|
|
167
78
|
`width` bits:
|
|
168
79
|
- in pyais, the maximum possible number that still fits is used,
|
|
169
|
-
- in this implementation,
|
|
80
|
+
- in this implementation, a ValueError is raised.
|
|
170
81
|
|
|
171
82
|
@param val: Any integer or boolean value.
|
|
172
83
|
@param width: The bit width. If less than width bits are required, leading zeros are added.
|
|
@@ -191,52 +102,11 @@ pyais.util.int_to_bin = HA_int_to_bin
|
|
|
191
102
|
pyais.messages.int_to_bin = HA_int_to_bin
|
|
192
103
|
|
|
193
104
|
|
|
194
|
-
# Add spare field management
|
|
195
|
-
|
|
196
|
-
def bit_field(width: int, d_type: typing.Type[typing.Any],
|
|
197
|
-
from_converter: typing.Optional[typing.Callable[[typing.Any], typing.Any]] = None,
|
|
198
|
-
to_converter: typing.Optional[typing.Callable[[typing.Any], typing.Any]] = None,
|
|
199
|
-
default: typing.Optional[typing.Any] = None,
|
|
200
|
-
signed: bool = False,
|
|
201
|
-
variable_length: bool = False,
|
|
202
|
-
is_spare: bool = False,
|
|
203
|
-
**kwargs: typing.Any) -> typing.Any:
|
|
204
|
-
"""Same as pyais bit_field function, but adds a metadata 'is_spare' at True.
|
|
205
|
-
Metadata 'is_spare' is used to know which fields must not be exported when converting message to dict or json.
|
|
206
|
-
"""
|
|
207
|
-
return attr.ib(
|
|
208
|
-
metadata={
|
|
209
|
-
'width': width,
|
|
210
|
-
'd_type': d_type,
|
|
211
|
-
'from_converter': from_converter,
|
|
212
|
-
'to_converter': to_converter,
|
|
213
|
-
'signed': signed,
|
|
214
|
-
'default': default,
|
|
215
|
-
'variable_length': variable_length,
|
|
216
|
-
'is_spare': is_spare
|
|
217
|
-
},
|
|
218
|
-
**kwargs
|
|
219
|
-
)
|
|
220
|
-
|
|
221
|
-
pyais.messages.bit_field = bit_field
|
|
222
|
-
|
|
223
|
-
|
|
224
105
|
@attr.s(slots=True)
|
|
225
106
|
class HAPayload(Payload):
|
|
226
|
-
"""Payload class with
|
|
107
|
+
"""Payload class with fix in to/from bitarray conversion.
|
|
227
108
|
"""
|
|
228
109
|
|
|
229
|
-
def asdict(self, enum_as_int: bool = False, with_spare: bool = False) -> typing.Dict[str, typing.Optional[NMEA_VALUE]]:
|
|
230
|
-
res = super().asdict(enum_as_int)
|
|
231
|
-
|
|
232
|
-
# Remove spare fields
|
|
233
|
-
if not with_spare:
|
|
234
|
-
for field in self.fields():
|
|
235
|
-
if 'is_spare' in field.metadata and field.metadata['is_spare']:
|
|
236
|
-
del res[field.name]
|
|
237
|
-
|
|
238
|
-
return res
|
|
239
|
-
|
|
240
110
|
@classmethod
|
|
241
111
|
def from_bitarray(cls, bit_arr: bitarray) -> "ANY_MESSAGE":
|
|
242
112
|
cur: int = 0
|
|
@@ -367,7 +237,7 @@ class HAPayload(Payload):
|
|
|
367
237
|
|
|
368
238
|
|
|
369
239
|
# Fix message types:
|
|
370
|
-
# -
|
|
240
|
+
# - Use fixes of Payload implemented in HAPayload, in all message types
|
|
371
241
|
# - type 21: exclude full_name property from asdict result
|
|
372
242
|
# - type 26: fix create and from_bitarray methods
|
|
373
243
|
|
|
@@ -736,6 +606,38 @@ pyais.messages.MessageType17 = HAMessageType17
|
|
|
736
606
|
pyais.messages.MSG_CLASS[17] = pyais.messages.MessageType17
|
|
737
607
|
|
|
738
608
|
|
|
609
|
+
@attr.s(slots=True)
|
|
610
|
+
class HAMessageType18(HAPayload, CommunicationStateMixin):
|
|
611
|
+
"""
|
|
612
|
+
Standard Class B CS Position Report
|
|
613
|
+
Src: https://gpsd.gitlab.io/gpsd/AIVDM.html#_type_18_standard_class_b_cs_position_report
|
|
614
|
+
"""
|
|
615
|
+
msg_type = bit_field(6, int, default=18, signed=False)
|
|
616
|
+
repeat = bit_field(2, int, default=0, signed=False)
|
|
617
|
+
mmsi = bit_field(30, int, from_converter=from_mmsi)
|
|
618
|
+
|
|
619
|
+
reserved_1 = bit_field(8, int, default=0, signed=False)
|
|
620
|
+
speed = bit_field(10, float, from_converter=from_speed, to_converter=to_speed, default=0, signed=False)
|
|
621
|
+
accuracy = bit_field(1, bool, default=0, signed=False)
|
|
622
|
+
lon = bit_field(28, float, from_converter=from_lat_lon, to_converter=to_lat_lon, signed=True, default=0)
|
|
623
|
+
lat = bit_field(27, float, from_converter=from_lat_lon, to_converter=to_lat_lon, signed=True, default=0)
|
|
624
|
+
course = bit_field(12, float, from_converter=from_10th, to_converter=to_10th, default=0, signed=False)
|
|
625
|
+
heading = bit_field(9, int, default=0, signed=False)
|
|
626
|
+
second = bit_field(6, int, default=0, signed=False)
|
|
627
|
+
reserved_2 = bit_field(2, int, default=0, signed=False)
|
|
628
|
+
cs = bit_field(1, bool, default=0, signed=False)
|
|
629
|
+
display = bit_field(1, bool, default=0)
|
|
630
|
+
dsc = bit_field(1, bool, default=0)
|
|
631
|
+
band = bit_field(1, bool, default=0)
|
|
632
|
+
msg22 = bit_field(1, bool, default=0)
|
|
633
|
+
assigned = bit_field(1, bool, default=0)
|
|
634
|
+
raim = bit_field(1, bool, default=0)
|
|
635
|
+
radio = bit_field(20, int, default=0)
|
|
636
|
+
|
|
637
|
+
pyais.messages.MessageType18 = HAMessageType18
|
|
638
|
+
pyais.messages.MSG_CLASS[18] = pyais.messages.MessageType18
|
|
639
|
+
|
|
640
|
+
|
|
739
641
|
@attr.s(slots=True)
|
|
740
642
|
class HAMessageType19(HAPayload):
|
|
741
643
|
"""
|
|
@@ -1064,7 +966,7 @@ class HAMessageType24PartA(HAPayload):
|
|
|
1064
966
|
mmsi = bit_field(30, int, from_converter=from_mmsi)
|
|
1065
967
|
|
|
1066
968
|
# partno = bit_field(2, int, default=0, signed=False)
|
|
1067
|
-
reserved = bit_field(1, int, default=0, signed=False)
|
|
969
|
+
reserved = bit_field(1, int, default=0, signed=False, is_spare=True)
|
|
1068
970
|
partno = bit_field(1, int, default=0, signed=False)
|
|
1069
971
|
shipname = bit_field(120, str, default='')
|
|
1070
972
|
spare_1 = bit_field(8, bytes, default=b'', is_spare=True)
|
|
@@ -1078,7 +980,9 @@ class HAMessageType24PartB(HAPayload):
|
|
|
1078
980
|
repeat = bit_field(2, int, default=0, signed=False)
|
|
1079
981
|
mmsi = bit_field(30, int, from_converter=from_mmsi)
|
|
1080
982
|
|
|
1081
|
-
partno = bit_field(2, int, default=0, signed=False)
|
|
983
|
+
# partno = bit_field(2, int, default=0, signed=False)
|
|
984
|
+
reserved = bit_field(1, int, default=0, signed=False, is_spare=True)
|
|
985
|
+
partno = bit_field(1, int, default=0, signed=False)
|
|
1082
986
|
ship_type = bit_field(8, int, default=0, signed=False)
|
|
1083
987
|
vendorid = bit_field(18, str, default='', signed=False)
|
|
1084
988
|
model = bit_field(4, int, default=0, signed=False)
|
|
@@ -1266,38 +1170,5 @@ pyais.messages.MessageType27 = HAMessageType27
|
|
|
1266
1170
|
pyais.messages.MSG_CLASS[27] = pyais.messages.MessageType27
|
|
1267
1171
|
|
|
1268
1172
|
|
|
1269
|
-
# Manage tag blocks
|
|
1270
|
-
|
|
1271
|
-
class HATagBlock(TagBlock):
|
|
1272
|
-
def __init__(self, raw: bytes = None) -> None:
|
|
1273
|
-
super().__init__(raw)
|
|
1274
|
-
|
|
1275
|
-
def to_raw(self):
|
|
1276
|
-
fields = []
|
|
1277
|
-
if self._group is not None:
|
|
1278
|
-
fields.append(f"g:{self._group}")
|
|
1279
|
-
if self._source_station is not None:
|
|
1280
|
-
fields.append(f"s:{self._source_station}")
|
|
1281
|
-
if self._receiver_timestamp is not None:
|
|
1282
|
-
fields.append(f"c:{self._receiver_timestamp}")
|
|
1283
|
-
if self._destination_station is not None:
|
|
1284
|
-
fields.append(f"d:{self._destination_station}")
|
|
1285
|
-
if self._line_count is not None:
|
|
1286
|
-
fields.append(f"n:{self._line_count}")
|
|
1287
|
-
if self._relative_time is not None:
|
|
1288
|
-
fields.append(f"r:{self._relative_time}")
|
|
1289
|
-
if self._text is not None:
|
|
1290
|
-
fields.append(f"t:{self._text}")
|
|
1291
|
-
|
|
1292
|
-
payload_str = ','.join(fields)
|
|
1293
|
-
payload = payload_str.encode()
|
|
1294
|
-
|
|
1295
|
-
chk_int = checksum(payload)
|
|
1296
|
-
chk = f"{chk_int:02X}".encode()
|
|
1297
|
-
|
|
1298
|
-
return payload + ASTERISK + chk
|
|
1299
|
-
|
|
1300
|
-
pyais.messages.TagBlock = HATagBlock
|
|
1301
|
-
|
|
1302
1173
|
|
|
1303
1174
|
|
|
@@ -56,7 +56,7 @@ if AISMessages.is_available():
|
|
|
56
56
|
Encode an AIS message to NMEA format
|
|
57
57
|
"""
|
|
58
58
|
var_name = StepTools.evaluate_variable_name(var_name)
|
|
59
|
-
table = BehaveStepTools.
|
|
59
|
+
table = BehaveStepTools.get_step_table(context)
|
|
60
60
|
|
|
61
61
|
res = __get_ais_messages().encode(table)
|
|
62
62
|
|
|
@@ -69,7 +69,7 @@ if AISMessages.is_available():
|
|
|
69
69
|
"""
|
|
70
70
|
var_name = StepTools.evaluate_variable_name(var_name)
|
|
71
71
|
msg = StepTools.evaluate_scenario_parameter(message)
|
|
72
|
-
table = BehaveStepTools.
|
|
72
|
+
table = BehaveStepTools.get_step_table(context)
|
|
73
73
|
|
|
74
74
|
if table is not None:
|
|
75
75
|
kwargs = ValueTableConverter.convert_table_with_header_to_dict(table)
|
|
@@ -101,12 +101,8 @@ if AISMessages.is_available():
|
|
|
101
101
|
var_name = StepTools.evaluate_variable_name(var_name)
|
|
102
102
|
msg_type = StepTools.evaluate_scenario_parameter(ais_message_type)
|
|
103
103
|
|
|
104
|
-
if isinstance(msg_type, str):
|
|
105
|
-
msg_type = AISMessageType[msg_type].value
|
|
106
|
-
|
|
107
104
|
if hasattr(context, 'table') and context.table is not None:
|
|
108
105
|
table = BehaveStepTools.convert_step_table_2_value_table_with_header(context.table)
|
|
109
|
-
table.add_column(name='msg_type', cells_content=[msg_type])
|
|
110
106
|
else:
|
|
111
107
|
table = {}
|
|
112
108
|
|