holado 0.2.3__tar.gz → 0.2.5__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.2.3 → holado-0.2.5}/PKG-INFO +1 -1
- holado-0.2.5/packaging/VERSION +1 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado/__init__.py +61 -23
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/context/service_manager.py +10 -2
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/context/session_context.py +43 -12
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/handlers/object.py +12 -4
- {holado-0.2.3 → holado-0.2.5}/src/holado/holado_config.py +1 -0
- holado-0.2.5/src/holado_ais/ais/ais_messages.py +204 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tools/path_manager.py +8 -4
- holado-0.2.5/src/holado_examples/scripts/script_custom_initialization.py +16 -0
- holado-0.2.5/src/holado_examples/scripts/script_minimal_initialization.py +23 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/__main__.py +13 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/behave_environment.py +35 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/environment.py +43 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/features/Configuration/Actions/configure_system.feature +10 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/features/NonReg/example.feature +26 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/logging.conf +102 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/requirements.txt +5 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/run_test.sh +7 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/run_test_nonreg.sh +6 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/src/common/tools/path_manager.py +40 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/src/config/config_manager.py +30 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/src/context/session_context.py +45 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/steps/config_steps.py +21 -0
- holado-0.2.5/src/holado_examples/tests/behave/testing_solution/steps/public_steps.py +10 -0
- holado-0.2.5/src/holado_grpc/api/rpc/grpc_client.py +185 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/docker/logging.conf +3 -1
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/docker/run_holado_test_nonreg_in_docker.sh +28 -28
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/docker/run_terminal_in_docker-with_docker_control.sh +27 -27
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/docker/run_terminal_in_docker.sh +26 -26
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/script/initialize_script.py +5 -5
- {holado-0.2.3 → holado-0.2.5}/src/holado_logging/__init__.py +7 -9
- {holado-0.2.3 → holado-0.2.5}/src/holado_logging/common/logging/holado_logger.py +2 -2
- {holado-0.2.3 → holado-0.2.5}/src/holado_logging/common/logging/log_config.py +152 -127
- {holado-0.2.3 → holado-0.2.5}/src/holado_logging/common/logging/log_manager.py +20 -19
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multitasking/multitask_manager.py +1 -1
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/thread.py +8 -4
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/__init__.py +1 -1
- holado-0.2.5/src/holado_protobuf/ipc/protobuf/protobuf_messages.py +968 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py +1 -2
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/behave/independant_runner.py +3 -5
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/scenario/step_tools.py +2 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/environment.py +1 -1
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/logging.conf +3 -1
- {holado-0.2.3 → holado-0.2.5}/tests/scripts/independant_runner/logging.conf +3 -1
- holado-0.2.3/packaging/VERSION +0 -1
- holado-0.2.3/src/holado_ais/ais/ais_messages.py +0 -203
- holado-0.2.3/src/holado_grpc/api/rpc/grpc_client.py +0 -181
- holado-0.2.3/src/holado_protobuf/ipc/protobuf/protobuf_messages.py +0 -965
- {holado-0.2.3 → holado-0.2.5}/.gitignore +0 -0
- {holado-0.2.3 → holado-0.2.5}/.gitlab-ci.yml +0 -0
- {holado-0.2.3 → holado-0.2.5}/Dockerfile +0 -0
- {holado-0.2.3 → holado-0.2.5}/INSTALL +0 -0
- {holado-0.2.3 → holado-0.2.5}/LICENSE +0 -0
- {holado-0.2.3 → holado-0.2.5}/NOTES.md +0 -0
- {holado-0.2.3 → holado-0.2.5}/README.md +0 -0
- {holado-0.2.3 → holado-0.2.5}/README.rst +0 -0
- {holado-0.2.3 → holado-0.2.5}/TODO +0 -0
- {holado-0.2.3 → holado-0.2.5}/dependencies/protoc/README.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/packaging/generate_distribution_archive.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/packaging/publish_distribution_archive.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/packaging/publish_distribution_archive_on_testpypi.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/pyproject.toml +0 -0
- {holado-0.2.3 → holado-0.2.5}/requirements.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/requirements_docker.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/resources/scripts/generate_scenario_duration_limits.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/resources/scripts/generate_scenario_duration_tags.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/resources/scripts/print_execution_historic.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/resources/scripts/script_tools.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/resources/scripts/update_scenario_duration_tags.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/resources/ssh/id_rsa +0 -0
- {holado-0.2.3 → holado-0.2.5}/resources/ssh/id_rsa.pub +0 -0
- {holado-0.2.3 → holado-0.2.5}/run_test.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/run_test_draft.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/run_test_needupdate.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/run_test_nonreg.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/context/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/context/context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/handlers/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/handlers/enums.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/handlers/undefined.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/tools/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado/common/tools/gc_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ais/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ais/ais/MaritimeIdentificationDigits.csv +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ais/ais/ais_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ais/ais/ais_payload.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ais/ais/enums.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ais/ais/patch_pyais.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ais/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ais/tests/behave/steps/ais/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ais/tests/behave/steps/ais/ais_manager_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ais/tests/behave/steps/ais/ais_messages_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_binary/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_binary/ipc/binary.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_binary/ipc/bit_series.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_binary/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_binary/tests/behave/steps/ipc/binary_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_binary/tests/behave/steps/ipc/bit_series_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_context/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_context/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_context/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_context/tests/behave/steps/private/common/context_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/actors/actions.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/actors/actor.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/actors/element_actor.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/actors/find_actor.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/actors/tree_actor.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/actors/verify_actions.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/block/base.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/block/block_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/block/block_method.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/block/block_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/block/function.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/block/scope_function.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/block/scope_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/block/scope_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/criterias/and_criteria.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/criterias/criteria.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/criterias/or_criteria.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/criterias/tools/criteria_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/criterias/tools/criteria_parameters.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/drivers/driver.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/drivers/element_driver.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/drivers/element_internal_api.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/drivers/internal_api.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/drivers/tree_driver.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/drivers/tree_internal_api.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/exceptions/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/exceptions/element_exception.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/exceptions/exceptions.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/exceptions/functional_exception.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/exceptions/holado_exception.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/exceptions/technical_exception.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/exceptions/timeout_exception.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/exceptions/verify_exception.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/after_in_tree_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/element_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/else_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/or_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/then_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/tools/enums.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/tools/find_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/tools/find_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/tools/find_info.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/tools/find_parameters.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/tools/find_updater.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/tools/finder_info.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/finders/tree_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/handlers/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/handlers/abstracts/base_redo.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/handlers/abstracts/get_or_create.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/handlers/element_holder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/handlers/enums.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/handlers/exceptions/redo_exceptions.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/handlers/features/resource_by_name.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/handlers/features/resource_by_type.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/handlers/redo.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/handlers/wait.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/inspectors/element_inspector.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/inspectors/inspector.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/inspectors/tools/inspect_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/inspectors/tools/inspect_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/inspectors/tools/inspect_parameters.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/inspectors/tree_inspector.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/resource/persisted_data_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/resource/persisted_method_to_call_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/resource/resource_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/boolean_table_cell_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/bytes_table_cell_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/datetime_table_cell_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/float_table_cell_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/integer_table_cell_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/internal_table_cell_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/string_table_cell_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/string_table_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/string_table_row_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/table_cell_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/table_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/table_comparator_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/table_row_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/comparators/table_with_header_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/converters/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/converters/table_converter.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/enums.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/table.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/table_cell.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/table_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/table_row.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tables/table_with_header.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tools/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tools/comparators/comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tools/comparators/object_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tools/converters/converter.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tools/string_tools.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/tools/tools.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/transport/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/common/transport/crc.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/tests/behave/steps/common/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/tests/behave/steps/common/common_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/tests/behave/steps/common/config_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/tests/behave/steps/common/resource_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/tests/behave/steps/common/tables_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/tools/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/tools/abstracts/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/tools/abstracts/blocking_command_service.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_core/tools/abstracts/service.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_data/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_data/data/generator/base.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_data/data/generator/python_generator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_data/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_data/tests/behave/steps/data/generator_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_data/tests/behave/steps/tools/utils_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tests/behave/steps/tools/db/db_client_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tests/behave/steps/tools/db/postgresql_client_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tests/behave/steps/tools/db/sqlite_client_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tools/db/clients/base/db_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tools/db/clients/postgresql/postgresql_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tools/db/clients/sqlite/sqlite_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tools/db/db_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tools/db/query/base/query_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tools/db/query/pypika/pypika_query_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_db/tools/db/query/query_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/sdk/docker/docker_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/sdk/docker/docker_service.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/tests/behave/steps/tools/docker_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/tools/docker_controler/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/tools/docker_controler/docker_controler_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/tools/docker_controler/docker_controler_server.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/tools/docker_controler/proto/compile_proto.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/tools/docker_controler/proto/definitions/docker_controler.proto +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/tools/docker_controler/proto/generated/docker_controler_pb2.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_docker/tools/docker_controler/proto/generated/docker_controler_pb2_grpc.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_grpc/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_grpc/api/rpc/TODO.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_grpc/api/rpc/grpc_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_grpc/ipc/rpc/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_grpc/ipc/rpc/grpc_compiler.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_grpc/ipc/rpc/grpc_services.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_grpc/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_grpc/tests/behave/steps/api/grpc_client_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_grpc/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_grpc/tests/behave/steps/private/api/grpc_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/debug/README.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/debug/memory/memory_profiler.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/docker/init_user.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/holado_module_template/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/holado_module_template/test/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/holado_module_template/test/behave/steps/private/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/script/action.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/script/action_script.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/script/any_action_script.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/script/behave_action_script.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/script/csv_action_script.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/script/input_output_script.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/script/job.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/script/json_action_script.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_helper/script/script.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_json/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_json/ipc/json.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_json/ipc/json_converter.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_json/ipc/json_types.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_json/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_json/tests/behave/steps/ipc/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_json/tests/behave/steps/ipc/json_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_keycloak/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_keycloak/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_keycloak/tests/behave/steps/tools/keycloak_client_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_keycloak/tools/keycloak/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_keycloak/tools/keycloak/keycloak_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multiprocessing/context/process_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multiprocessing/function_process.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multiprocessing/periodic_function_process.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multiprocessing/process.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multiprocessing/processesmanager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/context/thread_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/functionthreaded.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/loopfunctionthreaded.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/loopthread.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/periodicfunctionthreaded.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/reflection/inspect.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/reflection/sys.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/reflection/traceback.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/threadsmanager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/multithreading/timer.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/tests/behave/steps/multiprocessing_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_multitask/tests/behave/steps/multithreading_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/ipc/protobuf/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/ipc/protobuf/abstracts/type.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/ipc/protobuf/protobuf_compiler.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/ipc/protobuf/protobuf_converter.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/ipc/protobuf/protobuf_modifier.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/ipc/protobuf/types/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/ipc/protobuf/types/google/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/ipc/protobuf/types/google/protobuf.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_protobuf/tests/behave/steps/ipc/protobuf_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/common/enums.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/common/iterables.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/common/tools/comparators/boolean_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/common/tools/comparators/bytes_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/common/tools/comparators/datetime_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/common/tools/comparators/float_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/common/tools/comparators/integer_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/common/tools/comparators/string_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/common/tools/comparators/type_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/common/tools/datetime.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/csv.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/hashlib.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/multiprocessing.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/queue.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/socket/blocking_socket.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/socket/echo_server.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/socket/message_socket.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/socket/non_blocking_socket.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/socket/socket.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/ssl/resources/certificates/NOTES.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/ssl/resources/certificates/localhost.crt +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/ssl/resources/certificates/localhost.key +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/ssl/ssl.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/standard_library/typing.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/builtins/str_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/convert_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/iterable_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/standard_library/csv_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/standard_library/datetime_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/standard_library/hashlib_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/standard_library/multiprocessing_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/standard_library/queue_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/standard_library/socket_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_python/tests/behave/steps/standard_library/ssl_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rabbitmq/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rabbitmq/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rabbitmq/tests/behave/steps/tools/rabbitmq_client_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rabbitmq/tests/behave/steps/tools/rabbitmq_server_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_select_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_server.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_redis/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_redis/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_redis/tests/behave/steps/tools/redis_client_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_redis/tools/redis/TODO.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_redis/tools/redis/redis_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_redis/tools/redis/redis_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/analyze/execution_historic_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/analyze/scenario_duration_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/builders/detailed_scenario_failed_report_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/builders/json_execution_historic_report_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/builders/report_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/builders/short_scenario_failed_report_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/builders/summary_report_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/builders/summary_scenario_failed_report_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/builders/summary_scenario_report_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/execution_historic.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/report_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/reports/base_report.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/reports/feature_report.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_report/report/reports/scenario_report.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rest/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rest/api/rest/TODO.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rest/api/rest/rest_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rest/api/rest/rest_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rest/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rest/tests/behave/steps/api/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rest/tests/behave/steps/api/rest_client_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rest/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rest/tests/behave/steps/private/api/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_rest/tests/behave/steps/private/api/rest_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_s3/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_s3/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_s3/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_s3/tests/behave/steps/private/tools/s3_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_s3/tests/behave/steps/tools/s3_client_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_s3/tests/behave/steps/tools/s3_server_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_s3/tools/s3/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_s3/tools/s3/boto3_s3_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_s3/tools/s3/minio_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_s3/tools/s3/moto_server.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/common/tools/dynamic_text_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/common/tools/evaluate_parameters.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/common/tools/expression_evaluator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/common/tools/variable_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/tests/behave/steps/common/tools/variable_convert_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/tests/behave/steps/common/tools/variable_new_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/tests/behave/steps/common/tools/variable_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/tests/behave/steps/common/tools/variable_verify_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/tests/behave/steps/scenario/function_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/tests/behave/steps/scenario/if_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/tests/behave/steps/scenario/loop_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/base/base_function.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/base/base_verify_function.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/base/text_inspecter.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/exceptions/interpreter_exception.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/functions/function_cast.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/functions/function_convert.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/functions/function_dynamic_value.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/functions/function_escape_all_bytes.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/functions/function_exists_variable.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/functions/function_hex_to_bytes.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/functions/function_hex_to_int.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/functions/function_to_base_64.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/functions/function_to_bytes.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/functions/function_to_hex.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/interpreter/text_interpreter.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/verifier/exceptions/verifier_exception.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/verifier/functions/verify_function_extract_in.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/verifier/functions/verify_function_match_pattern.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_scripting/text/verifier/text_verifier.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_sftp/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_sftp/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_sftp/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_sftp/tests/behave/steps/private/tools/sftp_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_sftp/tests/behave/steps/tools/sftp_client_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_sftp/tests/behave/steps/tools/sftp_server_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_sftp/tools/sftp/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_sftp/tools/sftp/sftp_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_sftp/tools/sftp/sftp_server.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_swagger/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_swagger/swagger_hub/mockserver/mockserver_client.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_swagger/swagger_hub/mockserver/mockserver_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_swagger/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_swagger/tests/behave/steps/swagger_hub/mockserver_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_system/system/command/command.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_system/system/command/command_result.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_system/system/command/curl_command.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_system/system/command/exceptions.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_system/system/filesystem/file.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_system/system/global_system.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_system/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_system/tests/behave/steps/system/commands_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_system/tests/behave/steps/system/file_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_system/tests/behave/steps/system/system_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/behave/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/behave/behave.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/behave/behave_environment.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/behave/behave_function.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/behave/behave_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/behave/scenario/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/behave/scenario/behave_step_tools.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/common/context/feature_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/common/context/scenario_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/common/context/step_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/common/exceptions/undefined_step_exception.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/scenario/tester_tools.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/test_config.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/tests/behave/steps/scenario/exception_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/tests/behave/steps/scenario/scenario_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_test/tests/behave/steps/scenario/tester_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/actors/actions.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/actors/ui_actor.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/drivers/ui_driver.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/drivers/ui_driver_info.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/drivers/ui_internal_api.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/exceptions/focus_driver_exception.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/finders/ui_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/actors/gui_actor.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/criterias/enums.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/criterias/gui_criteria.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/drivers/gui_driver.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/drivers/gui_internal_api.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/finders/gui_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/handlers/label_gui_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/handlers/zone_gui_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/inspectors/gui_inspector.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/windows/gui_window.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/gui/windows/gui_window_info.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/handlers/ui_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/handlers/ui_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/inspectors/tools/ui_inspect_builder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/inspectors/tools/ui_inspect_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui/ui/inspectors/ui_inspector.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_mss/ui/mss/mss_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/actors/actions.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/actors/default_selenium_actor.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/actors/selenium_actor.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/criterias/selenium_criteria.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/criterias/selenium_criteria_and_verifier.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/drivers/selenium_driver.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/drivers/selenium_internal_api.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/drivers/web_driver_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/finders/by_selenium_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/finders/children_selenium_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/finders/parent_selenium_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/finders/selenium_finder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/handlers/enums.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_by.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_holder.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_redo.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_ui_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/inspectors/default_selenium_inspector.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/inspectors/selenium_inspector.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_cell_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_row_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_with_header_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/tables/converters/selenium_table_converter.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_cell.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_row.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_with_header.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/tools/selenium_path_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/windows/default_selenium_window.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium/ui/gui/selenium/windows/selenium_window.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium_angular/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium_angular/ui/gui/selenium/actors/angular_selenium_actor.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium_angular/ui/gui/selenium/inspectors/angular_selenium_inspector.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium_html/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium_html/ui/gui/selenium/actors/html_selenium_actor.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ui_selenium_html/ui/gui/selenium/inspectors/html_selenium_inspector.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tables/comparators/table_2_value_table_cell_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tables/comparators/table_2_value_table_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tables/comparators/table_2_value_table_row_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tables/comparators/table_2_value_table_with_header_comparator.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tables/converters/value_table_converter.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tables/value_table.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tables/value_table_cell.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tables/value_table_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tables/value_table_row.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tables/value_table_with_header.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tools/unique_value_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tools/value.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/common/tools/value_types.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_value/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ws/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ws/api/ws/TODO.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ws/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_ws/tests/behave/steps/api/web_service_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_yaml/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_yaml/tests/behave/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_yaml/tests/behave/steps/yaml_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/src/holado_yaml/yaml/yaml_manager.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/steps_catalog.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/Dockerfile_test_holado +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/__main__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/build_docker_image_to_test_holado_in_docker.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/api/REST.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/api/gRPC.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/common/multiprocessing/simple.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/common/system/commands.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/common/system/system.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/common/tables/table.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/common/tables/value_table_conversion.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/common/tools/DateTime.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/common/tools/UniqueValueManager.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_ais/ais_message-bitarray_to_nmea.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_protobuf/protobuf.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_python/convert.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_python/iterable.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket_with_ssl.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/dynamic_text_manager.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/expression_evaluator.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/variable_manager.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.error.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/holado_yaml/yaml.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/ipc/bit_series.error.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/ipc/bit_series.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/ipc/json.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/scenario/scenario.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/test_steps/behave.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/test_steps/common.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/tools/RabbitMQ.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/tools/RabbitMQ_steps.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/tools/S3/boto3_client.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/tools/S3/minio_client.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/tools/db_sqlite3.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/NonReg/tools/sFTP.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/Test/logger.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/features/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/resources/proto/definitions/protobuf/custom_types/field_types.proto +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/resources/proto/definitions/protobuf/protobuf.dev/tutorial/addressbook.proto +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/resources/proto/generated/protobuf/custom_types/field_types_pb2.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/resources/proto/generated/protobuf/protobuf/dev/tutorial/addressbook_pb2.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/resources/scripts/list_tags.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/resources/scripts/update_resources_proto_generated.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/steps/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/steps/private_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/steps/public_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/test_holado_session_context.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/README.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/admin.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/apps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/migrations/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/models.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account.proto +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2_grpc.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/serializers.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/services.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/tests.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/views.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/asgi.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/settings.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/urls.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/wsgi.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/db.sqlite3 +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/manage.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_grpc/manual_test_commands.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/admin.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/apps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/models.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/serializers.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/tests.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/views.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/asgi.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/settings.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/urls.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/api_rest/wsgi.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/db.sqlite3 +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/behave/test_holado/tools/django/api_rest/manage.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/scripts/dgot/classement/classement.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/scripts/dgot/classement/classement.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/scripts/dgot/classement/commands.txt +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/scripts/independant_runner/environment.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/scripts/independant_runner/features/fake.feature +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/scripts/independant_runner/steps/public_steps.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/scripts/independant_runner/test.py +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/scripts/independant_runner/test.sh +0 -0
- {holado-0.2.3 → holado-0.2.5}/tests/scripts/script_tools.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.2.5
|
|
@@ -27,7 +27,7 @@ except:
|
|
|
27
27
|
with_behave = False
|
|
28
28
|
|
|
29
29
|
logger = None
|
|
30
|
-
|
|
30
|
+
__initialized = False
|
|
31
31
|
|
|
32
32
|
def __initialize_holado_loggers():
|
|
33
33
|
global logger
|
|
@@ -38,27 +38,29 @@ def __initialize_holado_loggers():
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
def _initialize_logging(
|
|
41
|
+
def _initialize_logging(use_holado_logger=True, logging_config_file_path=None, log_level=None, log_on_console=False, log_in_file=True):
|
|
42
42
|
# print_imported_modules("[initialize]")
|
|
43
43
|
import holado_logging
|
|
44
44
|
# print_imported_modules("[after import holado_logging]")
|
|
45
45
|
|
|
46
46
|
# Configure logging module
|
|
47
|
-
holado_logging.configure(
|
|
47
|
+
holado_logging.configure(use_holado_logger=use_holado_logger, logging_config_file_path=logging_config_file_path, log_level=log_level, log_on_console=log_on_console, log_in_file=log_in_file)
|
|
48
48
|
# print_imported_modules("[after import holado_logging]")
|
|
49
49
|
|
|
50
50
|
# Initialize holado loggers
|
|
51
51
|
__initialize_holado_loggers()
|
|
52
52
|
|
|
53
|
-
#
|
|
54
|
-
holado_logging.register()
|
|
55
|
-
|
|
56
|
-
# Configure log manager
|
|
53
|
+
# Create session context
|
|
57
54
|
from holado.common.context.session_context import SessionContext
|
|
58
|
-
SessionContext.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
if SessionContext.has_instance():
|
|
56
|
+
from holado_core.common.exceptions.technical_exception import TechnicalException
|
|
57
|
+
raise TechnicalException(f"Session context was initialized to early (before logging configuration)")
|
|
58
|
+
SessionContext.instance()
|
|
59
|
+
|
|
60
|
+
# Initialize log manager and register it in session context
|
|
61
|
+
holado_logging.initialize_and_register()
|
|
62
|
+
|
|
63
|
+
# Set whole logging configuration
|
|
62
64
|
SessionContext.instance().log_manager.set_config()
|
|
63
65
|
|
|
64
66
|
def change_logging_config(log_level=None, log_on_console=False, log_in_file=True):
|
|
@@ -67,52 +69,81 @@ def change_logging_config(log_level=None, log_on_console=False, log_in_file=True
|
|
|
67
69
|
SessionContext.instance().log_manager.on_console = log_on_console
|
|
68
70
|
SessionContext.instance().log_manager.in_file = log_in_file
|
|
69
71
|
SessionContext.instance().log_manager.set_config()
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def initialize_minimal():
|
|
75
|
+
# initialize(TSessionContext=None, use_holado_logger=False, logging_config_file_path=None,
|
|
76
|
+
# log_level=None, log_on_console=True, log_in_file=False,
|
|
77
|
+
# session_kwargs={'with_session_path':False},
|
|
78
|
+
# garbage_collector_periodicity=None)
|
|
79
|
+
initialize(TSessionContext=None, use_holado_logger=True, logging_config_file_path=None,
|
|
80
|
+
log_level=None, log_on_console=True, log_in_file=False,
|
|
81
|
+
garbage_collector_periodicity=None)
|
|
82
|
+
|
|
83
|
+
def initialize(TSessionContext=None, use_holado_logger=True, logging_config_file_path=None,
|
|
72
84
|
log_level=None, log_on_console=False, log_in_file=True, session_kwargs=None,
|
|
73
85
|
garbage_collector_periodicity=default_value):
|
|
86
|
+
global __initialized
|
|
87
|
+
if __initialized:
|
|
88
|
+
from holado_core.common.exceptions.technical_exception import TechnicalException
|
|
89
|
+
raise TechnicalException(f"HolAdo was already initialized")
|
|
90
|
+
|
|
74
91
|
from holado_core.common.tools.tools import Tools
|
|
75
92
|
|
|
76
93
|
if session_kwargs is None:
|
|
77
94
|
session_kwargs = {}
|
|
78
95
|
with_session_path = session_kwargs.get("with_session_path", True)
|
|
79
96
|
|
|
97
|
+
# Reset session context before initializing logging
|
|
98
|
+
# Note: Session context must not be created before logging initialization
|
|
99
|
+
from holado.common.context.session_context import SessionContext
|
|
100
|
+
SessionContext._reset_instance()
|
|
80
101
|
if TSessionContext is not None:
|
|
81
102
|
if isinstance(TSessionContext, str):
|
|
82
103
|
module_name, class_type = TSessionContext.rsplit('.', maxsplit=1)
|
|
83
104
|
module = importlib.import_module(module_name)
|
|
84
105
|
TSessionContext = getattr(module, class_type)
|
|
85
|
-
|
|
86
|
-
from holado.common.context.session_context import SessionContext
|
|
106
|
+
|
|
87
107
|
SessionContext.TSessionContext = TSessionContext
|
|
88
108
|
|
|
89
109
|
# Initialize logging
|
|
90
|
-
_initialize_logging(
|
|
110
|
+
_initialize_logging(use_holado_logger=use_holado_logger, logging_config_file_path=logging_config_file_path,
|
|
91
111
|
log_level=log_level, log_on_console=log_on_console, log_in_file=log_in_file and with_session_path)
|
|
92
112
|
if Tools.do_log(logger, logging.DEBUG):
|
|
93
113
|
logger.debug("Configured logging")
|
|
94
114
|
|
|
95
115
|
if Tools.do_log(logger, logging.DEBUG):
|
|
96
116
|
logger.debug("Importing HolAdo modules")
|
|
97
|
-
|
|
117
|
+
_import_modules(get_holado_module_names())
|
|
98
118
|
|
|
99
|
-
|
|
119
|
+
_initialize_session_context(session_kwargs)
|
|
100
120
|
|
|
101
121
|
# Initialize garbage collector
|
|
102
122
|
if garbage_collector_periodicity is not None:
|
|
103
123
|
GcManager.collect_periodically(garbage_collector_periodicity)
|
|
104
124
|
logger.debug(f"Garbage collector is disabled, and collects are automatically done in a dedicated thread (periodicity: {GcManager.get_collect_periodicity()} s)")
|
|
105
125
|
|
|
106
|
-
|
|
126
|
+
if with_behave:
|
|
127
|
+
# Register default behave parameter types
|
|
128
|
+
#TODO: make step tools a service
|
|
129
|
+
from holado_test.behave.scenario.behave_step_tools import BehaveStepTools
|
|
130
|
+
BehaveStepTools.register_default_types()
|
|
131
|
+
|
|
132
|
+
__initialized = True
|
|
133
|
+
|
|
134
|
+
def initialize_for_script(TSessionContext=None, use_holado_logger=True, logging_config_file_path=None,
|
|
135
|
+
log_level=logging.WARNING, log_on_console=True, log_in_file=False, session_kwargs=None,
|
|
136
|
+
garbage_collector_periodicity=None):
|
|
107
137
|
if session_kwargs is None:
|
|
108
138
|
session_kwargs={'with_session_path':log_in_file, 'raise_if_not_exist':False}
|
|
109
139
|
|
|
110
|
-
initialize(TSessionContext=TSessionContext,
|
|
140
|
+
initialize(TSessionContext=TSessionContext, use_holado_logger=use_holado_logger, logging_config_file_path=logging_config_file_path,
|
|
111
141
|
log_level=log_level, log_on_console=log_on_console, log_in_file=log_in_file,
|
|
112
|
-
session_kwargs=session_kwargs
|
|
142
|
+
session_kwargs=session_kwargs,
|
|
143
|
+
garbage_collector_periodicity=garbage_collector_periodicity )
|
|
113
144
|
|
|
114
145
|
|
|
115
|
-
def
|
|
146
|
+
def _initialize_session_context(session_kwargs=None):
|
|
116
147
|
from holado_core.common.tools.tools import Tools
|
|
117
148
|
|
|
118
149
|
if Tools.do_log(logger, logging.DEBUG):
|
|
@@ -138,7 +169,7 @@ def get_holado_module_names():
|
|
|
138
169
|
lp = sorted(os.listdir(get_holado_src_path()))
|
|
139
170
|
return [name for name in lp if name.startswith("holado_") and name not in ['holado_logging']]
|
|
140
171
|
|
|
141
|
-
def
|
|
172
|
+
def _import_modules(module_names):
|
|
142
173
|
from holado_core.common.tools.tools import Tools
|
|
143
174
|
|
|
144
175
|
imported_modules = __import_modules(module_names)
|
|
@@ -265,3 +296,10 @@ def print_imported_modules(prefix):
|
|
|
265
296
|
# print(f"{prefix} globals modules: {globals_modules}")
|
|
266
297
|
|
|
267
298
|
|
|
299
|
+
|
|
300
|
+
# Process minimal initialization of HolAdo
|
|
301
|
+
# Note: Currently, initialization can be done only once, thus minimal initialization is commented.
|
|
302
|
+
# As a consequence, the call of an initialize method is mandatory
|
|
303
|
+
# initialize_minimal()
|
|
304
|
+
|
|
305
|
+
|
|
@@ -170,13 +170,21 @@ class ServiceManager(object):
|
|
|
170
170
|
return context.get_object(name)
|
|
171
171
|
|
|
172
172
|
def add_context_property(self, name, context_type, raise_if_service_exist=None):
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
# Note: next lines are commented, to allow to set again the service in context type
|
|
174
|
+
# if raise_if_service_exist is None or raise_if_service_exist:
|
|
175
|
+
# self.__verify_service_doesnt_exist(name, context_type, raise_if_service_exist)
|
|
176
|
+
if hasattr(context_type, name):
|
|
177
|
+
logger.debug(f"Set again the property '{name}' in context type {context_type}")
|
|
175
178
|
|
|
176
179
|
@property
|
|
177
180
|
def context_service_property(self_context):
|
|
178
181
|
return self._get_context_service(name, self_context)
|
|
179
182
|
setattr(context_type, name, context_service_property)
|
|
183
|
+
|
|
184
|
+
@property
|
|
185
|
+
def context_has_service_property(self_context):
|
|
186
|
+
return self_context.has_object(name)
|
|
187
|
+
setattr(context_type, 'has_' + name, context_has_service_property)
|
|
180
188
|
|
|
181
189
|
def add_shortcut_property_to_context_service(self, name, dst_type, context_type, raise_if_service_exist=None):
|
|
182
190
|
from holado_multitask.multiprocessing.context.process_context import ProcessContext
|
|
@@ -18,6 +18,7 @@ import os.path
|
|
|
18
18
|
from holado.common.context.context import Context
|
|
19
19
|
from holado_core.common.tools.tools import Tools
|
|
20
20
|
import threading
|
|
21
|
+
from holado.common.handlers.enums import ObjectStates
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
logger = logging
|
|
@@ -32,16 +33,37 @@ class SessionContext(Context):
|
|
|
32
33
|
|
|
33
34
|
# Singleton management
|
|
34
35
|
__instance = None
|
|
36
|
+
__is_resetting_instance = False
|
|
35
37
|
|
|
36
38
|
@staticmethod
|
|
37
39
|
def instance() -> TSessionContext:
|
|
40
|
+
# Note: If session context istance is under reset, consider it is already None
|
|
41
|
+
if SessionContext.__is_resetting_instance:
|
|
42
|
+
return None
|
|
43
|
+
|
|
38
44
|
if SessionContext.__instance is None:
|
|
39
45
|
SessionContext.__instance = SessionContext.TSessionContext()
|
|
40
|
-
|
|
46
|
+
logger.debug(f"Created session context of type {SessionContext.TSessionContext}")
|
|
47
|
+
# logging.log(45, f"Created session context of type {SessionContext.TSessionContext}")
|
|
41
48
|
# import traceback
|
|
42
|
-
#
|
|
49
|
+
# logging.log(45, "".join(traceback.format_list(traceback.extract_stack())))
|
|
43
50
|
return SessionContext.__instance
|
|
44
51
|
|
|
52
|
+
@staticmethod
|
|
53
|
+
def has_instance() -> bool:
|
|
54
|
+
if SessionContext.__is_resetting_instance:
|
|
55
|
+
return False
|
|
56
|
+
else:
|
|
57
|
+
return SessionContext.__instance is not None
|
|
58
|
+
|
|
59
|
+
@staticmethod
|
|
60
|
+
def _reset_instance():
|
|
61
|
+
if SessionContext.__instance is not None:
|
|
62
|
+
logger.debug(f"Resetting session context")
|
|
63
|
+
SessionContext.__is_resetting_instance = True
|
|
64
|
+
SessionContext.__instance = None
|
|
65
|
+
SessionContext.__is_resetting_instance = False
|
|
66
|
+
logger.debug(f"Reset of session context")
|
|
45
67
|
|
|
46
68
|
def __init__(self, name="Session"):
|
|
47
69
|
super().__init__(name)
|
|
@@ -55,12 +77,27 @@ class SessionContext(Context):
|
|
|
55
77
|
self.__multitask_lock = threading.RLock()
|
|
56
78
|
self.__multitask_step_lock = threading.RLock()
|
|
57
79
|
|
|
80
|
+
def __del__(self):
|
|
81
|
+
# Note: Override Object.__del__ since it supposes that SessionContext is initialized, whereas SessionContext is deleting
|
|
82
|
+
try:
|
|
83
|
+
if self.object_state in [ObjectStates.Deleting, ObjectStates.Deleted]:
|
|
84
|
+
return
|
|
85
|
+
|
|
86
|
+
self.delete_object()
|
|
87
|
+
except Exception as exc:
|
|
88
|
+
if "Python is likely shutting down" in str(exc):
|
|
89
|
+
# Simply return
|
|
90
|
+
return
|
|
91
|
+
else:
|
|
92
|
+
raise exc
|
|
93
|
+
|
|
58
94
|
def _delete_object(self):
|
|
59
|
-
logger.info(f"Delete session context - Interrupting and unregistering all threads...")
|
|
60
95
|
# if Tools.do_log(logger, logging.DEBUG):
|
|
61
96
|
# logger.debug("Interrupting and unregistering all threads for scenario [{}]".format(scenario.name))
|
|
62
|
-
self.
|
|
63
|
-
|
|
97
|
+
if self.has_threads_manager:
|
|
98
|
+
logger.info(f"Delete session context - Interrupting and unregistering all threads...")
|
|
99
|
+
self.threads_manager.interrupt_all_threads(scope="Session")
|
|
100
|
+
self.threads_manager.unregister_all_threads(scope="Session", keep_alive=False)
|
|
64
101
|
|
|
65
102
|
# Delete session context
|
|
66
103
|
logger.info(f"Delete session context - Deleting context objects...")
|
|
@@ -76,11 +113,6 @@ class SessionContext(Context):
|
|
|
76
113
|
|
|
77
114
|
self.__with_session_path = session_kwargs.get("with_session_path", True)
|
|
78
115
|
|
|
79
|
-
# Register default behave parameter types
|
|
80
|
-
#TODO: make step tools a service
|
|
81
|
-
from holado_test.behave.scenario.behave_step_tools import BehaveStepTools
|
|
82
|
-
BehaveStepTools.register_default_types()
|
|
83
|
-
|
|
84
116
|
# Create this thread context
|
|
85
117
|
self.multitask_manager.get_thread_context()
|
|
86
118
|
|
|
@@ -122,14 +154,13 @@ class SessionContext(Context):
|
|
|
122
154
|
name = "session_{}".format(datetime.now().strftime("%Y-%m-%d_%H-%M-%S"))
|
|
123
155
|
report_path = self.path_manager.get_reports_path(name)
|
|
124
156
|
logger.info(f"Reports location: {report_path}")
|
|
125
|
-
|
|
157
|
+
print(f"Reports location: {report_path}")
|
|
126
158
|
self.report_manager.new_session(report_path)
|
|
127
159
|
|
|
128
160
|
# Logging configuration
|
|
129
161
|
if self.with_session_path and SessionContext.instance().log_manager.in_file:
|
|
130
162
|
log_filename = os.path.join(report_path, "logs", "report.log")
|
|
131
163
|
self.path_manager.makedirs(log_filename)
|
|
132
|
-
SessionContext.instance().log_manager.on_console = False
|
|
133
164
|
SessionContext.instance().log_manager.set_root_log_file(log_filename)
|
|
134
165
|
SessionContext.instance().log_manager.set_config()
|
|
135
166
|
|
|
@@ -66,15 +66,23 @@ class DeleteableObject(Object):
|
|
|
66
66
|
|
|
67
67
|
def __del__(self):
|
|
68
68
|
try:
|
|
69
|
-
from holado_multitask.multithreading.functionthreaded import FunctionThreaded
|
|
70
|
-
|
|
71
69
|
if self.object_state in [ObjectStates.Deleting, ObjectStates.Deleted]:
|
|
72
70
|
return
|
|
73
71
|
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
if logger.isEnabledFor(logging.DEBUG):
|
|
73
|
+
logger.debug(f"Deleting object of ID {id(self)} and type {type(self)}")
|
|
74
|
+
if logger.isEnabledFor(logging.TRACE): # @UndefinedVariable
|
|
75
|
+
import traceback
|
|
76
|
+
logger.trace("".join(traceback.format_list(traceback.extract_stack())))
|
|
77
|
+
|
|
78
|
+
# Notes:
|
|
79
|
+
# - Garbage collector default mecanism is incompatible with custom object finalizers (cf GcManager.Method __del__ is called by garbage collector. This call can be done in any thread at any moment.
|
|
80
|
+
# - When SessionContext is under deletion, delete any object by thread is not possible
|
|
81
|
+
from holado.common.context.session_context import SessionContext
|
|
82
|
+
if GcManager.is_collect_threaded() or isinstance(self, SessionContext.TSessionContext) or not SessionContext.has_instance():
|
|
76
83
|
self.__delete()
|
|
77
84
|
else:
|
|
85
|
+
from holado_multitask.multithreading.functionthreaded import FunctionThreaded
|
|
78
86
|
func = FunctionThreaded(self.__delete, name=f"delete object '{self.name}'", register_thread=False)
|
|
79
87
|
func.start()
|
|
80
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
|
|
@@ -16,6 +16,7 @@ class Config(object):
|
|
|
16
16
|
"""HolAdo project configuration"""
|
|
17
17
|
|
|
18
18
|
# Timeouts
|
|
19
|
+
session_timeout_seconds = 7 * 24 * 3600 # Session timeout is by default to 7 days
|
|
19
20
|
timeout_seconds = 240 # Default timeout
|
|
20
21
|
join_timeout_seconds = 1800 # Long timeout used when a join should stop without deadlock. When this timeout is reached, a TimeoutTechnicalException is raised
|
|
21
22
|
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
|
|
2
|
+
#################################################
|
|
3
|
+
# HolAdo (Holistic Automation do)
|
|
4
|
+
#
|
|
5
|
+
# (C) Copyright 2021-2025 by Eric Klumpp
|
|
6
|
+
#
|
|
7
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
8
|
+
#
|
|
9
|
+
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
10
|
+
|
|
11
|
+
# The Software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software.
|
|
12
|
+
#################################################
|
|
13
|
+
|
|
14
|
+
import logging
|
|
15
|
+
from holado_core.common.exceptions.technical_exception import TechnicalException
|
|
16
|
+
from holado_value.common.tables.value_table_manager import ValueTableManager
|
|
17
|
+
from holado_value.common.tables.converters.value_table_converter import ValueTableConverter
|
|
18
|
+
from typing import Union
|
|
19
|
+
from holado_core.common.tables.table_with_header import TableWithHeader
|
|
20
|
+
from holado_core.common.tools.string_tools import StrTools
|
|
21
|
+
from holado_binary.ipc.binary import Binary
|
|
22
|
+
from holado_core.common.tools.tools import Tools
|
|
23
|
+
from holado_python.standard_library.typing import Typing
|
|
24
|
+
import copy
|
|
25
|
+
|
|
26
|
+
logger = logging.getLogger(__name__)
|
|
27
|
+
|
|
28
|
+
try:
|
|
29
|
+
import pyais
|
|
30
|
+
from bitarray import bitarray
|
|
31
|
+
from holado_ais.ais.patch_pyais import HATagBlock, HA_ais_to_nmea_0183
|
|
32
|
+
with_pyais = True
|
|
33
|
+
|
|
34
|
+
# Patch pyais with some fixes
|
|
35
|
+
import holado_ais.ais.patch_pyais # @UnusedImport
|
|
36
|
+
except Exception as exc:
|
|
37
|
+
if Tools.do_log(logger, logging.DEBUG):
|
|
38
|
+
logger.debug(f"AIS is not available. Initialization failed on error: {exc}")
|
|
39
|
+
with_pyais = False
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class AISMessages(object):
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def is_available(cls):
|
|
47
|
+
return with_pyais
|
|
48
|
+
|
|
49
|
+
if with_pyais:
|
|
50
|
+
|
|
51
|
+
def __init__(self):
|
|
52
|
+
self.__tag_block_group_id = 0
|
|
53
|
+
|
|
54
|
+
def default_message_data(self, msg_type:int):
|
|
55
|
+
"""Return default data values for required data by pyais but not functionnaly required.
|
|
56
|
+
It is useful when generating custom messages, for example for tests.
|
|
57
|
+
"""
|
|
58
|
+
return {}
|
|
59
|
+
|
|
60
|
+
def new_message_as_bitarray_bytes(self, msg_type:int, data:Union[dict,TableWithHeader]):
|
|
61
|
+
msg = self.new_message(msg_type, data)
|
|
62
|
+
res = self.convert_message_to_bytes(msg)
|
|
63
|
+
return res
|
|
64
|
+
|
|
65
|
+
def new_message(self, msg_type:int, data:Union[dict,TableWithHeader]):
|
|
66
|
+
if isinstance(data, TableWithHeader):
|
|
67
|
+
data = self.__convert_table_to_dict(data)
|
|
68
|
+
if not isinstance(data, dict):
|
|
69
|
+
raise TechnicalException(f"Unexpected data type '{Typing.get_object_class_fullname(data)}'")
|
|
70
|
+
|
|
71
|
+
message_type = self.__get_message_type(msg_type)
|
|
72
|
+
res = message_type.create(**data)
|
|
73
|
+
return res
|
|
74
|
+
|
|
75
|
+
def decode(self, *args, encoded_msg=None, parts_separator=b'\n'):
|
|
76
|
+
if encoded_msg is not None:
|
|
77
|
+
if isinstance(encoded_msg, str):
|
|
78
|
+
encoded_bytes = encoded_msg.encode("utf-8")
|
|
79
|
+
elif isinstance(encoded_msg, bytes):
|
|
80
|
+
encoded_bytes = encoded_msg
|
|
81
|
+
else:
|
|
82
|
+
raise TechnicalException(f"Parameter 'encoded_msg' must be of type str or bytes")
|
|
83
|
+
args = encoded_bytes.split(parts_separator)
|
|
84
|
+
return pyais.decode(*args, error_if_checksum_invalid=True)
|
|
85
|
+
|
|
86
|
+
def decode_message(self, msg_type:int, bit_array:Union[str,bitarray]):
|
|
87
|
+
if isinstance(bit_array, str):
|
|
88
|
+
if StrTools.is_hex(bit_array) and not StrTools.is_bitarray(bit_array):
|
|
89
|
+
bit_array = Binary.convert_hex_str_to_bin_str(bit_array)
|
|
90
|
+
bit_array = bitarray(bit_array)
|
|
91
|
+
if not isinstance(bit_array, bitarray):
|
|
92
|
+
raise TechnicalException(f"Bad parameter 'bit_array' (accepted types: bitarray, str)")
|
|
93
|
+
|
|
94
|
+
message_type = self.__get_message_type(msg_type)
|
|
95
|
+
return message_type.from_bitarray(bit_array)
|
|
96
|
+
|
|
97
|
+
def encode_raw_payload(self, payload_hex: str, tag_block: HATagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
|
|
98
|
+
from pyais.util import encode_ascii_6
|
|
99
|
+
|
|
100
|
+
payload_bitarray = bitarray()
|
|
101
|
+
payload_bitarray.frombytes(bytes.fromhex(payload_hex))
|
|
102
|
+
payload_ascii6, fill_bits = encode_ascii_6(payload_bitarray)
|
|
103
|
+
|
|
104
|
+
seq_id = kwargs.pop('seq_id') if 'seq_id' in kwargs else self.__tag_block_group_id % 10
|
|
105
|
+
radio_channel = kwargs['radio_channel'] if 'radio_channel' in kwargs else 'A'
|
|
106
|
+
group_id = kwargs.pop('group_id') if 'group_id' in kwargs else None
|
|
107
|
+
|
|
108
|
+
sentences = HA_ais_to_nmea_0183(payload_ascii6, talker_id, radio_channel, fill_bits, seq_id)
|
|
109
|
+
return self.__encode_add_tag_block(sentences, tag_block, with_tag_block=with_tag_block, group_id=group_id)
|
|
110
|
+
|
|
111
|
+
def encode(self, data, tag_block: HATagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
|
|
112
|
+
if isinstance(data, pyais.messages.Payload):
|
|
113
|
+
return self.encode_msg(data, tag_block=tag_block, with_tag_block=with_tag_block, talker_id=talker_id, **kwargs)
|
|
114
|
+
elif isinstance(data, dict):
|
|
115
|
+
return self.encode_data(data, tag_block=tag_block, with_tag_block=with_tag_block, talker_id=talker_id, **kwargs)
|
|
116
|
+
elif isinstance(data, TableWithHeader):
|
|
117
|
+
return self.encode_table(data, tag_block=tag_block, with_tag_block=with_tag_block, talker_id=talker_id, **kwargs)
|
|
118
|
+
else:
|
|
119
|
+
raise TechnicalException(f"Unexpected data type '{Typing.get_object_class_fullname(data)}'")
|
|
120
|
+
|
|
121
|
+
def encode_msg(self, msg, tag_block: HATagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
|
|
122
|
+
if not isinstance(msg, pyais.messages.Payload):
|
|
123
|
+
raise TechnicalException(f"Parameter 'msg' is not an AIS message (obtained type: {Typing.get_object_class_fullname(msg)})")
|
|
124
|
+
|
|
125
|
+
seq_id = kwargs.pop('seq_id') if 'seq_id' in kwargs else self.__tag_block_group_id % 10
|
|
126
|
+
group_id = kwargs.pop('group_id') if 'group_id' in kwargs else None
|
|
127
|
+
|
|
128
|
+
sentences = pyais.encode_msg(msg, seq_id=seq_id, talker_id=talker_id, **kwargs)
|
|
129
|
+
return self.__encode_add_tag_block(sentences, tag_block, with_tag_block=with_tag_block, group_id=group_id)
|
|
130
|
+
|
|
131
|
+
def encode_data(self, data, tag_block: HATagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
|
|
132
|
+
if not isinstance(data, dict):
|
|
133
|
+
raise TechnicalException(f"Parameter 'data' is not a dict (obtained type: {Typing.get_object_class_fullname(data)})")
|
|
134
|
+
|
|
135
|
+
seq_id = kwargs.pop('seq_id') if 'seq_id' in kwargs else self.__tag_block_group_id % 10
|
|
136
|
+
group_id = kwargs.pop('group_id') if 'group_id' in kwargs else None
|
|
137
|
+
|
|
138
|
+
sentences = pyais.encode_dict(data, seq_id=seq_id, talker_id=talker_id, **kwargs)
|
|
139
|
+
return self.__encode_add_tag_block(sentences, tag_block, with_tag_block=with_tag_block, group_id=group_id)
|
|
140
|
+
|
|
141
|
+
def encode_table(self, table, tag_block: HATagBlock = None, with_tag_block=True, talker_id: str = "AIVDM", **kwargs):
|
|
142
|
+
data = self.__convert_table_to_dict(table)
|
|
143
|
+
return self.encode_data(data, tag_block=tag_block, with_tag_block=with_tag_block, talker_id=talker_id, **kwargs)
|
|
144
|
+
|
|
145
|
+
def __encode_add_tag_block(self, encoded_sentences, tag_block: HATagBlock = None, with_tag_block=True, group_id=None):
|
|
146
|
+
from pyais.messages import TagBlockGroup
|
|
147
|
+
|
|
148
|
+
if not with_tag_block:
|
|
149
|
+
return encoded_sentences
|
|
150
|
+
|
|
151
|
+
res = []
|
|
152
|
+
nb_sentences = len(encoded_sentences)
|
|
153
|
+
if nb_sentences > 1 and group_id is None:
|
|
154
|
+
group_id = self.__tag_block_group_id
|
|
155
|
+
# Increment group_id for next message needing a group_id
|
|
156
|
+
self.__new_tag_block_group_id()
|
|
157
|
+
elif nb_sentences == 1:
|
|
158
|
+
# No group tag block is needed
|
|
159
|
+
group_id = None
|
|
160
|
+
|
|
161
|
+
for index, sentence in enumerate(encoded_sentences):
|
|
162
|
+
sentence_tag_block = copy.deepcopy(tag_block) if index == 0 else None
|
|
163
|
+
if group_id is not None:
|
|
164
|
+
if sentence_tag_block is None:
|
|
165
|
+
sentence_tag_block = HATagBlock()
|
|
166
|
+
sentence_tag_block._group = TagBlockGroup(msg_id=index+1, total=nb_sentences, group_id=group_id)
|
|
167
|
+
|
|
168
|
+
if sentence_tag_block is not None:
|
|
169
|
+
res.append('\\' + sentence_tag_block.to_raw().decode() + '\\' + sentence)
|
|
170
|
+
else:
|
|
171
|
+
res.append(sentence)
|
|
172
|
+
|
|
173
|
+
return res
|
|
174
|
+
|
|
175
|
+
def __new_tag_block_group_id(self):
|
|
176
|
+
self.__tag_block_group_id += 1
|
|
177
|
+
if self.__tag_block_group_id > 9999:
|
|
178
|
+
self.__tag_block_group_id = 0
|
|
179
|
+
return self.__tag_block_group_id
|
|
180
|
+
|
|
181
|
+
def convert_message_to_binary_str(self, msg):
|
|
182
|
+
return msg.to_bitarray().to01()
|
|
183
|
+
|
|
184
|
+
def convert_message_to_bytes(self, msg):
|
|
185
|
+
return msg.to_bitarray().tobytes()
|
|
186
|
+
|
|
187
|
+
def __get_message_type(self, msg_type:int):
|
|
188
|
+
import importlib
|
|
189
|
+
module = importlib.import_module('pyais.messages')
|
|
190
|
+
res = getattr(module, f"MessageType{msg_type}")
|
|
191
|
+
return res
|
|
192
|
+
|
|
193
|
+
def __convert_table_to_dict(self, table):
|
|
194
|
+
if not ValueTableManager.is_table_with_header(table):
|
|
195
|
+
raise TechnicalException(f"Parameter 'table' is not a table with header (obtained type: {Typing.get_object_class_fullname(table)})")
|
|
196
|
+
|
|
197
|
+
if ValueTableManager.verify_table_is_name_value_table(table, raise_exception=False):
|
|
198
|
+
res = ValueTableConverter.convert_name_value_table_2_dict(table)
|
|
199
|
+
else:
|
|
200
|
+
res = ValueTableConverter.convert_table_with_header_to_dict(table)
|
|
201
|
+
return res
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
@@ -122,10 +122,14 @@ class PathManager(object):
|
|
|
122
122
|
else:
|
|
123
123
|
os.replace(src, dst)
|
|
124
124
|
|
|
125
|
+
def get_user_home_path(self):
|
|
126
|
+
import pathlib
|
|
127
|
+
return str(pathlib.Path.home())
|
|
128
|
+
|
|
125
129
|
def get_local_resources_path(self, name=None):
|
|
126
|
-
base_path = os.getenv('
|
|
130
|
+
base_path = os.getenv('HOLADO_LOCAL_RESOURCES_BASEDIR')
|
|
127
131
|
if base_path is None:
|
|
128
|
-
|
|
132
|
+
base_path = os.path.join(self.get_user_home_path(), '.holado', 'resources')
|
|
129
133
|
|
|
130
134
|
if name is not None:
|
|
131
135
|
return os.path.join(base_path, name)
|
|
@@ -133,9 +137,9 @@ class PathManager(object):
|
|
|
133
137
|
return base_path
|
|
134
138
|
|
|
135
139
|
def get_reports_path(self, name=None):
|
|
136
|
-
base_path = os.getenv('
|
|
140
|
+
base_path = os.getenv('HOLADO_OUTPUT_BASEDIR')
|
|
137
141
|
if base_path is None:
|
|
138
|
-
|
|
142
|
+
base_path = os.path.join(self.get_user_home_path(), '.holado', 'output')
|
|
139
143
|
|
|
140
144
|
if name is not None:
|
|
141
145
|
return os.path.join(base_path, "reports", name)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import holado
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# Initialize HolAdo with default behaviours and custom parameters
|
|
5
|
+
|
|
6
|
+
holado.initialize_for_script(log_on_console=True, log_in_file=True)
|
|
7
|
+
|
|
8
|
+
import logging
|
|
9
|
+
logging.print("After 'holado.initialize_for_script(log_on_console=True, log_in_file=True)', HolAdo is initialized for scripts with:")
|
|
10
|
+
logging.print(" - add logging levels 'trace' and 'print'")
|
|
11
|
+
logging.print(" - do logs on console and in file")
|
|
12
|
+
logging.print(" - a default session context is initialialized with all available HolAdo services")
|
|
13
|
+
logging.print(" - a session folder is created that will contains at least log files")
|
|
14
|
+
logging.print(" - launch garbage collector periodically (without specifying garbage_collector_periodicity, default periodicity is 10 s)")
|
|
15
|
+
|
|
16
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import holado
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# Minimal HolAdo initialization for scripts
|
|
5
|
+
holado.initialize_for_script()
|
|
6
|
+
|
|
7
|
+
import logging
|
|
8
|
+
logging.print("After 'holado.initialize_for_script()', HolAdo is initialized minimally for scripts with:")
|
|
9
|
+
logging.print(" - add logging levels 'trace' and 'print'")
|
|
10
|
+
logging.print(" - do logs on console but not in file")
|
|
11
|
+
logging.print(" - a default session context is initialialized with all available HolAdo services")
|
|
12
|
+
logging.print(" - no session folder is created")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# Launch manually garbage collector periodically
|
|
16
|
+
from holado.common.tools.gc_manager import GcManager
|
|
17
|
+
from holado.common.handlers.undefined import default_value
|
|
18
|
+
GcManager.collect_periodically(collect_periodicity=default_value)
|
|
19
|
+
logging.print("After 'GcManager.collect_periodically(collect_periodicity=default_value)', garbage collector is launched periodically (with default periodicity that is 10 s)")
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# This main is only needed to debug behave execution (and thus testing solution) with breakpoints
|
|
5
|
+
|
|
6
|
+
import re
|
|
7
|
+
import sys
|
|
8
|
+
|
|
9
|
+
from behave.__main__ import main
|
|
10
|
+
|
|
11
|
+
if __name__ == '__main__':
|
|
12
|
+
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
|
13
|
+
sys.exit(main())
|