holado 0.13.4__tar.gz → 0.13.13.dev6__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.
Files changed (817) hide show
  1. {holado-0.13.4 → holado-0.13.13.dev6}/PKG-INFO +3 -4
  2. holado-0.13.13.dev6/packaging/VERSION +1 -0
  3. {holado-0.13.4 → holado-0.13.13.dev6}/pyproject.toml +2 -3
  4. holado-0.13.13.dev6/src/holado_docker/sdk/docker/container_logs.py +378 -0
  5. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_docker/sdk/docker/docker_client.py +94 -42
  6. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/common/tools/datetime.py +1 -1
  7. holado-0.13.13.dev6/src/holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +21 -0
  8. holado-0.13.13.dev6/src/holado_python/standard_library/ssl/resources/certificates/tcpbin.key +28 -0
  9. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/campaign/campaign_manager.py +118 -30
  10. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/client/rest/test_server_client.py +9 -4
  11. holado-0.13.13.dev6/src/holado_test/tools/test_server/server/requirements.txt +2 -0
  12. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/rest/api/campaign/__init__.py +5 -1
  13. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/rest/api/campaign/scenario.py +13 -6
  14. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/run_test_server_in_docker.sh +5 -2
  15. holado-0.13.13.dev6/src/holado_tools/tools/host_controller/client/rest/host_controller_client.py +268 -0
  16. holado-0.13.13.dev6/src/holado_tools/tools/host_controller/server/requirements.txt +2 -0
  17. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_controller/server/rest/api/config.py +39 -21
  18. holado-0.13.13.dev6/src/holado_tools/tools/host_controller/server/rest/api/docker/__init__.py +66 -0
  19. holado-0.13.13.dev6/src/holado_tools/tools/host_controller/server/rest/api/docker/container.py +144 -0
  20. holado-0.13.13.dev6/src/holado_tools/tools/host_controller/server/rest/api/docker/logs.py +63 -0
  21. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_controller/server/rest/api/os.py +27 -16
  22. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_controller/server/rest/openapi.yaml +191 -2
  23. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_controller/server/run_host_controller_in_docker.sh +2 -2
  24. holado-0.13.4/src/holado_tools/tools/host_controller/client/rest/host_controller_client.py → holado-0.13.13.dev6/src/holado_tools/tools/host_viewer/client/rest/host_viewer_client.py +59 -62
  25. holado-0.13.13.dev6/src/holado_tools/tools/host_viewer/server/requirements.txt +2 -0
  26. holado-0.13.13.dev6/src/holado_tools/tools/host_viewer/server/rest/api/docker/__init__.py +65 -0
  27. holado-0.13.13.dev6/src/holado_tools/tools/host_viewer/server/rest/api/docker/container.py +87 -0
  28. holado-0.13.4/src/holado_tools/tools/host_viewer/server/rest/api/docker/__init__.py → holado-0.13.13.dev6/src/holado_tools/tools/host_viewer/server/rest/api/os.py +34 -16
  29. holado-0.13.13.dev6/src/holado_tools/tools/host_viewer/server/rest/openapi.yaml +301 -0
  30. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_viewer/server/run_host_viewer_in_docker.sh +6 -6
  31. holado-0.13.4/packaging/VERSION +0 -1
  32. holado-0.13.4/src/holado_docker/sdk/docker/container_logs.py +0 -199
  33. holado-0.13.4/src/holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +0 -21
  34. holado-0.13.4/src/holado_python/standard_library/ssl/resources/certificates/tcpbin.key +0 -28
  35. holado-0.13.4/src/holado_test/tools/test_server/server/requirements.txt +0 -2
  36. holado-0.13.4/src/holado_tools/tools/host_controller/server/requirements.txt +0 -2
  37. holado-0.13.4/src/holado_tools/tools/host_controller/server/rest/api/docker/__init__.py +0 -54
  38. holado-0.13.4/src/holado_tools/tools/host_controller/server/rest/api/docker/container.py +0 -55
  39. holado-0.13.4/src/holado_tools/tools/host_controller/server/rest/api/docker/logs.py +0 -38
  40. holado-0.13.4/src/holado_tools/tools/host_viewer/client/rest/host_viewer_client.py +0 -96
  41. holado-0.13.4/src/holado_tools/tools/host_viewer/server/requirements.txt +0 -2
  42. holado-0.13.4/src/holado_tools/tools/host_viewer/server/rest/openapi.yaml +0 -113
  43. {holado-0.13.4 → holado-0.13.13.dev6}/.gitignore +0 -0
  44. {holado-0.13.4 → holado-0.13.13.dev6}/.gitlab-ci.yml +0 -0
  45. {holado-0.13.4 → holado-0.13.13.dev6}/Dockerfile +0 -0
  46. {holado-0.13.4 → holado-0.13.13.dev6}/INSTALL +0 -0
  47. {holado-0.13.4 → holado-0.13.13.dev6}/LICENSE +0 -0
  48. {holado-0.13.4 → holado-0.13.13.dev6}/NOTES.md +0 -0
  49. {holado-0.13.4 → holado-0.13.13.dev6}/README.md +0 -0
  50. {holado-0.13.4 → holado-0.13.13.dev6}/README.rst +0 -0
  51. {holado-0.13.4 → holado-0.13.13.dev6}/TODO +0 -0
  52. {holado-0.13.4 → holado-0.13.13.dev6}/build/Dockerfile_python3.13_alpine3.20 +0 -0
  53. {holado-0.13.4 → holado-0.13.13.dev6}/build/Dockerfile_with_docker +0 -0
  54. {holado-0.13.4 → holado-0.13.13.dev6}/dependencies/protoc/README.txt +0 -0
  55. {holado-0.13.4 → holado-0.13.13.dev6}/packaging/generate_distribution_archive.sh +0 -0
  56. {holado-0.13.4 → holado-0.13.13.dev6}/packaging/others/publish_distribution_archive_on_testpypi.sh +0 -0
  57. {holado-0.13.4 → holado-0.13.13.dev6}/packaging/publish_distribution_archive.sh +0 -0
  58. {holado-0.13.4 → holado-0.13.13.dev6}/requirements.txt +0 -0
  59. {holado-0.13.4 → holado-0.13.13.dev6}/requirements_docker.txt +0 -0
  60. {holado-0.13.4 → holado-0.13.13.dev6}/resources/scripts/generate_scenario_duration_limits.py +0 -0
  61. {holado-0.13.4 → holado-0.13.13.dev6}/resources/scripts/generate_scenario_duration_tags.py +0 -0
  62. {holado-0.13.4 → holado-0.13.13.dev6}/resources/scripts/print_execution_historic.py +0 -0
  63. {holado-0.13.4 → holado-0.13.13.dev6}/resources/scripts/update_scenario_duration_tags.py +0 -0
  64. {holado-0.13.4 → holado-0.13.13.dev6}/resources/ssh/id_rsa +0 -0
  65. {holado-0.13.4 → holado-0.13.13.dev6}/resources/ssh/id_rsa.pub +0 -0
  66. {holado-0.13.4 → holado-0.13.13.dev6}/run_test.sh +0 -0
  67. {holado-0.13.4 → holado-0.13.13.dev6}/run_test_draft.sh +0 -0
  68. {holado-0.13.4 → holado-0.13.13.dev6}/run_test_needupdate.sh +0 -0
  69. {holado-0.13.4 → holado-0.13.13.dev6}/run_test_nonreg.sh +0 -0
  70. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/__init__.py +0 -0
  71. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/__init__.py +0 -0
  72. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/context/__init__.py +0 -0
  73. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/context/context.py +0 -0
  74. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/context/service_manager.py +0 -0
  75. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/context/session_context.py +0 -0
  76. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/handlers/__init__.py +0 -0
  77. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/handlers/enums.py +0 -0
  78. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/handlers/object.py +0 -0
  79. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/handlers/undefined.py +0 -0
  80. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/tools/__init__.py +0 -0
  81. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/common/tools/gc_manager.py +0 -0
  82. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado/holado_config.py +0 -0
  83. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/__init__.py +0 -0
  84. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/ais/MaritimeIdentificationDigits.csv +0 -0
  85. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/ais/ais_manager.py +0 -0
  86. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/ais/ais_messages.py +0 -0
  87. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/ais/ais_payload.py +0 -0
  88. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/ais/enums.py +0 -0
  89. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/ais/patch_pyais.py +0 -0
  90. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/tests/behave/steps/__init__.py +0 -0
  91. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/tests/behave/steps/ais/__init__.py +0 -0
  92. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/tests/behave/steps/ais/ais_manager_steps.py +0 -0
  93. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ais/tests/behave/steps/ais/ais_messages_steps.py +0 -0
  94. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_api/README.txt +0 -0
  95. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_api/__init__.py +0 -0
  96. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_api/client/README.txt +0 -0
  97. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_api/server/README.txt +0 -0
  98. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_api/tests/behave/steps/__init__.py +0 -0
  99. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_api/tests/behave/steps/private/__init__.py +0 -0
  100. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_api/tests/behave/steps/server/connexion_server_steps.py +0 -0
  101. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_binary/__init__.py +0 -0
  102. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_binary/ipc/binary.py +0 -0
  103. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_binary/ipc/bit_series.py +0 -0
  104. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_binary/tests/behave/steps/__init__.py +0 -0
  105. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_binary/tests/behave/steps/ipc/binary_steps.py +0 -0
  106. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_binary/tests/behave/steps/ipc/bit_series_steps.py +0 -0
  107. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_context/__init__.py +0 -0
  108. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_context/tests/behave/steps/__init__.py +0 -0
  109. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_context/tests/behave/steps/private/__init__.py +0 -0
  110. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_context/tests/behave/steps/private/common/context_steps.py +0 -0
  111. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/__init__.py +0 -0
  112. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/__init__.py +0 -0
  113. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/actors/actions.py +0 -0
  114. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/actors/actor.py +0 -0
  115. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/actors/element_actor.py +0 -0
  116. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/actors/find_actor.py +0 -0
  117. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/actors/tree_actor.py +0 -0
  118. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/actors/verify_actions.py +0 -0
  119. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/block/base.py +0 -0
  120. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/block/block_manager.py +0 -0
  121. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/block/block_method.py +0 -0
  122. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/block/block_steps.py +0 -0
  123. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/block/function.py +0 -0
  124. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/block/scope_function.py +0 -0
  125. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/block/scope_manager.py +0 -0
  126. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/block/scope_steps.py +0 -0
  127. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/criterias/and_criteria.py +0 -0
  128. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/criterias/criteria.py +0 -0
  129. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/criterias/or_criteria.py +0 -0
  130. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/criterias/tools/criteria_context.py +0 -0
  131. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/criterias/tools/criteria_parameters.py +0 -0
  132. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/drivers/driver.py +0 -0
  133. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/drivers/element_driver.py +0 -0
  134. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/drivers/element_internal_api.py +0 -0
  135. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/drivers/internal_api.py +0 -0
  136. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/drivers/tree_driver.py +0 -0
  137. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/drivers/tree_internal_api.py +0 -0
  138. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/exceptions/__init__.py +0 -0
  139. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/exceptions/element_exception.py +0 -0
  140. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/exceptions/exceptions.py +0 -0
  141. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/exceptions/functional_exception.py +0 -0
  142. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/exceptions/holado_exception.py +0 -0
  143. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/exceptions/technical_exception.py +0 -0
  144. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/exceptions/timeout_exception.py +0 -0
  145. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/exceptions/verify_exception.py +0 -0
  146. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/after_in_tree_finder.py +0 -0
  147. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/element_finder.py +0 -0
  148. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/else_finder.py +0 -0
  149. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/finder.py +0 -0
  150. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/or_finder.py +0 -0
  151. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/then_finder.py +0 -0
  152. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/tools/enums.py +0 -0
  153. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/tools/find_builder.py +0 -0
  154. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/tools/find_context.py +0 -0
  155. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/tools/find_info.py +0 -0
  156. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/tools/find_parameters.py +0 -0
  157. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/tools/find_updater.py +0 -0
  158. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/tools/finder_info.py +0 -0
  159. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/finders/tree_finder.py +0 -0
  160. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/handlers/__init__.py +0 -0
  161. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/handlers/abstracts/base_redo.py +0 -0
  162. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/handlers/abstracts/get_or_create.py +0 -0
  163. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/handlers/element_holder.py +0 -0
  164. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/handlers/enums.py +0 -0
  165. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/handlers/exceptions/redo_exceptions.py +0 -0
  166. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/handlers/features/resource_by_name.py +0 -0
  167. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/handlers/features/resource_by_type.py +0 -0
  168. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/handlers/redo.py +0 -0
  169. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/handlers/wait.py +0 -0
  170. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/inspectors/element_inspector.py +0 -0
  171. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/inspectors/inspector.py +0 -0
  172. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/inspectors/tools/inspect_builder.py +0 -0
  173. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/inspectors/tools/inspect_context.py +0 -0
  174. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/inspectors/tools/inspect_parameters.py +0 -0
  175. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/inspectors/tree_inspector.py +0 -0
  176. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/resource/persisted_data_manager.py +0 -0
  177. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/resource/persisted_method_to_call_manager.py +0 -0
  178. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/resource/resource_manager.py +0 -0
  179. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/resource/table_data_manager.py +0 -0
  180. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/__init__.py +0 -0
  181. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/__init__.py +0 -0
  182. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/boolean_table_cell_comparator.py +0 -0
  183. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/bytes_table_cell_comparator.py +0 -0
  184. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/datetime_table_cell_comparator.py +0 -0
  185. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/float_table_cell_comparator.py +0 -0
  186. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/integer_table_cell_comparator.py +0 -0
  187. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/internal_table_cell_comparator.py +0 -0
  188. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/string_table_cell_comparator.py +0 -0
  189. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/string_table_comparator.py +0 -0
  190. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/string_table_row_comparator.py +0 -0
  191. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/table_cell_comparator.py +0 -0
  192. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/table_comparator.py +0 -0
  193. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/table_comparator_manager.py +0 -0
  194. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/table_row_comparator.py +0 -0
  195. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/comparators/table_with_header_comparator.py +0 -0
  196. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/converters/__init__.py +0 -0
  197. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/converters/table_converter.py +0 -0
  198. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/enums.py +0 -0
  199. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/table.py +0 -0
  200. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/table_cell.py +0 -0
  201. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/table_manager.py +0 -0
  202. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/table_row.py +0 -0
  203. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tables/table_with_header.py +0 -0
  204. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tools/__init__.py +0 -0
  205. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tools/comparators/comparator.py +0 -0
  206. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tools/comparators/object_comparator.py +0 -0
  207. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tools/converters/converter.py +0 -0
  208. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tools/path_manager.py +0 -0
  209. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tools/string_tools.py +0 -0
  210. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/common/tools/tools.py +0 -0
  211. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/tests/behave/steps/__init__.py +0 -0
  212. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/tests/behave/steps/common/__init__.py +0 -0
  213. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/tests/behave/steps/common/common_steps.py +0 -0
  214. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/tests/behave/steps/common/config_steps.py +0 -0
  215. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/tests/behave/steps/common/resource_steps.py +0 -0
  216. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/tests/behave/steps/common/tables_steps.py +0 -0
  217. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/tools/__init__.py +0 -0
  218. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/tools/abstracts/__init__.py +0 -0
  219. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/tools/abstracts/blocking_command_service.py +0 -0
  220. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_core/tools/abstracts/service.py +0 -0
  221. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_crypto/__init__.py +0 -0
  222. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_crypto/crypto/transport/__init__.py +0 -0
  223. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_crypto/crypto/transport/crc.py +0 -0
  224. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_crypto/test/behave/steps/__init__.py +0 -0
  225. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_data/__init__.py +0 -0
  226. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_data/data/generator/base.py +0 -0
  227. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_data/data/generator/generator_manager.py +0 -0
  228. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_data/data/generator/python_generator.py +0 -0
  229. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_data/tests/behave/steps/__init__.py +0 -0
  230. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_data/tests/behave/steps/data/generator_steps.py +0 -0
  231. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_data/tests/behave/steps/tools/utils_steps.py +0 -0
  232. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/__init__.py +0 -0
  233. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tests/behave/steps/__init__.py +0 -0
  234. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tests/behave/steps/tools/db/db_client_steps.py +0 -0
  235. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tests/behave/steps/tools/db/postgresql_client_steps.py +0 -0
  236. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tests/behave/steps/tools/db/sqlite_client_steps.py +0 -0
  237. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tools/db/clients/base/db_audit.py +0 -0
  238. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tools/db/clients/base/db_client.py +0 -0
  239. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tools/db/clients/postgresql/postgresql_audit.py +0 -0
  240. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tools/db/clients/postgresql/postgresql_client.py +0 -0
  241. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tools/db/clients/sqlite/sqlite_audit.py +0 -0
  242. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tools/db/clients/sqlite/sqlite_client.py +0 -0
  243. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tools/db/db_manager.py +0 -0
  244. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tools/db/query/base/query_builder.py +0 -0
  245. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tools/db/query/pypika/pypika_query_builder.py +0 -0
  246. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_db/tools/db/query/query_manager.py +0 -0
  247. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/__init__.py +0 -0
  248. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/HOWTO.txt +0 -0
  249. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/db.sqlite3 +0 -0
  250. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/manage.py +0 -0
  251. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/__init__.py +0 -0
  252. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/application/__init__.py +0 -0
  253. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/application/admin.py +0 -0
  254. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/application/apps.py +0 -0
  255. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/application/migrations/__init__.py +0 -0
  256. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/application/models.py +0 -0
  257. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/application/tests.py +0 -0
  258. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/application/views.py +0 -0
  259. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/asgi.py +0 -0
  260. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/settings.py +0 -0
  261. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/urls.py +0 -0
  262. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_projects/rest_api/rest_api/wsgi.py +0 -0
  263. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/django_server.py +0 -0
  264. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/grpc_django_server.py +0 -0
  265. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/server/patch_djangogrpcframework.py +0 -0
  266. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/tests/behave/steps/__init__.py +0 -0
  267. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_django/tests/behave/steps/django_server_steps.py +0 -0
  268. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_docker/__init__.py +0 -0
  269. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_docker/sdk/docker/docker_service.py +0 -0
  270. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_docker/tests/behave/steps/__init__.py +0 -0
  271. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_docker/tests/behave/steps/sdk/docker/container_logs_steps.py +0 -0
  272. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/initialize_holado.py +0 -0
  273. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/db.sqlite3 +0 -0
  274. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/manage.py +0 -0
  275. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/__init__.py +0 -0
  276. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/__init__.py +0 -0
  277. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/admin.py +0 -0
  278. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/apps.py +0 -0
  279. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/migrations/__init__.py +0 -0
  280. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/models.py +0 -0
  281. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/serializers.py +0 -0
  282. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/tests.py +0 -0
  283. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/views.py +0 -0
  284. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/asgi.py +0 -0
  285. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/settings.py +0 -0
  286. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/urls.py +0 -0
  287. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/wsgi.py +0 -0
  288. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/projects/server_rest/server_rest_example/rest_server.py +0 -0
  289. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/scripts/script_custom_initialization.py +0 -0
  290. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/scripts/script_minimal_initialization.py +0 -0
  291. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/__main__.py +0 -0
  292. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/behave_environment.py +0 -0
  293. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/environment.py +0 -0
  294. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/features/Configuration/Actions/configure_system.feature +0 -0
  295. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/features/NonReg/example.feature +0 -0
  296. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/initialize_holado.py +0 -0
  297. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/logging.conf +0 -0
  298. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/requirements.txt +0 -0
  299. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/run_test.sh +0 -0
  300. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/run_test_nonreg.sh +0 -0
  301. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/src/common/tools/path_manager.py +0 -0
  302. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/src/config/config_manager.py +0 -0
  303. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/src/context/session_context.py +0 -0
  304. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/steps/config_steps.py +0 -0
  305. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_examples/tests/behave/testing_solution/steps/public_steps.py +0 -0
  306. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/TODO +0 -0
  307. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/__init__.py +0 -0
  308. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/api/rpc/TODO.txt +0 -0
  309. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/api/rpc/grpc_client.py +0 -0
  310. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/api/rpc/grpc_manager.py +0 -0
  311. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/ipc/rpc/__init__.py +0 -0
  312. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/ipc/rpc/grpc_compiler.py +0 -0
  313. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/ipc/rpc/grpc_services.py +0 -0
  314. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/tests/behave/steps/__init__.py +0 -0
  315. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/tests/behave/steps/api/grpc_client_steps.py +0 -0
  316. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/tests/behave/steps/private/__init__.py +0 -0
  317. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_grpc/tests/behave/steps/private/api/grpc_steps.py +0 -0
  318. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/__init__.py +0 -0
  319. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/debug/README.txt +0 -0
  320. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/debug/memory/memory_profiler.py +0 -0
  321. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/docker/init_user.sh +0 -0
  322. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/docker/logging.conf +0 -0
  323. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/docker/run_holado_test_nonreg_in_docker.sh +0 -0
  324. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/docker/run_terminal_in_docker.sh +0 -0
  325. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/holado_module_template/__init__.py +0 -0
  326. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/holado_module_template/tests/behave/steps/__init__.py +0 -0
  327. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/holado_module_template/tests/behave/steps/private/__init__.py +0 -0
  328. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/initialize_holado.py +0 -0
  329. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/script/action.py +0 -0
  330. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/script/action_script.py +0 -0
  331. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/script/any_action_script.py +0 -0
  332. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/script/behave_action_script.py +0 -0
  333. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/script/csv_action_script.py +0 -0
  334. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/script/initialize_script.py +0 -0
  335. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/script/input_output_script.py +0 -0
  336. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/script/job.py +0 -0
  337. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/script/json_action_script.py +0 -0
  338. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_helper/script/script.py +0 -0
  339. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_json/__init__.py +0 -0
  340. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_json/filesystem/json_file.py +0 -0
  341. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_json/filesystem/stream_json_file.py +0 -0
  342. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_json/ipc/json.py +0 -0
  343. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_json/ipc/json_converter.py +0 -0
  344. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_json/ipc/json_types.py +0 -0
  345. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_json/tests/behave/steps/__init__.py +0 -0
  346. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_json/tests/behave/steps/ipc/__init__.py +0 -0
  347. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_json/tests/behave/steps/ipc/json_steps.py +0 -0
  348. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_keycloak/__init__.py +0 -0
  349. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_keycloak/tests/behave/steps/__init__.py +0 -0
  350. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_keycloak/tests/behave/steps/tools/keycloak_client_steps.py +0 -0
  351. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_keycloak/tools/keycloak/__init__.py +0 -0
  352. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_keycloak/tools/keycloak/keycloak_client.py +0 -0
  353. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_logging/__init__.py +0 -0
  354. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_logging/common/logging/holado_logger.py +0 -0
  355. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_logging/common/logging/log_config.py +0 -0
  356. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_logging/common/logging/log_manager.py +0 -0
  357. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/__init__.py +0 -0
  358. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multiprocessing/context/process_context.py +0 -0
  359. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multiprocessing/function_process.py +0 -0
  360. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multiprocessing/periodic_function_process.py +0 -0
  361. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multiprocessing/process.py +0 -0
  362. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multiprocessing/processesmanager.py +0 -0
  363. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multitasking/multitask_manager.py +0 -0
  364. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/__init__.py +0 -0
  365. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/context/thread_context.py +0 -0
  366. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/functionthreaded.py +0 -0
  367. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/loopfunctionthreaded.py +0 -0
  368. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/loopthread.py +0 -0
  369. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/periodicfunctionthreaded.py +0 -0
  370. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/reflection/inspect.py +0 -0
  371. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/reflection/sys.py +0 -0
  372. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/reflection/traceback.py +0 -0
  373. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/thread.py +0 -0
  374. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/threadsmanager.py +0 -0
  375. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/multithreading/timer.py +0 -0
  376. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/tests/behave/steps/__init__.py +0 -0
  377. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/tests/behave/steps/multiprocessing_steps.py +0 -0
  378. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_multitask/tests/behave/steps/multithreading_steps.py +0 -0
  379. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/__init__.py +0 -0
  380. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/ipc/protobuf/__init__.py +0 -0
  381. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/ipc/protobuf/abstracts/type.py +0 -0
  382. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/ipc/protobuf/protobuf_compiler.py +0 -0
  383. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/ipc/protobuf/protobuf_converter.py +0 -0
  384. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/ipc/protobuf/protobuf_messages.py +0 -0
  385. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/ipc/protobuf/protobuf_modifier.py +0 -0
  386. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/ipc/protobuf/types/__init__.py +0 -0
  387. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/ipc/protobuf/types/google/__init__.py +0 -0
  388. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/ipc/protobuf/types/google/protobuf.py +0 -0
  389. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/tests/behave/steps/__init__.py +0 -0
  390. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_protobuf/tests/behave/steps/ipc/protobuf_steps.py +0 -0
  391. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/__init__.py +0 -0
  392. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/common/enums.py +0 -0
  393. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/common/iterables.py +0 -0
  394. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/common/tools/comparators/boolean_comparator.py +0 -0
  395. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/common/tools/comparators/bytes_comparator.py +0 -0
  396. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/common/tools/comparators/datetime_comparator.py +0 -0
  397. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/common/tools/comparators/float_comparator.py +0 -0
  398. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/common/tools/comparators/integer_comparator.py +0 -0
  399. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/common/tools/comparators/string_comparator.py +0 -0
  400. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/common/tools/comparators/type_comparator.py +0 -0
  401. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/csv.py +0 -0
  402. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/hashlib.py +0 -0
  403. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/multiprocessing.py +0 -0
  404. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/queue.py +0 -0
  405. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/socket/blocking_socket.py +0 -0
  406. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/socket/echo_server.py +0 -0
  407. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/socket/message_socket.py +0 -0
  408. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/socket/non_blocking_socket.py +0 -0
  409. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/socket/socket.py +0 -0
  410. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/ssl/resources/certificates/NOTES.txt +0 -0
  411. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/ssl/resources/certificates/localhost.crt +0 -0
  412. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/ssl/resources/certificates/localhost.key +0 -0
  413. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/ssl/resources/certificates/rootCACert.pem +0 -0
  414. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/ssl/ssl.py +0 -0
  415. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/standard_library/typing.py +0 -0
  416. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/__init__.py +0 -0
  417. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/builtins/str_steps.py +0 -0
  418. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/convert_steps.py +0 -0
  419. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/iterable_steps.py +0 -0
  420. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/standard_library/csv_steps.py +0 -0
  421. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/standard_library/datetime_steps.py +0 -0
  422. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/standard_library/hashlib_steps.py +0 -0
  423. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/standard_library/multiprocessing_steps.py +0 -0
  424. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/standard_library/queue_steps.py +0 -0
  425. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/standard_library/socket_steps.py +0 -0
  426. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_python/tests/behave/steps/standard_library/ssl_steps.py +0 -0
  427. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rabbitmq/__init__.py +0 -0
  428. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rabbitmq/tests/behave/steps/__init__.py +0 -0
  429. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rabbitmq/tests/behave/steps/tools/rabbitmq_client_steps.py +0 -0
  430. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rabbitmq/tests/behave/steps/tools/rabbitmq_server_steps.py +0 -0
  431. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py +0 -0
  432. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py +0 -0
  433. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py +0 -0
  434. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_select_client.py +0 -0
  435. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_server.py +0 -0
  436. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_redis/__init__.py +0 -0
  437. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_redis/tests/behave/steps/__init__.py +0 -0
  438. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_redis/tests/behave/steps/tools/redis_client_steps.py +0 -0
  439. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_redis/tools/redis/TODO.txt +0 -0
  440. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_redis/tools/redis/redis_client.py +0 -0
  441. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_redis/tools/redis/redis_manager.py +0 -0
  442. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/__init__.py +0 -0
  443. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/analyze/execution_historic_manager.py +0 -0
  444. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/analyze/scenario_duration_manager.py +0 -0
  445. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/builders/detailed_scenario_report_builder.py +0 -0
  446. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/builders/execution_historic_report_builder.py +0 -0
  447. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/builders/failure_report_builder.py +0 -0
  448. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/builders/report_builder.py +0 -0
  449. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/builders/short_scenario_report_builder.py +0 -0
  450. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/builders/summary_by_category_report_builder.py +0 -0
  451. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/builders/summary_report_builder.py +0 -0
  452. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/builders/summary_scenario_by_category_report_builder.py +0 -0
  453. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/builders/summary_scenario_report_builder.py +0 -0
  454. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/execution_historic.py +0 -0
  455. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/report_manager.py +0 -0
  456. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/reports/base_report.py +0 -0
  457. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/reports/feature_report.py +0 -0
  458. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_report/report/reports/scenario_report.py +0 -0
  459. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rest/__init__.py +0 -0
  460. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rest/api/rest/TODO.txt +0 -0
  461. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rest/api/rest/rest_client.py +0 -0
  462. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rest/api/rest/rest_manager.py +0 -0
  463. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rest/tests/behave/steps/__init__.py +0 -0
  464. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rest/tests/behave/steps/api/__init__.py +0 -0
  465. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rest/tests/behave/steps/api/rest_client_steps.py +0 -0
  466. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rest/tests/behave/steps/private/__init__.py +0 -0
  467. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rest/tests/behave/steps/private/api/__init__.py +0 -0
  468. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_rest/tests/behave/steps/private/api/rest_steps.py +0 -0
  469. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_s3/__init__.py +0 -0
  470. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_s3/tests/behave/steps/__init__.py +0 -0
  471. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_s3/tests/behave/steps/private/__init__.py +0 -0
  472. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_s3/tests/behave/steps/private/tools/s3_steps.py +0 -0
  473. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_s3/tests/behave/steps/tools/s3_client_steps.py +0 -0
  474. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_s3/tests/behave/steps/tools/s3_server_steps.py +0 -0
  475. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_s3/tools/s3/__init__.py +0 -0
  476. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_s3/tools/s3/boto3_s3_client.py +0 -0
  477. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_s3/tools/s3/minio_client.py +0 -0
  478. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_s3/tools/s3/moto_server.py +0 -0
  479. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/__init__.py +0 -0
  480. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/common/tools/dynamic_text_manager.py +0 -0
  481. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/common/tools/evaluate_parameters.py +0 -0
  482. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/common/tools/expression_evaluator.py +0 -0
  483. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/common/tools/variable_manager.py +0 -0
  484. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/tests/behave/steps/__init__.py +0 -0
  485. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/tests/behave/steps/common/tools/variable_convert_steps.py +0 -0
  486. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/tests/behave/steps/common/tools/variable_new_steps.py +0 -0
  487. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/tests/behave/steps/common/tools/variable_steps.py +0 -0
  488. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/tests/behave/steps/common/tools/variable_verify_steps.py +0 -0
  489. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/tests/behave/steps/scenario/function_steps.py +0 -0
  490. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/tests/behave/steps/scenario/if_steps.py +0 -0
  491. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/tests/behave/steps/scenario/loop_steps.py +0 -0
  492. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/base/base_function.py +0 -0
  493. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/base/base_verify_function.py +0 -0
  494. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/base/text_inspecter.py +0 -0
  495. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/exceptions/interpreter_exception.py +0 -0
  496. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_apply_function.py +0 -0
  497. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_cast.py +0 -0
  498. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_convert.py +0 -0
  499. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_dynamic_value.py +0 -0
  500. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_escape_all_bytes.py +0 -0
  501. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_exists_variable.py +0 -0
  502. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_hex_to_bytes.py +0 -0
  503. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_hex_to_int.py +0 -0
  504. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_to_base_64.py +0 -0
  505. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_to_bytes.py +0 -0
  506. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_to_hex.py +0 -0
  507. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/functions/function_to_string.py +0 -0
  508. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/interpreter/text_interpreter.py +0 -0
  509. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/verifier/exceptions/verifier_exception.py +0 -0
  510. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/verifier/functions/verify_function_extract_in.py +0 -0
  511. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/verifier/functions/verify_function_match_pattern.py +0 -0
  512. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_scripting/text/verifier/text_verifier.py +0 -0
  513. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_sftp/__init__.py +0 -0
  514. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_sftp/tests/behave/steps/__init__.py +0 -0
  515. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_sftp/tests/behave/steps/private/__init__.py +0 -0
  516. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_sftp/tests/behave/steps/private/tools/sftp_steps.py +0 -0
  517. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_sftp/tests/behave/steps/tools/sftp_client_steps.py +0 -0
  518. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_sftp/tests/behave/steps/tools/sftp_server_steps.py +0 -0
  519. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_sftp/tools/sftp/__init__.py +0 -0
  520. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_sftp/tools/sftp/sftp_client.py +0 -0
  521. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_sftp/tools/sftp/sftp_server.py +0 -0
  522. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_swagger/__init__.py +0 -0
  523. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_swagger/swagger_hub/mockserver/mockserver_client.py +0 -0
  524. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_swagger/swagger_hub/mockserver/mockserver_manager.py +0 -0
  525. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_swagger/tests/behave/steps/__init__.py +0 -0
  526. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_swagger/tests/behave/steps/swagger_hub/mockserver_steps.py +0 -0
  527. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_system/system/command/command.py +0 -0
  528. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_system/system/command/command_result.py +0 -0
  529. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_system/system/command/curl_command.py +0 -0
  530. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_system/system/command/exceptions.py +0 -0
  531. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_system/system/filesystem/file.py +0 -0
  532. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_system/system/global_system.py +0 -0
  533. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_system/tests/behave/steps/__init__.py +0 -0
  534. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_system/tests/behave/steps/system/commands_steps.py +0 -0
  535. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_system/tests/behave/steps/system/file_steps.py +0 -0
  536. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_system/tests/behave/steps/system/system_steps.py +0 -0
  537. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/__init__.py +0 -0
  538. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/behave/__init__.py +0 -0
  539. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/behave/behave.py +0 -0
  540. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/behave/behave_environment.py +0 -0
  541. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/behave/behave_function.py +0 -0
  542. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/behave/behave_manager.py +0 -0
  543. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/behave/independant_runner.py +0 -0
  544. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/behave/scenario/__init__.py +0 -0
  545. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/behave/scenario/behave_step_tools.py +0 -0
  546. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/common/context/feature_context.py +0 -0
  547. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/common/context/scenario_context.py +0 -0
  548. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/common/context/step_context.py +0 -0
  549. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/common/exceptions/undefined_step_exception.py +0 -0
  550. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/scenario/step_tools.py +0 -0
  551. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/scenario/tester_tools.py +0 -0
  552. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/test_config.py +0 -0
  553. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tests/behave/steps/__init__.py +0 -0
  554. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tests/behave/steps/scenario/exception_steps.py +0 -0
  555. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tests/behave/steps/scenario/scenario_steps.py +0 -0
  556. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tests/behave/steps/scenario/tester_steps.py +0 -0
  557. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/Dockerfile +0 -0
  558. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/core/server_context.py +0 -0
  559. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/core/server_manager.py +0 -0
  560. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/rest/README +0 -0
  561. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/rest/api/__init__.py +0 -0
  562. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/rest/initialize_holado.py +0 -0
  563. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/rest/logging.conf +0 -0
  564. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/rest/openapi.yaml +0 -0
  565. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/rest/run.py +0 -0
  566. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_test/tools/test_server/server/run.sh +0 -0
  567. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/__init__.py +0 -0
  568. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/scripts/execute_persisted_post_processes/execute_persisted_post_processes.py +0 -0
  569. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/scripts/execute_persisted_post_processes/execute_persisted_post_processes.sh +0 -0
  570. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/scripts/execute_persisted_post_processes/initialize_holado.py +0 -0
  571. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tests/behave/steps/__init__.py +0 -0
  572. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tests/behave/steps/tools/host_controller/client_steps.py +0 -0
  573. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_controller/server/Dockerfile +0 -0
  574. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_controller/server/rest/README +0 -0
  575. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_controller/server/rest/api/__init__.py +0 -0
  576. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_controller/server/rest/initialize_holado.py +0 -0
  577. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_controller/server/rest/run.py +0 -0
  578. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_viewer/server/Dockerfile +0 -0
  579. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_viewer/server/rest/README +0 -0
  580. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_viewer/server/rest/api/__init__.py +0 -0
  581. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_viewer/server/rest/initialize_holado.py +0 -0
  582. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_tools/tools/host_viewer/server/rest/run.py +0 -0
  583. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/__init__.py +0 -0
  584. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/tests/behave/steps/__init__.py +0 -0
  585. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/tests/behave/steps/private/__init__.py +0 -0
  586. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/actors/actions.py +0 -0
  587. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/actors/ui_actor.py +0 -0
  588. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/drivers/ui_driver.py +0 -0
  589. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/drivers/ui_driver_info.py +0 -0
  590. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/drivers/ui_internal_api.py +0 -0
  591. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/exceptions/focus_driver_exception.py +0 -0
  592. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/finders/ui_finder.py +0 -0
  593. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/actors/gui_actor.py +0 -0
  594. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/criterias/enums.py +0 -0
  595. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/criterias/gui_criteria.py +0 -0
  596. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/drivers/gui_driver.py +0 -0
  597. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/drivers/gui_internal_api.py +0 -0
  598. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/finders/gui_finder.py +0 -0
  599. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/handlers/label_gui_context.py +0 -0
  600. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/handlers/zone_gui_context.py +0 -0
  601. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/inspectors/gui_inspector.py +0 -0
  602. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/windows/gui_window.py +0 -0
  603. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/gui/windows/gui_window_info.py +0 -0
  604. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/handlers/ui_context.py +0 -0
  605. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/handlers/ui_manager.py +0 -0
  606. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/inspectors/tools/ui_inspect_builder.py +0 -0
  607. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/inspectors/tools/ui_inspect_context.py +0 -0
  608. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui/ui/inspectors/ui_inspector.py +0 -0
  609. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_mss/ui/mss/mss_manager.py +0 -0
  610. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/actors/actions.py +0 -0
  611. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/actors/default_selenium_actor.py +0 -0
  612. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/actors/selenium_actor.py +0 -0
  613. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/criterias/selenium_criteria.py +0 -0
  614. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/criterias/selenium_criteria_and_verifier.py +0 -0
  615. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/drivers/selenium_driver.py +0 -0
  616. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/drivers/selenium_internal_api.py +0 -0
  617. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/drivers/web_driver_manager.py +0 -0
  618. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/finders/by_selenium_finder.py +0 -0
  619. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/finders/children_selenium_finder.py +0 -0
  620. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/finders/parent_selenium_finder.py +0 -0
  621. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/finders/selenium_finder.py +0 -0
  622. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/handlers/enums.py +0 -0
  623. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_by.py +0 -0
  624. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_holder.py +0 -0
  625. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_redo.py +0 -0
  626. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_ui_manager.py +0 -0
  627. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/inspectors/default_selenium_inspector.py +0 -0
  628. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/inspectors/selenium_inspector.py +0 -0
  629. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_cell_comparator.py +0 -0
  630. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_comparator.py +0 -0
  631. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_row_comparator.py +0 -0
  632. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_with_header_comparator.py +0 -0
  633. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/tables/converters/selenium_table_converter.py +0 -0
  634. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table.py +0 -0
  635. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_cell.py +0 -0
  636. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_row.py +0 -0
  637. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_with_header.py +0 -0
  638. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/tools/selenium_path_manager.py +0 -0
  639. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/windows/default_selenium_window.py +0 -0
  640. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium/ui/gui/selenium/windows/selenium_window.py +0 -0
  641. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium_angular/__init__.py +0 -0
  642. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium_angular/ui/gui/selenium/actors/angular_selenium_actor.py +0 -0
  643. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium_angular/ui/gui/selenium/inspectors/angular_selenium_inspector.py +0 -0
  644. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium_html/__init__.py +0 -0
  645. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium_html/ui/gui/selenium/actors/html_selenium_actor.py +0 -0
  646. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ui_selenium_html/ui/gui/selenium/inspectors/html_selenium_inspector.py +0 -0
  647. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/__init__.py +0 -0
  648. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tables/comparators/table_2_value_table_cell_comparator.py +0 -0
  649. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tables/comparators/table_2_value_table_comparator.py +0 -0
  650. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tables/comparators/table_2_value_table_row_comparator.py +0 -0
  651. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tables/comparators/table_2_value_table_with_header_comparator.py +0 -0
  652. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tables/converters/value_table_converter.py +0 -0
  653. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tables/value_table.py +0 -0
  654. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tables/value_table_cell.py +0 -0
  655. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tables/value_table_manager.py +0 -0
  656. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tables/value_table_row.py +0 -0
  657. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tables/value_table_with_header.py +0 -0
  658. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tools/unique_value_manager.py +0 -0
  659. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tools/value.py +0 -0
  660. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/common/tools/value_types.py +0 -0
  661. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/tests/behave/steps/__init__.py +0 -0
  662. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_value/tests/behave/steps/private/__init__.py +0 -0
  663. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ws/__init__.py +0 -0
  664. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ws/api/ws/TODO.txt +0 -0
  665. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ws/tests/behave/steps/__init__.py +0 -0
  666. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_ws/tests/behave/steps/api/web_service_steps.py +0 -0
  667. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_xml/__init__.py +0 -0
  668. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_xml/tests/behave/steps/__init__.py +0 -0
  669. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_xml/tests/behave/steps/private/__init__.py +0 -0
  670. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_xml/xml/stream_xml_file.py +0 -0
  671. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_xml/xml/xml_file.py +0 -0
  672. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_xml/xml/xml_manager.py +0 -0
  673. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_yaml/__init__.py +0 -0
  674. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_yaml/tests/behave/steps/__init__.py +0 -0
  675. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_yaml/tests/behave/steps/yaml_steps.py +0 -0
  676. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_yaml/yaml/enums.py +0 -0
  677. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_yaml/yaml/pyyaml/pyyaml_client.py +0 -0
  678. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_yaml/yaml/ruamel/ruamel_yaml_client.py +0 -0
  679. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_yaml/yaml/yaml_client.py +0 -0
  680. {holado-0.13.4 → holado-0.13.13.dev6}/src/holado_yaml/yaml/yaml_manager.py +0 -0
  681. {holado-0.13.4 → holado-0.13.13.dev6}/steps_catalog.sh +0 -0
  682. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/Dockerfile_test_holado +0 -0
  683. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/__init__.py +0 -0
  684. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/__main__.py +0 -0
  685. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/build_docker_image_to_test_holado_in_docker.sh +0 -0
  686. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/environment.py +0 -0
  687. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/Configuration/Actions/execute_persisted_post_processes.feature +0 -0
  688. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/api/REST.feature +0 -0
  689. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/api/gRPC.feature +0 -0
  690. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/common/multiprocessing/simple.feature +0 -0
  691. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/common/system/commands.feature +0 -0
  692. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/common/system/system.feature +0 -0
  693. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/common/tables/table.feature +0 -0
  694. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/common/tables/value_table_conversion.feature +0 -0
  695. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/common/tools/DateTime.feature +0 -0
  696. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/common/tools/UniqueValueManager.feature +0 -0
  697. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/ais_message-bitarray_to_nmea.feature +0 -0
  698. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/ais_message-nmea_raw_to_dict.feature +0 -0
  699. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-10.feature +0 -0
  700. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-12.feature +0 -0
  701. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-14.feature +0 -0
  702. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-15.feature +0 -0
  703. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-16.feature +0 -0
  704. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-17.feature +0 -0
  705. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-18.feature +0 -0
  706. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-19.feature +0 -0
  707. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-1_2_3.feature +0 -0
  708. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-20.feature +0 -0
  709. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-21.feature +0 -0
  710. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-22.feature +0 -0
  711. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-23.feature +0 -0
  712. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-24.feature +0 -0
  713. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-25.feature +0 -0
  714. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-26.feature +0 -0
  715. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-27.feature +0 -0
  716. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-4_11.feature +0 -0
  717. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-5.feature +0 -0
  718. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-6.feature +0 -0
  719. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-7_13.feature +0 -0
  720. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-8.feature +0 -0
  721. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-9.feature +0 -0
  722. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_binary/bit_series.error.feature +0 -0
  723. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_binary/bit_series.feature +0 -0
  724. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_protobuf/protobuf.feature +0 -0
  725. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_python/convert.feature +0 -0
  726. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_python/iterable.feature +0 -0
  727. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_reset.feature +0 -0
  728. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_with_tls_and_verify.feature +0 -0
  729. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_with_tls_without_verify.feature +0 -0
  730. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_without_tls.feature +0 -0
  731. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_mtls.feature +0 -0
  732. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_tls.feature +0 -0
  733. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_without_tls.feature +0 -0
  734. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/dynamic_text_manager.feature +0 -0
  735. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/expression_evaluator.feature +0 -0
  736. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/variable_manager.feature +0 -0
  737. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.error.feature +0 -0
  738. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.feature +0 -0
  739. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/holado_yaml/yaml.feature +0 -0
  740. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/ipc/json.feature +0 -0
  741. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/scenario/scenario.feature +0 -0
  742. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/test_steps/behave.feature +0 -0
  743. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/test_steps/common.feature +0 -0
  744. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/tools/RabbitMQ.feature +0 -0
  745. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/tools/RabbitMQ_steps.feature +0 -0
  746. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/tools/S3/boto3_client.feature +0 -0
  747. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/tools/S3/minio_client.feature +0 -0
  748. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/tools/db_sqlite3.feature +0 -0
  749. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/NonReg/tools/sFTP.feature +0 -0
  750. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/Test/logger.feature +0 -0
  751. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/Test/test_host_controller.feature +0 -0
  752. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/Test/test_parameter.feature +0 -0
  753. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/features/__init__.py +0 -0
  754. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/initialize_holado.py +0 -0
  755. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/logging.conf +0 -0
  756. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/resources/proto/definitions/protobuf/custom_types/field_types.proto +0 -0
  757. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/resources/proto/definitions/protobuf/protobuf.dev/tutorial/addressbook.proto +0 -0
  758. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/resources/proto/generated/protobuf/custom_types/field_types_pb2.py +0 -0
  759. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/resources/proto/generated/protobuf/protobuf/dev/tutorial/addressbook_pb2.py +0 -0
  760. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/resources/scripts/list_tags.sh +0 -0
  761. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/resources/scripts/update_resources_proto_generated.py +0 -0
  762. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/steps/__init__.py +0 -0
  763. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/steps/private_steps.py +0 -0
  764. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/steps/public_steps.py +0 -0
  765. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/test_holado_session_context.py +0 -0
  766. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/connexion/api_rest/openapi.yaml +0 -0
  767. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/connexion/api_rest/run.py +0 -0
  768. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/README.txt +0 -0
  769. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/__init__.py +0 -0
  770. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/__init__.py +0 -0
  771. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/admin.py +0 -0
  772. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/apps.py +0 -0
  773. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/migrations/__init__.py +0 -0
  774. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/models.py +0 -0
  775. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/__init__.py +0 -0
  776. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account.proto +0 -0
  777. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2.py +0 -0
  778. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2_grpc.py +0 -0
  779. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/serializers.py +0 -0
  780. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/services.py +0 -0
  781. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/tests.py +0 -0
  782. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/views.py +0 -0
  783. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/asgi.py +0 -0
  784. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/settings.py +0 -0
  785. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/urls.py +0 -0
  786. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/wsgi.py +0 -0
  787. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/db.sqlite3 +0 -0
  788. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/manage.py +0 -0
  789. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/manual_test_commands.txt +0 -0
  790. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_grpc/patch_djangogrpcframework.py +0 -0
  791. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/__init__.py +0 -0
  792. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/__init__.py +0 -0
  793. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/admin.py +0 -0
  794. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/apps.py +0 -0
  795. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py +0 -0
  796. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/models.py +0 -0
  797. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/serializers.py +0 -0
  798. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/tests.py +0 -0
  799. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/views.py +0 -0
  800. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/asgi.py +0 -0
  801. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/settings.py +0 -0
  802. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/urls.py +0 -0
  803. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/api_rest/wsgi.py +0 -0
  804. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/db.sqlite3 +0 -0
  805. {holado-0.13.4 → holado-0.13.13.dev6}/tests/behave/test_holado/tools/django/api_rest/manage.py +0 -0
  806. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/dgot/classement/classement.py +0 -0
  807. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/dgot/classement/classement.sh +0 -0
  808. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/dgot/classement/commands.txt +0 -0
  809. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/independant_runner/environment.py +0 -0
  810. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/independant_runner/features/fake.feature +0 -0
  811. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/independant_runner/initialize_holado.py +0 -0
  812. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/independant_runner/logging.conf +0 -0
  813. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/independant_runner/steps/public_steps.py +0 -0
  814. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/independant_runner/test.py +0 -0
  815. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/independant_runner/test.sh +0 -0
  816. {holado-0.13.4 → holado-0.13.13.dev6}/tests/scripts/script_tools.py +0 -0
  817. {holado-0.13.4 → holado-0.13.13.dev6}/upgrade_requirements_to_latest.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: holado
3
- Version: 0.13.4
3
+ Version: 0.13.13.dev6
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
@@ -40,6 +40,7 @@ Requires-Dist: minio; extra == 'all'
40
40
  Requires-Dist: moto; extra == 'all'
41
41
  Requires-Dist: paramiko<4.0.0; extra == 'all'
42
42
  Requires-Dist: pika; extra == 'all'
43
+ Requires-Dist: prettytable; extra == 'all'
43
44
  Requires-Dist: protobuf; extra == 'all'
44
45
  Requires-Dist: psycopg; extra == 'all'
45
46
  Requires-Dist: psycopg-binary; extra == 'all'
@@ -60,9 +61,7 @@ Requires-Dist: psycopg; extra == 'db-postgresql'
60
61
  Requires-Dist: psycopg-binary; extra == 'db-postgresql'
61
62
  Provides-Extra: docker
62
63
  Requires-Dist: docker; extra == 'docker'
63
- Provides-Extra: docker-tools
64
- Requires-Dist: connexion[flask,swagger-ui,uvicorn]; extra == 'docker-tools'
65
- Requires-Dist: docker; extra == 'docker-tools'
64
+ Requires-Dist: prettytable; extra == 'docker'
66
65
  Provides-Extra: grpc
67
66
  Requires-Dist: google; extra == 'grpc'
68
67
  Requires-Dist: google-api-core; extra == 'grpc'
@@ -0,0 +1 @@
1
+ 0.13.13.dev6
@@ -37,14 +37,13 @@ dependencies = [
37
37
  ]
38
38
 
39
39
  [project.optional-dependencies]
40
- all = ["holado[ais]", "holado[api-connexion]", "holado[db-postgresql]", "holado[docker]", "holado[docker-tools]",
40
+ all = ["holado[ais]", "holado[api-connexion]", "holado[db-postgresql]", "holado[docker]",
41
41
  "holado[helper_debug]", "holado[protobuf]", "holado[grpc]", "holado[rabbitmq]", "holado[redis]",
42
42
  "holado[s3]", "holado[sftp]", "holado[ssl]", "holado[ws-zeep]", "holado[yaml]" ]
43
43
  ais = ["pyais"]
44
44
  api-connexion = ["connexion[flask,swagger-ui,uvicorn]"]
45
45
  db-postgresql = ["psycopg", "psycopg_binary"]
46
- docker = ["docker"]
47
- docker-tools = ["holado[docker]", "holado[api-connexion]"]
46
+ docker = ["docker", "prettytable"]
48
47
  helper_debug = ["pympler"]
49
48
  grpc = ["holado[protobuf]", "grpc_requests", "grpcio", "grpcio-reflection", "grpcio-tools"]
50
49
  protobuf = ["google", "google-api-core", "protobuf"]
@@ -0,0 +1,378 @@
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.common.handlers.object import DeleteableObject
17
+ from holado_multitask.multithreading.functionthreaded import FunctionThreaded
18
+ from holado_python.common.tools.datetime import DateTime
19
+ import json
20
+ from holado_json.filesystem.stream_json_file import StreamJSONFile
21
+ import re
22
+ from holado.common.context.session_context import SessionContext
23
+ import os
24
+ from datetime import datetime
25
+ import copy
26
+ from holado_system.system.filesystem.file import File
27
+ from holado.common.handlers.undefined import is_undefined, default_value
28
+
29
+ logger = logging.getLogger(__name__)
30
+
31
+
32
+ def _get_timestamps_field_name(input_field_name):
33
+ if input_field_name is None:
34
+ return None
35
+ elif is_undefined(input_field_name):
36
+ return 'time'
37
+ else:
38
+ return input_field_name
39
+
40
+ def _get_include_others_name(input_include_others_name):
41
+ if input_include_others_name is None:
42
+ return None
43
+ elif is_undefined(input_include_others_name):
44
+ return '[others]'
45
+ else:
46
+ return input_include_others_name
47
+
48
+
49
+ class DockerContainerLogsFollower(DeleteableObject):
50
+ """Generic follower of logs of a container
51
+ """
52
+ def __init__(self, docker_container):
53
+ super.__init__(self, docker_container.container.name)
54
+ self.__docker_container = docker_container
55
+ self.__logs = []
56
+ self.__logs_stream = None
57
+
58
+ def _delete_object(self):
59
+ self.close()
60
+
61
+ def close(self):
62
+ if self.__logs_stream is not None:
63
+ self.__logs_stream.close()
64
+ self.__thread.join()
65
+
66
+ self.__logs_stream = None
67
+ self.__thread = None
68
+
69
+ def follow_logs(self, stdout=True, stderr=True, tail='all', since=None):
70
+ """Follow logs from Docker Engine
71
+ """
72
+ if isinstance(since, str):
73
+ since = DateTime.str_2_datetime(since)
74
+
75
+ if self.__logs_stream is not None:
76
+ raise TechnicalException(f"Logs of container '{self.name}' are already followed")
77
+ self.__logs_stream = self.__docker_container.container.logs(stdout=stdout, stderr=stderr, tail=tail, since=since, stream=True, timestamps=True)
78
+
79
+ self.__thread = FunctionThreaded(self.__read_stream, name=f"follow logs of container '{self.__docker_container.container.name}'", register_thread=False)
80
+ self.__thread.interrupt_function = self.__logs_stream.close
81
+ self.__thread.start()
82
+
83
+ def __read_stream(self):
84
+ for log in self.__logs_stream:
85
+ self.__logs.append( (log['time'], log['steam'] == 'stdout', self.__docker_container._get_log_from_log_bytes(log['log'])) )
86
+
87
+ def reset(self):
88
+ self.__logs.clear()
89
+
90
+ def get_logs(self, stdout=True, stderr=True, timestamps=False, tail='all', since=None, until=None):
91
+ if since is not None and isinstance(since, datetime):
92
+ since = DateTime.datetime_2_str(since)
93
+ if until is not None and isinstance(until, datetime):
94
+ until = DateTime.datetime_2_str(until)
95
+
96
+ res = []
97
+ for log in self.__logs:
98
+ if log[1] and not stdout or not log[1] and not stderr:
99
+ continue
100
+ if since is not None and log[0] < since:
101
+ continue
102
+ if until is not None and log[0] >= until:
103
+ continue
104
+
105
+ if timestamps:
106
+ res.append( (log[0], log[2]) )
107
+ else:
108
+ res.append(log[2])
109
+
110
+ if tail != 'all':
111
+ if not isinstance(tail, int) or tail < 0:
112
+ raise TechnicalException(f"Argument 'tail' can be 'all' or a positive integer")
113
+ res = res[-tail:]
114
+
115
+ return res
116
+
117
+
118
+
119
+
120
+ class DockerContainerLogsFormatter(object):
121
+ """Base class for formatters of container logs.
122
+ """
123
+ def __init__(self, include_patterns=None, exclude_patterns=None, include_others_name=default_value):
124
+ """ Constructor
125
+ @param include_patterns: patterns of log fields to include
126
+ @param exclude_patterns: patterns of log fields to exclude
127
+ @param include_others_name: if defined, all fields not included and not excluded are grouped in this field name (used only if include_patterns is defined)
128
+ """
129
+ self.__include_patterns = {p if isinstance(p, re.Pattern) else re.compile(p):pinfo for p, pinfo in include_patterns.items()} if include_patterns is not None else None
130
+ self.__exclude_patterns = [ep if isinstance(ep, re.Pattern) else re.compile(ep) for ep in exclude_patterns] if exclude_patterns is not None else None
131
+ self.__include_others_name = include_others_name
132
+
133
+ def _filter_json_log_fields(self, log_dict):
134
+ if self.__include_patterns is None and self.__exclude_patterns is None:
135
+ # No filters are defined
136
+ return log_dict
137
+
138
+ res = {}
139
+ log = copy.copy(log_dict)
140
+
141
+ # Manage included fields and remove them from source copy
142
+ if self.__include_patterns is not None:
143
+ for pat, pat_info in self.__include_patterns.items():
144
+ for key in list(log.keys()):
145
+ if pat.match(key):
146
+ name = pat_info['replace'] if 'replace' in pat_info else key
147
+ res[name] = log.pop(key)
148
+
149
+ # Manage excluded fields and remove them from source copy
150
+ if self.__exclude_patterns is not None:
151
+ for pat in self.__exclude_patterns:
152
+ for key in list(log.keys()):
153
+ if pat.match(key):
154
+ del log[key]
155
+
156
+ # Manage remaining fields of source copy
157
+ if log:
158
+ if self.__include_patterns is not None:
159
+ if self.__include_others_name is not None:
160
+ # Include remaining fields in surrounding field self.__include_others_name
161
+ res[self.__include_others_name] = log
162
+ else:
163
+ # Remaining fields are the result
164
+ res = log
165
+
166
+ return res
167
+
168
+ def format_logs(self, logs, with_timestamps=False):
169
+ raise NotImplementedError()
170
+
171
+ class JsonDockerContainerLogsFormatter(DockerContainerLogsFormatter):
172
+ """Formatter of container logs in JSON format.
173
+ """
174
+ def __init__(self, timestamps_field_name=default_value, include_patterns=None, exclude_patterns=None, include_others_name=None):
175
+ """ Constructor
176
+ @param timestamps_field_name: field name of timestamps if they are added to logs
177
+ @param include_patterns: patterns of log fields to include
178
+ @param exclude_patterns: patterns of log fields to exclude
179
+ @param include_others_name: if defined, all fields not included and not excluded are grouped in this field name (used only if include_patterns is defined)
180
+ """
181
+ super().__init__(include_patterns, exclude_patterns, include_others_name)
182
+ self.__timestamps_field_name = _get_timestamps_field_name(timestamps_field_name)
183
+
184
+ def format_logs(self, logs, with_timestamps=False):
185
+ if with_timestamps and self.__timestamps_field_name is None:
186
+ raise TechnicalException("Timestamps field name must defined to include docker timestamps")
187
+
188
+ res = []
189
+
190
+ for log in logs:
191
+ ts = None
192
+ if with_timestamps:
193
+ ts, log = log[0], log[1]
194
+
195
+ res_log = {}
196
+
197
+ # Begin by timestamp so that it is the first dict element
198
+ if ts is not None:
199
+ res_log[self.__timestamps_field_name] = ts
200
+
201
+ # Add log as JSON format
202
+ try:
203
+ log_dict = json.loads(log)
204
+ except:
205
+ # In some circumstances (ex: container is in panic), logs can be in another format even if configured in json format
206
+ log_dict = {'log':log}
207
+ res_log.update(self._filter_json_log_fields(log_dict))
208
+
209
+ res.append(res_log)
210
+
211
+ return res
212
+
213
+
214
+
215
+
216
+ class DockerContainerLogsSaver(object):
217
+ """Base class for savers of docker container logs.
218
+ """
219
+ def __init__(self, formatter):
220
+ """ Constructor
221
+ @param formatter: logs formatter
222
+ """
223
+ self.__formatter = formatter
224
+
225
+ def get_logs(self, docker_container, stdout=True, stderr=True, timestamps=True, tail='all', since=None, until=None):
226
+ return docker_container.get_logs(stdout=stdout, stderr=stderr, timestamps=timestamps, tail=tail, since=since, until=until, formatter=self.__formatter)
227
+
228
+ def save_logs(self, docker_container, file_path, stdout=True, stderr=True, timestamps=True, tail='all', since=None, until=None):
229
+ """ Save logs of a container.
230
+ @return: number of logs saved
231
+ """
232
+ raise NotImplementedError()
233
+
234
+ class JsonDockerContainerLogsSaver(DockerContainerLogsSaver):
235
+ """Saver of docker container logs in a stream JSON file.
236
+ """
237
+ def __init__(self, timestamps_field_name=default_value, include_patterns=None, exclude_patterns=None, include_others_name=default_value, formatter=None, **dumps_kwargs):
238
+ """ Constructor
239
+ @param timestamps_field_name: field name of timestamps if they are added to logs
240
+ @param include_patterns: patterns of log fields to include
241
+ @param exclude_patterns: patterns of log fields to exclude
242
+ @param include_others_name: if defined, all fields not included and not excluded are grouped in this field name (used only if include_patterns is defined)
243
+ @param formatter: formatter to use (if defined, previous fields are omitted)
244
+ @param dumps_kwargs: all additional kwargs are used as json.dumps additional parameters
245
+ """
246
+ if formatter is None:
247
+ formatter = JsonDockerContainerLogsFormatter(timestamps_field_name=timestamps_field_name, include_patterns=include_patterns, exclude_patterns=exclude_patterns, include_others_name=include_others_name)
248
+ super().__init__(formatter=formatter)
249
+ self.__dumps_kwargs = dumps_kwargs
250
+
251
+ def save_logs(self, docker_container, file_path, stdout=True, stderr=True, timestamps=True, tail='all', since=None, until=None):
252
+ res = None
253
+ SessionContext.instance().path_manager.makedirs(file_path)
254
+
255
+ logs = self.get_logs(docker_container, stdout=stdout, stderr=stderr, timestamps=timestamps, tail=tail, since=since, until=until)
256
+ if logs:
257
+ with StreamJSONFile(file_path, mode='wt') as fout:
258
+ fout.write_elements_json_object_list(logs, **self.__dumps_kwargs)
259
+ res = len(logs)
260
+ logger.info(f"Saved {res} logs for container '{docker_container.container.name}' in file '{file_path}'")
261
+
262
+ return res
263
+
264
+ class PrettyTableDockerContainerLogsSaver(DockerContainerLogsSaver):
265
+ """Saver of docker container logs in a pretty table file.
266
+ """
267
+ def __init__(self, timestamps_field_name=default_value, include_patterns=None, exclude_patterns=None, include_others_name=default_value, formatter=None, **dumps_kwargs):
268
+ """ Constructor
269
+ @param timestamps_field_name: field name of timestamps if they are added to logs
270
+ @param include_patterns: patterns of log fields to include
271
+ @param exclude_patterns: patterns of log fields to exclude
272
+ @param include_others_name: if defined, all fields not included and not excluded are grouped in this field name (used only if include_patterns is defined)
273
+ @param formatter: formatter to use (if defined, previous fields are omitted)
274
+ @param dumps_kwargs: all additional kwargs are used as json.dumps additional parameters
275
+ """
276
+ if formatter is None:
277
+ formatter = JsonDockerContainerLogsFormatter(timestamps_field_name=timestamps_field_name, include_patterns=include_patterns, exclude_patterns=exclude_patterns, include_others_name=include_others_name)
278
+ super().__init__(formatter=formatter)
279
+
280
+ self.__timestamps_field_name = _get_timestamps_field_name(timestamps_field_name)
281
+ self.__include_patterns = {p if isinstance(p, re.Pattern) else re.compile(p):pinfo for p, pinfo in include_patterns.items()} if include_patterns is not None else None
282
+ self.__dumps_kwargs = dumps_kwargs
283
+
284
+ def __define_field_names(self, logs):
285
+ res = []
286
+
287
+ # Get all field names from logs
288
+ names = list(set().union(*logs))
289
+
290
+ # Sort by included fields
291
+ if self.__timestamps_field_name and self.__timestamps_field_name in names:
292
+ res.append(self.__timestamps_field_name)
293
+ names.remove(self.__timestamps_field_name)
294
+ if self.__include_patterns:
295
+ for ip in self.__include_patterns:
296
+ i = 0
297
+ while i < len(names):
298
+ if ip.match(names[i]):
299
+ res.append(names.pop(i))
300
+ else:
301
+ i += 1
302
+
303
+ # Add remaining names in alphabetical order
304
+ if names:
305
+ res.extend(sorted(names))
306
+
307
+ return res
308
+
309
+ def __get_log_row(self, field_names, log):
310
+ res = []
311
+
312
+ for name in field_names:
313
+ if name in log:
314
+ res.append(log[name])
315
+ else:
316
+ res.append('')
317
+
318
+ return res
319
+
320
+ def save_logs(self, docker_container, file_path, stdout=True, stderr=True, timestamps=True, tail='all', since=None, until=None):
321
+ import prettytable
322
+ from prettytable.prettytable import PrettyTable, TableStyle
323
+
324
+ res = None
325
+ SessionContext.instance().path_manager.makedirs(file_path)
326
+
327
+ logs = self.get_logs(docker_container, stdout=stdout, stderr=stderr, timestamps=timestamps, tail=tail, since=since, until=until)
328
+
329
+ if logs:
330
+ # Build table
331
+ table = PrettyTable()
332
+ table.field_names = self.__define_field_names(logs)
333
+ for log in logs:
334
+ table.add_row(self.__get_log_row(table.field_names, log))
335
+
336
+ # Output table as string
337
+ table.set_style(TableStyle.ORGMODE)
338
+ table.align = 'l'
339
+ table.hrules = prettytable.NONE
340
+ table_str = table.get_string()
341
+
342
+ with File(file_path, mode='wt') as fout:
343
+ fout.write(table_str)
344
+ fout.write('\n')
345
+
346
+ res = len(logs)
347
+ logger.info(f"Saved {res} logs for container '{docker_container.container.name}' in file '{file_path}'")
348
+
349
+ return res
350
+
351
+
352
+
353
+ class DockerContainersLogsSaver():
354
+ """Saver of logs for a group of containers
355
+ """
356
+ def __init__(self, docker_client, container_logs_saver=PrettyTableDockerContainerLogsSaver(), include_patterns=None, exclude_patterns=None):
357
+ self.__docker_client = docker_client
358
+ self.__container_logs_saver = container_logs_saver
359
+ self.__include_patterns = [ip if isinstance(ip, re.Pattern) else re.compile(ip) for ip in include_patterns] if include_patterns is not None else None
360
+ self.__exclude_patterns = [ep if isinstance(ep, re.Pattern) else re.compile(ep) for ep in exclude_patterns] if exclude_patterns is not None else None
361
+
362
+ def save_containers_logs(self, destination_path, stdout=True, stderr=True, timestamps=True, tail='all', since=None, until=None):
363
+ """ Save containers logs
364
+ @return: number of containers for which logs have been saved
365
+ """
366
+ res = 0
367
+
368
+ names = self.__docker_client.get_container_names(in_list=True, all_=True, sparse=True, include_patterns=self.__include_patterns, exclude_patterns=self.__exclude_patterns)
369
+ for name in names:
370
+ container = self.__docker_client.get_container(name, all_=True, reset_if_removed=False)
371
+ file_path = os.path.join(destination_path, f"{name}.log")
372
+ nb_logs = self.__container_logs_saver.save_logs(container, file_path, stdout=stdout, stderr=stderr, timestamps=timestamps, tail=tail, since=since, until=until)
373
+
374
+ if nb_logs is not None:
375
+ res += 1
376
+
377
+ return res
378
+
@@ -12,7 +12,6 @@
12
12
  #################################################
13
13
 
14
14
  from holado_core.common.exceptions.functional_exception import FunctionalException
15
- import time
16
15
  import logging
17
16
  from holado_core.common.exceptions.technical_exception import TechnicalException
18
17
  from holado.common.handlers.object import DeleteableObject
@@ -20,6 +19,8 @@ from holado_core.common.tools.tools import Tools
20
19
  from holado_docker.sdk.docker.container_logs import DockerContainerLogsFollower
21
20
  import re
22
21
  from holado_python.common.tools.datetime import DateTime
22
+ from holado.common.handlers.undefined import default_value
23
+ from holado_core.common.handlers.wait import WaitFuncResult
23
24
 
24
25
  logger = logging.getLogger(__name__)
25
26
 
@@ -75,7 +76,7 @@ class DockerClient(object):
75
76
  if c:
76
77
  self.__containers[name] = DockerContainer(self, c)
77
78
 
78
- return self.__containers.get(name)
79
+ return self.__containers.get(name, None)
79
80
 
80
81
  def update_containers(self, all_=False, sparse=False, reset_if_removed=True):
81
82
  # Add new containers
@@ -173,9 +174,9 @@ class DockerClient(object):
173
174
  break
174
175
  return res
175
176
 
176
- def run_container(self, name, image, remove_existing=False, wait_running=True, auto_stop=True, **kwargs):
177
+ def run_container(self, name, image, remove_existing=False, wait_started=True, auto_stop=True, **kwargs):
177
178
  if Tools.do_log(logger, logging.DEBUG):
178
- logger.debug(f"Running docker container '{name}' with image '{image}' and arguments {kwargs}{', and waiting running status' if wait_running else ''}")
179
+ logger.debug(f"Running docker container '{name}' with image '{image}' and arguments {kwargs}{', and waiting it is started' if wait_started else ''}")
179
180
 
180
181
  # Manage remove if already existing
181
182
  cont = self.get_container(name)
@@ -198,79 +199,79 @@ class DockerClient(object):
198
199
  self.__containers[name] = container
199
200
 
200
201
  # Manage wait running status
201
- if wait_running:
202
- for _ in range(100):
203
- time.sleep(1)
204
- if container.status == "running":
205
- break
206
- if container.status != "running":
207
- raise TechnicalException("Failed to run container of name '{}' (status: {})".format(name, container.status))
202
+ if wait_started:
203
+ try:
204
+ container.await_started()
205
+ except:
206
+ raise TechnicalException(f"Failed to run container of name '{name}' (status: {container.status})")
208
207
  if Tools.do_log(logger, logging.DEBUG):
209
- logger.debug(f"Run docker container '{name}' with image '{image}' and arguments {kwargs}{', and wait running status' if wait_running else ''}")
208
+ logger.debug(f"Run docker container '{name}' with image '{image}' and arguments {kwargs}{', and waited it is started' if wait_started else ''}")
210
209
 
211
210
  # Set properties
212
211
  container.auto_stop = auto_stop
213
212
 
214
213
  return container
215
214
 
216
- def restart_container(self, name, wait_running=True, **kwargs):
215
+ def restart_container(self, name, wait_started=True, timeout=default_value, **kwargs):
217
216
  if Tools.do_log(logger, logging.DEBUG):
218
- logger.debug(f"Restarting docker container '{name}' with arguments {kwargs}{', and waiting running status' if wait_running else ''}")
217
+ logger.debug(f"Restarting docker container '{name}' with arguments {kwargs}{', and waiting it is started' if wait_started else ''}")
219
218
  container = self.get_container(name)
220
219
  if not container:
221
220
  raise FunctionalException("Container of name '{}' doesn't exist")
222
221
 
223
222
  container.restart(**kwargs)
224
223
 
225
- if wait_running:
226
- for _ in range(120):
227
- time.sleep(1)
228
- if container.status == "running":
229
- break
230
- if container.status != "running":
231
- raise TechnicalException("Failed to restart container of name '{}' (status: {})".format(name, container.status))
224
+ if wait_started:
225
+ try:
226
+ container.await_started(timeout=timeout)
227
+ except:
228
+ raise TechnicalException(f"Failed to restart container of name '{name}' (status: {container.status})")
232
229
  if Tools.do_log(logger, logging.DEBUG):
233
- logger.debug(f"Restarted docker container '{name}' with arguments {kwargs}{', and waited running status' if wait_running else ''}")
230
+ logger.debug(f"Restarted docker container '{name}' with arguments {kwargs}{', and waited it is started' if wait_started else ''}")
234
231
 
235
- def start_container(self, name, wait_running=True, **kwargs):
232
+ def start_container(self, name, wait_started=True, timeout=default_value, **kwargs):
236
233
  if Tools.do_log(logger, logging.DEBUG):
237
- logger.debug(f"Starting docker container '{name}' with arguments {kwargs}{', and waiting running status' if wait_running else ''}")
234
+ logger.debug(f"Starting docker container '{name}' with arguments {kwargs}{', and waiting it is started' if wait_started else ''}")
238
235
  container = self.get_container(name, all_=True)
239
236
  if not container:
240
237
  raise FunctionalException("Container of name '{}' doesn't exist")
241
238
 
242
239
  container.start(**kwargs)
243
240
 
244
- if wait_running:
245
- for _ in range(120):
246
- time.sleep(1)
247
- if container.status == "running":
248
- break
249
- if container.status != "running":
250
- raise TechnicalException("Failed to start container of name '{}' (status: {})".format(name, container.status))
241
+ if wait_started:
242
+ try:
243
+ container.await_started(timeout=timeout)
244
+ except:
245
+ raise TechnicalException(f"Failed to start container of name '{name}' (status: {container.status})")
251
246
  if Tools.do_log(logger, logging.DEBUG):
252
- logger.debug(f"Started docker container '{name}' with arguments {kwargs}{', and waited running status' if wait_running else ''}")
247
+ logger.debug(f"Started docker container '{name}' with arguments {kwargs}{', and waited it is started' if wait_started else ''}")
248
+
249
+ def stop_container(self, name, wait_stopped=True, timeout=default_value, stop_kwargs=None, wait_kwargs=None):
250
+ stop_kwargs = stop_kwargs if stop_kwargs is not None else {}
251
+ wait_kwargs = wait_kwargs if wait_kwargs is not None else {}
252
+ if timeout is not default_value:
253
+ wait_kwargs['timeout'] = timeout
253
254
 
254
- def stop_container(self, name):
255
255
  if Tools.do_log(logger, logging.DEBUG):
256
- logger.debug(f"Stopping docker container of name '{name}'")
256
+ logger.debug(f"Stopping docker container of name '{name}'{', and waiting it is stopped' if wait_stopped else ''}")
257
257
  if name not in self.__containers:
258
258
  raise FunctionalException("Unknown container of name '{}'".format(name))
259
259
  elif self.__containers[name].status != "running":
260
260
  raise FunctionalException("Container of name '{}' is not running (status: {})".format(name, self.__containers[name].status))
261
261
 
262
- self.__containers[name].stop()
263
- try:
264
- self.__containers[name].wait()
265
- except docker.errors.NotFound:
266
- # This exception occurs on containers automatically removed on stop
267
- pass
262
+ self.__containers[name].stop(**stop_kwargs)
263
+ if wait_stopped:
264
+ try:
265
+ self.__containers[name].wait(**wait_kwargs)
266
+ except docker.errors.NotFound:
267
+ # This exception occurs on containers automatically removed on stop
268
+ pass
268
269
 
269
- if self.__containers[name].status == "running":
270
+ if wait_stopped and self.__containers[name].status == "running":
270
271
  raise FunctionalException("Failed to stop container of name '{}' (status: {})".format(name, self.__containers[name].status))
271
272
  else:
272
273
  if Tools.do_log(logger, logging.DEBUG):
273
- logger.debug(f"Stopped docker container of name '{name}'")
274
+ logger.debug(f"Stopped docker container of name '{name}'{', and waited it is stopped' if wait_stopped else ''}")
274
275
 
275
276
  def remove_container(self, name):
276
277
  if Tools.do_log(logger, logging.DEBUG):
@@ -287,6 +288,15 @@ class DockerClient(object):
287
288
  else:
288
289
  if Tools.do_log(logger, logging.DEBUG):
289
290
  logger.debug(f"Removed docker container of name '{name}'")
291
+
292
+ def await_container_exists(self, name, timeout=default_value):
293
+ wait_status = WaitFuncResult(f"wait container '{name}' exists",
294
+ lambda: self.has_container(name, in_list=True, all_=True, reset_if_removed=False) )
295
+ wait_status.redo_until(True)
296
+ if timeout is not default_value:
297
+ wait_status.with_timeout(timeout)
298
+ return wait_status.execute()
299
+
290
300
 
291
301
  class DockerContainer(DeleteableObject):
292
302
  def __init__(self, docker_client, container):
@@ -319,12 +329,24 @@ class DockerContainer(DeleteableObject):
319
329
 
320
330
  @property
321
331
  def status(self):
332
+ """ Container status (created, restarting, running, removing, paused, exited, dead, or removed)
333
+ """
322
334
  try:
323
335
  self.__container.reload()
324
336
  except docker.errors.NotFound:
325
337
  return "removed"
326
338
  return self.__container.status
327
339
 
340
+ @property
341
+ def health_status(self):
342
+ """ Container health status (starting, healthy, unhealthy, or removed).
343
+ """
344
+ try:
345
+ self.__container.reload()
346
+ except docker.errors.NotFound:
347
+ return "removed"
348
+ return self.__container.health
349
+
328
350
  @property
329
351
  def auto_stop(self):
330
352
  self.__auto_stop
@@ -352,6 +374,36 @@ class DockerContainer(DeleteableObject):
352
374
  def wait(self, **kwargs):
353
375
  return self.__container.wait(**kwargs)
354
376
 
377
+ def await_started(self, timeout=default_value):
378
+ health_status = self.health_status
379
+ if health_status == "healthy":
380
+ return
381
+ elif health_status is not None:
382
+ return self.await_health_status("healthy", timeout=timeout)
383
+ else:
384
+ # Container hasn't healthy mechanism
385
+ return self.await_status("running", timeout=timeout)
386
+ #TODO: for containers that haven't healthy mechanism, add a mechanism to customize how health is computed
387
+
388
+ def await_status(self, status, timeout=default_value):
389
+ wait_status = WaitFuncResult(f"wait container '{self.name}' has status '{status}'",
390
+ lambda: self.status)
391
+ wait_status.with_process_in_thread(False) \
392
+ .redo_until(status)
393
+ if timeout is not default_value:
394
+ wait_status.with_timeout(timeout)
395
+ return wait_status.execute()
396
+
397
+ def await_health_status(self, status, timeout=default_value):
398
+ wait_status = WaitFuncResult(f"wait container '{self.name}' has health status '{status}'",
399
+ lambda: self.health_status)
400
+ wait_status.with_process_in_thread(False) \
401
+ .redo_until(status)
402
+ if timeout is not default_value:
403
+ wait_status.with_timeout(timeout)
404
+ return wait_status.execute()
405
+
406
+
355
407
 
356
408
  # Manage logs
357
409
 
@@ -132,7 +132,7 @@ class DateTime(object):
132
132
  res = True
133
133
  try:
134
134
  DateTime.str_2_datetime(dt_str, dt_format)
135
- except (dateutil.parser._parser.ParserError, ValueError):
135
+ except (dateutil.parser._parser.ParserError, ValueError, TypeError):
136
136
  res = False
137
137
  return res
138
138