CTADIRAC 3.0.8.dev4__tar.gz → 3.0.9__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 (332) hide show
  1. {ctadirac-3.0.8.dev4/src/CTADIRAC.egg-info → ctadirac-3.0.9}/PKG-INFO +1 -1
  2. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CWLJob.py +4 -7
  3. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/Utilities/CWLTranslator.py +93 -67
  4. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/_version.py +3 -3
  5. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9/src/CTADIRAC.egg-info}/PKG-INFO +1 -1
  6. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/camera_calibration_inputs.yaml +4 -4
  7. ctadirac-3.0.9/tests/resources/cwl/scatter_feat_requirement/inputs_dl0_dl1_multiple.yaml +9 -0
  8. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/api/test_cwl_job.py +37 -20
  9. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/api/test_cwl_translator.py +18 -9
  10. ctadirac-3.0.8.dev4/tests/resources/cwl/scatter_feat_requirement/inputs_dl0_dl1_multiple.yaml +0 -9
  11. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/CODEOWNERS +0 -0
  12. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/LICENCE +0 -0
  13. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/MANIFEST.in +0 -0
  14. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/README.md +0 -0
  15. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/aiv-config.yml +0 -0
  16. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/ctadirac_requirements_traceability_matrix.csv +0 -0
  17. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docker/dirac-client/Dockerfile +0 -0
  18. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docker/dirac-client/EGI-trustanchors.repo +0 -0
  19. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docker/dirac-client/Entrypoint.sh +0 -0
  20. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/examples/dl0_to_dl2_example.yml +0 -0
  21. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/examples/mc_example.yml +0 -0
  22. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/examples/process_corsika_with_sim_telarray.yml +0 -0
  23. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/examples/testJob.py +0 -0
  24. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/install_CTADIRAC.md +0 -0
  25. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/install_client.md +0 -0
  26. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/install_site_desy.cfg +0 -0
  27. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/environment.yml +0 -0
  28. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/pylint.log +0 -0
  29. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/pyproject.toml +0 -0
  30. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/release.notes +0 -0
  31. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/releases.cfg +0 -0
  32. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/report/inspection.tex +0 -0
  33. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/report/performance_verification.tex +0 -0
  34. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/report/preamble.tex +0 -0
  35. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/setup.cfg +0 -0
  36. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/sonar-project.properties +0 -0
  37. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ConfigurationSystem/Agent/StorageMonitorAgent.py +0 -0
  38. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ConfigurationSystem/Agent/__init__.py +0 -0
  39. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ConfigurationSystem/ConfigTemplate.cfg +0 -0
  40. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ConfigurationSystem/__init__.py +0 -0
  41. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Utilities/SoftwareManager.py +0 -0
  42. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Utilities/__init__.py +0 -0
  43. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Utilities/return_values.py +0 -0
  44. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Utilities/tool_box.py +0 -0
  45. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Utilities/typer_callbacks.py +0 -0
  46. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Workflow/Modules/ProdDataManager.py +0 -0
  47. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Workflow/Modules/__init__.py +0 -0
  48. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Workflow/__init__.py +0 -0
  49. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/__init__.py +0 -0
  50. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/__init__.py +0 -0
  51. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_dms_check_lfn.py +0 -0
  52. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_job_get_parameter.py +0 -0
  53. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_add_dataset.py +0 -0
  54. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_add_file.py +0 -0
  55. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_add_prov.py +0 -0
  56. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_check_replicas.py +0 -0
  57. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_create_dataset_description.py +0 -0
  58. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_create_evndisp_dataset_description.py +0 -0
  59. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_dump_dataset.py +0 -0
  60. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_failure_monitor.py +0 -0
  61. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_find_datasets.py +0 -0
  62. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_fix_nsb.py +0 -0
  63. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_file.py +0 -0
  64. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_file_by_query.py +0 -0
  65. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_file_size.py +0 -0
  66. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_merge_size.py +0 -0
  67. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_replicas.py +0 -0
  68. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_se_status.py +0 -0
  69. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_git_clone.py +0 -0
  70. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_init_prov.py +0 -0
  71. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_managedata.py +0 -0
  72. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_mark_corrupted_DL0.py +0 -0
  73. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_monitor.py +0 -0
  74. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_remove_corrupted_dl2.py +0 -0
  75. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_remove_corrupted_file.py +0 -0
  76. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_remove_dataset.py +0 -0
  77. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_remove_file.py +0 -0
  78. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_remove_replica.py +0 -0
  79. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_replicate_lfn.py +0 -0
  80. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_set_metadata.py +0 -0
  81. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_setup_software.py +0 -0
  82. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_show_dataset.py +0 -0
  83. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_split_dataset.py +0 -0
  84. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_split_dataset_bulk.py +0 -0
  85. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_unregister_file.py +0 -0
  86. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_unregister_replica.py +0 -0
  87. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_update_dataset.py +0 -0
  88. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_verifysteps.py +0 -0
  89. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_rms_request.py +0 -0
  90. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_add_files.py +0 -0
  91. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_clean.py +0 -0
  92. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_delete.py +0 -0
  93. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_get_files.py +0 -0
  94. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_get_tasks.py +0 -0
  95. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_move_dataset.py +0 -0
  96. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_move_dataset_status.py +0 -0
  97. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_move_files.py +0 -0
  98. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_remove_dataset.py +0 -0
  99. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_remove_files.py +0 -0
  100. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_remove_replicas.py +0 -0
  101. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_select.py +0 -0
  102. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_show_progress.py +0 -0
  103. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_treat_done_tasks.py +0 -0
  104. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_treat_failed_tasks.py +0 -0
  105. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_treat_incomplete_transfers.py +0 -0
  106. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_treat_problematic_files.py +0 -0
  107. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_user_managedata.py +0 -0
  108. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTADMSRequestOperationsBase.py +0 -0
  109. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTARegisterReplica.py +0 -0
  110. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTARemoveReplica.py +0 -0
  111. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTAReplicateAndRegister.py +0 -0
  112. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/__init__.py +0 -0
  113. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/__init__.py +0 -0
  114. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Client/ProvBase.py +0 -0
  115. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Client/ProvClient.py +0 -0
  116. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Client/__init__.py +0 -0
  117. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/ConfigTemplate.cfg +0 -0
  118. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/DB/ProvenanceDB.py +0 -0
  119. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/DB/__init__.py +0 -0
  120. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/ProvenanceManagerHandler.py +0 -0
  121. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/__init__.py +0 -0
  122. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/private/JSONUtils.py +0 -0
  123. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/private/__init__.py +0 -0
  124. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CTAJob.py +0 -0
  125. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CtapipeApplyModelsJob.py +0 -0
  126. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CtapipeMergeJob.py +0 -0
  127. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CtapipeProcessJob.py +0 -0
  128. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CtapipeTrainClassifierJob.py +0 -0
  129. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CtapipeTrainEnergyJob.py +0 -0
  130. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/EvnDispJob.py +0 -0
  131. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/MCPipeJob.py +0 -0
  132. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/MCSimTelProcessJob.py +0 -0
  133. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/SimPipeJob.py +0 -0
  134. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/__init__.py +0 -0
  135. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/Utilities/CWLUtilities.py +0 -0
  136. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/__init__.py +0 -0
  137. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/CWLUtils.py +0 -0
  138. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/CWLWorkflow.py +0 -0
  139. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/CWLWorkflowStep.py +0 -0
  140. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/README.md +0 -0
  141. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/__init__.py +0 -0
  142. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata-processing.yml +0 -0
  143. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata.cwl +0 -0
  144. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata.yml +0 -0
  145. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper +0 -0
  146. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper.cwl +0 -0
  147. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper.yml +0 -0
  148. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/dirac_prod_run.cwl +0 -0
  149. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/dirac_prod_run.yml +0 -0
  150. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/setup-software-processing.yml +0 -0
  151. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/setup-software.cwl +0 -0
  152. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/setup-software.yml +0 -0
  153. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.cwl +0 -0
  154. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.png +0 -0
  155. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.yml +0 -0
  156. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/Client/Utilities/__init__.py +0 -0
  157. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/Client/Utilities/production_utils.py +0 -0
  158. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/Client/WorkflowElement.py +0 -0
  159. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/Client/__init__.py +0 -0
  160. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/DB/ProductionDB.py +0 -0
  161. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/DB/__init__.py +0 -0
  162. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/Service/ProductionManagerHandler.py +0 -0
  163. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/__init__.py +0 -0
  164. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/__init__.py +0 -0
  165. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/processing_config_from_meta_query.yml +0 -0
  166. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az000/dl0_to_dl2.yml +0 -0
  167. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az000/merge.yml +0 -0
  168. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az180/dl0_to_dl2.yml +0 -0
  169. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az180/merge.yml +0 -0
  170. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az000/dl0_to_dl2.yml +0 -0
  171. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az000/merge.yml +0 -0
  172. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az180/dl0_to_dl2.yml +0 -0
  173. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az180/merge.yml +0 -0
  174. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/apply_models.yml +0 -0
  175. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/dl0_to_dl2.yml +0 -0
  176. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/merge.yml +0 -0
  177. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/train_classifier.yml +0 -0
  178. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/train_energy.yml +0 -0
  179. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az180/dl0_to_dl2.yml +0 -0
  180. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az180/merge.yml +0 -0
  181. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/apply_models.yml +0 -0
  182. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/dl0_to_dl2.yml +0 -0
  183. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/merge.yml +0 -0
  184. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/train_classifier.yml +0 -0
  185. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/train_energy.yml +0 -0
  186. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/apply_models.yml +0 -0
  187. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/dl0_to_dl2.yml +0 -0
  188. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/merge.yml +0 -0
  189. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/train_classifier.yml +0 -0
  190. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/train_energy.yml +0 -0
  191. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az000/dl0_to_dl2.yml +0 -0
  192. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az000/merge.yml +0 -0
  193. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az180/dl0_to_dl2.yml +0 -0
  194. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az180/merge.yml +0 -0
  195. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/apply_models.yml +0 -0
  196. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/dl0_to_dl2.yml +0 -0
  197. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/merge.yml +0 -0
  198. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/train_classifier.yml +0 -0
  199. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/train_energy.yml +0 -0
  200. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/apply_models.yml +0 -0
  201. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/dl0_to_dl2.yml +0 -0
  202. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/merge.yml +0 -0
  203. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/train_classifier.yml +0 -0
  204. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/train_energy.yml +0 -0
  205. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/apply_models_all_div.yml +0 -0
  206. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.0022.yml +0 -0
  207. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.0043.yml +0 -0
  208. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.008.yml +0 -0
  209. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.01135.yml +0 -0
  210. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.01453.yml +0 -0
  211. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.0022.yml +0 -0
  212. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.0043.yml +0 -0
  213. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.008.yml +0 -0
  214. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.01135.yml +0 -0
  215. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.01453.yml +0 -0
  216. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/train_classifier_all_div.yml +0 -0
  217. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/train_energy_all_div.yml +0 -0
  218. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/simulation/sim_test.yml +0 -0
  219. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/__init__.py +0 -0
  220. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_create_workflow_config.py +0 -0
  221. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_create_workflow_evndisp_config.py +0 -0
  222. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_get_all.py +0 -0
  223. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit.py +0 -0
  224. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit_from_cwl.py +0 -0
  225. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit_from_cwl_workflow.py +0 -0
  226. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/test/test_launcher_from_cwl.py +0 -0
  227. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Agent/TransformationFailoverAgent.py +0 -0
  228. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Agent/__init__.py +0 -0
  229. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/ConfigTemplate.cfg +0 -0
  230. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/DB/TransformationDB.py +0 -0
  231. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/DB/__init__.py +0 -0
  232. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Service/TornadoTransformationManagerHandler.py +0 -0
  233. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Service/TransformationManagerHandler.py +0 -0
  234. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Service/__init__.py +0 -0
  235. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Utils/FailoverUtilities.py +0 -0
  236. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Workflow/Modules/__init__.py +0 -0
  237. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Workflow/Modules/cta_script.py +0 -0
  238. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Workflow/Modules/cta_update_ts.py +0 -0
  239. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Workflow/__init__.py +0 -0
  240. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/WorkloadManagementSystem/Client/CTAODownloadInputData.py +0 -0
  241. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/WorkloadManagementSystem/Client/__init__.py +0 -0
  242. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/WorkloadManagementSystem/__init__.py +0 -0
  243. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/__init__.py +0 -0
  244. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/_dev/__init__.py +0 -0
  245. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/version.py +0 -0
  246. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC.egg-info/SOURCES.txt +0 -0
  247. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC.egg-info/dependency_links.txt +0 -0
  248. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC.egg-info/entry_points.txt +0 -0
  249. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC.egg-info/requires.txt +0 -0
  250. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC.egg-info/top_level.txt +0 -0
  251. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/calibpipe-camcalib-tool.cwl +0 -0
  252. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/ctapipe-merge-tool.cwl +0 -0
  253. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/ctapipe-pix-stats-tool.cwl +0 -0
  254. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/ctapipe-process-tool.cwl +0 -0
  255. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/perform-camera-calibration.cwl +0 -0
  256. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/utils/copy-file.cwl +0 -0
  257. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/utils/select-input.cwl +0 -0
  258. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool/inputs_process_multiple.yaml +0 -0
  259. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool/internal/output_names.cwl +0 -0
  260. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool/merge.cwl +0 -0
  261. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool/process_dl0_dl1.cwl +0 -0
  262. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool/process_dl0_dl1_multiple.cwl +0 -0
  263. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool_scatter/inputs_process_multiple.yaml +0 -0
  264. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool_scatter/internal/output_names.cwl +0 -0
  265. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool_scatter/merge.cwl +0 -0
  266. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool_scatter/process_dl0_dl1.cwl +0 -0
  267. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool_scatter/process_dl0_dl1_multiple.cwl +0 -0
  268. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/scatter_feat_requirement/merge.cwl +0 -0
  269. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/scatter_feat_requirement/process_dl0_dl1.cwl +0 -0
  270. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/scatter_feat_requirement/process_dl0_dl1_multiple.cwl +0 -0
  271. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/single_command_line_tool/inputs_process_dl0_dl1.yaml +0 -0
  272. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/single_command_line_tool/process_dl0_dl1.cwl +0 -0
  273. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/step_input_requirement/inputs_workflow_dl0_to_dl2.yaml +0 -0
  274. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/step_input_requirement/process_dl0_dl1.cwl +0 -0
  275. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/step_input_requirement/process_dl1_dl2.cwl +0 -0
  276. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/step_input_requirement/workflow_dl0_to_dl2.cwl +0 -0
  277. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/cta-prod-managedata-processing.yml +0 -0
  278. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/cta-prod-managedata.cwl +0 -0
  279. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/cta-prod-managedata.yml +0 -0
  280. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_ctapipe-process_wrapper +0 -0
  281. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_ctapipe-process_wrapper.cwl +0 -0
  282. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_ctapipe-process_wrapper.yml +0 -0
  283. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_prod_run +0 -0
  284. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_prod_run.cwl +0 -0
  285. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_prod_run.yml +0 -0
  286. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/setup-software-processing.yml +0 -0
  287. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/setup-software.cwl +0 -0
  288. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/setup-software.yml +0 -0
  289. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/config/full_production_config.yml +0 -0
  290. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/config/processing_merging_config_from_dataset.yml +0 -0
  291. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/config/production_config.yml +0 -0
  292. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/datasets/Prod5b_LaPalma_AdvancedBaseline_NSB1x_electron_North_20deg_R1.json +0 -0
  293. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/datasets/Prod6_Paranal_gamma_South_20deg.json +0 -0
  294. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/runTestSuite.py +0 -0
  295. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testDMSDefinitions.py +0 -0
  296. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testFileCatalogDefinitions.py +0 -0
  297. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testJobDefinitions.py +0 -0
  298. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testJobUtils.py +0 -0
  299. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testProdDefinitions.py +0 -0
  300. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testSuiteDefinition.py +0 -0
  301. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testTransDefinitions.py +0 -0
  302. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/api/__init__.py +0 -0
  303. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/api/test_cwl_utils.py +0 -0
  304. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/api/test_job.py +0 -0
  305. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/core/utilities/test_tool_box.py +0 -0
  306. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/core/workflow/modules/test_prod_data_manager.py +0 -0
  307. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/production/__init__.py +0 -0
  308. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/production/test_prod_submit_utils.py +0 -0
  309. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/production/test_workflow_element.py +0 -0
  310. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/scripts/core/test_cta_get_job_parameter.py +0 -0
  311. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/scripts/production_system/test_production_scripts.py +0 -0
  312. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/scripts/test_typer_callbacks.py +0 -0
  313. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/test_dummy.py +0 -0
  314. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/transformation/agent/test_transformation_agents.py +0 -0
  315. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/transformation/agent/test_transformation_failover_utils.py +0 -0
  316. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/workload_management/client/test_ctao_download_inputdata.py +0 -0
  317. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/ci/env/coverage.yml +0 -0
  318. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/cvmfs/build_corsika-77410-original.sh +0 -0
  319. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/cvmfs/build_corsika-77410.sh +0 -0
  320. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/README.md +0 -0
  321. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/bin/install-ctadirac-server.sh +0 -0
  322. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/caUtilities/openssl_config_ca.cnf +0 -0
  323. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/caUtilities/openssl_config_host.cnf +0 -0
  324. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/caUtilities/openssl_config_user.cnf +0 -0
  325. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/caUtilities/utilities.sh +0 -0
  326. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/EGI-trustanchors.repo +0 -0
  327. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/dirac_example.cfg +0 -0
  328. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/kill_runsv.sh +0 -0
  329. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/runsvdir-start +0 -0
  330. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/runsvdir-start.service +0 -0
  331. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/site.conf +0 -0
  332. {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/web_app_example.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CTADIRAC
3
- Version: 3.0.8.dev4
3
+ Version: 3.0.9
4
4
  Summary: CTADIRAC is an extension of the DIRAC interware for dedicated CTA usage.
5
5
  Author-email: Luisa Arrabito <arrabito@in2p3.fr>
6
6
  License: BSD 3-Clause License
@@ -7,7 +7,6 @@ from cwl_utils.parser import save
7
7
  from DIRAC.Interfaces.API.Dirac import Dirac
8
8
  from DIRAC.Interfaces.API.Job import Job
9
9
  from ruamel.yaml import YAML
10
-
11
10
  from CTADIRAC.Interfaces.Utilities.CWLTranslator import CWLTranslator
12
11
 
13
12
 
@@ -32,11 +31,10 @@ class CWLJob(Job, CWLTranslator):
32
31
  ) -> None:
33
32
  Job.__init__(self)
34
33
  CWLTranslator.__init__(self, cwl_workflow, cwl_inputs)
35
-
34
+ self.logfile_name = "cwl_job"
36
35
  self.cvmfs_base_path = cvmfs_base_path
37
36
  self.apptainer_options = apptainer_options if apptainer_options else []
38
37
  self._output_se = output_se
39
-
40
38
  self.translate(self.cvmfs_base_path, self.apptainer_options)
41
39
 
42
40
  def submit(self):
@@ -48,14 +46,12 @@ class CWLJob(Job, CWLTranslator):
48
46
  """
49
47
  dirac = Dirac()
50
48
  yaml = YAML()
51
-
52
49
  # Create the modified Dirac compliant CWL workflow and inputs files to submit
53
50
  with tempfile.NamedTemporaryFile(
54
51
  suffix=f"_{self.cwl_workflow_path.name}"
55
52
  ) as temp_workflow:
56
53
  yaml.dump(save(self.transformed_cwl), temp_workflow)
57
54
  temp_workflow.flush()
58
-
59
55
  with tempfile.NamedTemporaryFile(
60
56
  suffix=f"_{self.cwl_inputs_path.name}"
61
57
  ) as temp_inputs:
@@ -76,9 +72,10 @@ class CWLJob(Job, CWLTranslator):
76
72
  arguments_str = (
77
73
  f"{Path(temp_workflow.name).name} {Path(temp_inputs.name).name}"
78
74
  )
79
-
80
75
  self.setExecutable(
81
- "cwltool", arguments=arguments_str, logFile=f"{self.name}.log"
76
+ "cwltool",
77
+ arguments=arguments_str,
78
+ logFile=f"{self.logfile_name}.log",
82
79
  )
83
80
  res = dirac.submitJob(self)
84
81
  return res
@@ -95,12 +95,12 @@ class CWLTranslator:
95
95
  apptainer_options : list[Any]
96
96
  A list of options for Apptainer.
97
97
  """
98
-
98
+ self._extract_input_files(self.original_inputs)
99
99
  if self.transformed_cwl.hints:
100
100
  self.transformed_cwl = self._translate_docker_hints(
101
101
  self.transformed_cwl, cvmfs_base_path, apptainer_options
102
102
  )
103
- self._extract_and_translate_input_files()
103
+
104
104
  self._extract_output_files(self.transformed_cwl, self.original_inputs)
105
105
 
106
106
  def _translate_workflow(
@@ -115,41 +115,42 @@ class CWLTranslator:
115
115
  apptainer_options : list[Any]
116
116
  A list of options for Apptainer.
117
117
  """
118
- # Need to set the file basename for JSReq:
119
- self.transformed_inputs = set_input_file_basename(self.transformed_inputs)
120
- self.transformed_inputs = fill_defaults(
121
- self.transformed_cwl, self.transformed_inputs
122
- )
123
118
  # Extract the DIRAC related
124
- self._extract_and_translate_input_files()
125
-
126
- self.evaluated_steps_outputs = {}
119
+ self._extract_input_files(self.original_inputs)
120
+ # Need to set the file basename for JSReq:
127
121
  steps_inputs = deepcopy(self.transformed_inputs)
122
+ self.evaluated_steps_outputs = {}
128
123
  for n, wf_step in enumerate(self.transformed_cwl.steps):
129
- step_name = wf_step.id.rpartition("#")[2].split("/")[0]
130
- self.current_step_name = step_name
131
- self.evaluated_steps_outputs.setdefault(step_name, {})
132
- # replace docker hints
133
- if wf_step.run.hints:
134
- self.transformed_cwl.steps[n].run = self._translate_docker_hints(
135
- wf_step.run, cvmfs_base_path, apptainer_options
136
- )
137
- # Update the input context for next steps
138
- steps_inputs = fill_defaults(wf_step.run, steps_inputs)
139
- steps_inputs = set_input_file_basename(steps_inputs)
140
- steps_inputs = self._evaluate_step_inputs(wf_step, steps_inputs)
141
-
142
- # Evaluate step outputs
143
- # specific evaluation if the step is an ExpressionTool
144
- if isinstance(wf_step.run, ExpressionTool):
145
- exptool_outputs = self._evaluate_expression_tool_outputs(
146
- self.unpacked_cwl, wf_step, steps_inputs, step_name
147
- )
148
- self.evaluated_steps_outputs[step_name] = exptool_outputs
149
- else:
150
- self._evaluate_step_outputs(wf_step, steps_inputs)
124
+ # TODO: handle the case where the step is also a workflow
125
+ if isinstance(wf_step.run, (CommandLineTool, ExpressionTool)):
126
+ step_name = wf_step.id.rpartition("#")[2].split("/")[0]
127
+ self.current_step_name = step_name
128
+ self.evaluated_steps_outputs.setdefault(step_name, {})
129
+ # replace docker hints
130
+ if isinstance(wf_step, CommandLineTool) and wf_step.run.hints:
131
+ self.transformed_cwl.steps[n].run = self._translate_docker_hints(
132
+ wf_step.run, cvmfs_base_path, apptainer_options
133
+ )
134
+ # Update the input context for next steps
135
+ steps_inputs = fill_defaults(wf_step.run, steps_inputs)
136
+ steps_inputs = set_input_file_basename(steps_inputs)
137
+ steps_inputs = self._evaluate_step_inputs(wf_step, steps_inputs)
138
+
139
+ # Evaluate step outputs
140
+ # specific evaluation if the step is an ExpressionTool
141
+ if isinstance(wf_step.run, ExpressionTool):
142
+ exptool_outputs = self._evaluate_expression_tool_outputs(
143
+ self.unpacked_cwl, wf_step, steps_inputs, step_name
144
+ )
145
+ self.evaluated_steps_outputs[step_name] = exptool_outputs
146
+ else:
147
+ self._evaluate_step_outputs(wf_step, steps_inputs)
148
+ elif isinstance(wf_step, Workflow):
149
+ raise NotImplementedError("Workflow steps are not handle yet...")
150
+
151
151
  # Finally extract the DIRAC related outputs
152
152
  self._extract_workflow_outputs()
153
+ self.remove_lfns_from_transformed_inputs()
153
154
 
154
155
  @staticmethod
155
156
  def _translate_docker_hints(
@@ -230,6 +231,7 @@ class CWLTranslator:
230
231
  list | dict[str, Any] | None
231
232
  Evaluated CWL File or list of CWL File
232
233
  """
234
+ transformed_inputs = deepcopy(self.transformed_inputs)
233
235
  inp_id = inp.id.rpartition("#")[2].split("/")[-1]
234
236
  if inp.valueFrom:
235
237
  # evaluate if it is a JS exp
@@ -300,8 +302,8 @@ class CWLTranslator:
300
302
  ):
301
303
  # TODO: can that be a list?
302
304
  return self.evaluated_steps_outputs[step_ref][source]
303
- elif inp_source[0] in save(self.transformed_inputs):
304
- return save(self.transformed_inputs)[inp_source[0]]
305
+ elif inp_source[0] in save(transformed_inputs):
306
+ return save(transformed_inputs)[inp_source[0]]
305
307
  elif inp_source[0] in input_context:
306
308
  return input_context[inp_source[0]]
307
309
 
@@ -544,40 +546,64 @@ class CWLTranslator:
544
546
 
545
547
  return expr_inputs
546
548
 
547
- def _extract_and_translate_input_files(self) -> None:
548
- """Extract input files from CWL inputs and rewrite file paths.
549
- If the file is a Sandbox, ensure there is no absolute path, and store it in the input sandbox list.
550
- If the file is a LFN, remove the lfn prefix and store it in the lfns list.
551
- """
549
+ def remove_lfns_from_transformed_inputs(self):
550
+ """Remove 'lfn' prefix from inputs name in tranformed inputs."""
551
+ for inp_name, inp_value in self.transformed_inputs.items():
552
+ if isinstance(inp_value, list):
553
+ for index, val in enumerate(inp_value):
554
+ if isinstance(val, str) and self.transformed_inputs[inp_name][
555
+ index
556
+ ].startswith(LFN_PREFIX):
557
+ # Update the transformed cwl lfn filename
558
+ self.transformed_inputs[inp_name][index] = Path(
559
+ val.removeprefix(LFN_PREFIX)
560
+ ).name
561
+ elif isinstance(inp_value, str) and self.transformed_inputs[
562
+ inp_name
563
+ ].startswith(LFN_PREFIX):
564
+ # Update the transformed cwl lfn filename
565
+ self.transformed_inputs[inp_name] = Path(
566
+ inp_value.removeprefix(LFN_PREFIX)
567
+ ).name
552
568
 
553
- def rewrite_file_path(file: File | str) -> str:
554
- """Rewrite file path.
569
+ def _extract_input_files(self, cwl_inputs: dict):
570
+ """Extract input sandboxes/data inputs.
555
571
 
556
- Parameters
557
- ----------
558
- file : File | str
559
- File which path should be rewritten.
572
+ Parameters
573
+ ----------
574
+ inputs : dict
575
+ CWL inputs
576
+ """
577
+ inputs = deepcopy(cwl_inputs)
578
+ for inp_name, inp_value in inputs.items():
579
+ if isinstance(inp_value, list):
580
+ for index, val in enumerate(inp_value):
581
+ if isinstance(val, File):
582
+ self._fill_dirac_inputs(val)
583
+ # Update the transformed cwl input file
584
+ self.transformed_inputs[inp_name][index].path = Path(
585
+ val.path
586
+ ).name
587
+ elif isinstance(inp_value, File):
588
+ self._fill_dirac_inputs(inp_value)
589
+ # Update the transformed cwl input file
590
+ self.transformed_inputs[inp_name].path = Path(inp_value.path).name
591
+
592
+ def _fill_dirac_inputs(self, input_file: File):
593
+ """Fill DIRAC input sanbox and data lists.
560
594
 
561
- Returns:
562
- -----
563
- str:
564
- The new file path.
565
- """
566
- path, is_lfn = self._translate_sandboxes_and_lfns(file)
567
- (self.input_data if is_lfn else self.input_sandbox).append(path)
568
- return Path(path.removeprefix(LFN_DIRAC_PREFIX)).name
569
-
570
- for key, input_value in self.transformed_inputs.items():
571
- if isinstance(input_value, list):
572
- for file in input_value:
573
- if isinstance(file, File):
574
- file.path = rewrite_file_path(file)
575
- elif isinstance(input_value, File):
576
- input_value.path = rewrite_file_path(input_value)
577
- elif isinstance(input_value, str) and input_value.startswith(LFN_PREFIX):
578
- self.transformed_inputs[key] = Path(
579
- input_value.removeprefix(LFN_PREFIX)
580
- ).name
595
+ Parameters
596
+ ----------
597
+ input_value : File
598
+ File input
599
+ """
600
+ if input_file.path.startswith(LFN_PREFIX):
601
+ self.input_data.append(
602
+ input_file.path.replace(LFN_PREFIX, LFN_DIRAC_PREFIX)
603
+ )
604
+ else:
605
+ sandbox = Path(input_file.path.replace(LOCAL_PREFIX, ""))
606
+ self.input_sandbox.append(str(sandbox.absolute()))
581
607
 
582
608
  def _translate_sandboxes_and_lfns(self, file: File | str) -> tuple[str, bool]:
583
609
  """Extract local files as sandboxes and lfns as input data.
@@ -619,7 +645,7 @@ class CWLTranslator:
619
645
  if isinstance(output_value, list):
620
646
  for out in output_value:
621
647
  self._fill_dirac_outputs(out)
622
- else:
648
+ elif output_value:
623
649
  self._fill_dirac_outputs(output_value)
624
650
 
625
651
  def _fill_dirac_outputs(self, output_value: dict):
@@ -629,7 +655,7 @@ class CWLTranslator:
629
655
  ----------
630
656
  output_value : dict
631
657
  """
632
- if output_value.get("class", None) == "File":
658
+ if isinstance(output_value, dict) and output_value.get("class", None) == "File":
633
659
  if output_value.get("path", "").startswith(LFN_PREFIX):
634
660
  self.output_data.append(
635
661
  output_value.get("path", "").replace(LFN_PREFIX, LFN_DIRAC_PREFIX)
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '3.0.8.dev4'
32
- __version_tuple__ = version_tuple = (3, 0, 8, 'dev4')
31
+ __version__ = version = '3.0.9'
32
+ __version_tuple__ = version_tuple = (3, 0, 9)
33
33
 
34
- __commit_id__ = commit_id = 'gd0cd0765e'
34
+ __commit_id__ = commit_id = 'g119582918'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CTADIRAC
3
- Version: 3.0.8.dev4
3
+ Version: 3.0.9
4
4
  Summary: CTADIRAC is an extension of the DIRAC interware for dedicated CTA usage.
5
5
  Author-email: Luisa Arrabito <arrabito@in2p3.fr>
6
6
  License: BSD 3-Clause License
@@ -1,13 +1,13 @@
1
1
  dl0_pedestal_data:
2
2
  - class: File
3
- path: test/data/pedestals_LST_dark.simtel.gz
3
+ path: lfn:///ctao/test/data/pedestals_LST_dark.simtel.gz
4
4
  - class: File
5
- path: test/data/pedestals_LST_half_moon.simtel.gz
5
+ path: lfn:///ctao/test/data/pedestals_LST_half_moon.simtel.gz
6
6
  dl0_flatfield_data:
7
7
  - class: File
8
- path: test/data/flasher_LST_dark.simtel.gz
8
+ path: lfn:///ctao/test/data/flasher_LST_dark.simtel.gz
9
9
  - class: File
10
- path: test/data/flasher_LST_half_moon.simtel.gz
10
+ path: lfn:///ctao/test/data/flasher_LST_half_moon.simtel.gz
11
11
  ped_process_config:
12
12
  - class: File
13
13
  path: test/config/process_pedestal.yaml
@@ -0,0 +1,9 @@
1
+ input_files:
2
+ - "class": "File"
3
+ "path": "lfn:///ctao.dpps.test/test/gamma_1.dl1_img.h5"
4
+ - "class": "File"
5
+ "path": "lfn:///ctao.dpps.test/test/gamma_2.dl1_img.h5"
6
+
7
+ intermediate_filenames: ["gamma_1.dl1.h5", "gamma_2.dl1.h5"]
8
+
9
+ output_filename: "lfn:///ctao.dpps.test/test/merged.dl1.h5"
@@ -242,7 +242,7 @@ def test_datapipe_cwl_job(mock_submit_job):
242
242
  assert save(job.transformed_inputs) == {
243
243
  "dl0": {"class": "File", "path": "gamma_cone10_run010000.simtel.zst"},
244
244
  "processing_config": {"class": "File", "path": "process_config.yaml"},
245
- "dl1_filename": "test.dl1.h5",
245
+ "dl1_filename": "lfn:///ctao/datapipe/test.dl1.h5",
246
246
  }
247
247
 
248
248
  result = job.submit()
@@ -278,35 +278,47 @@ def test_datapipe_cwl_workflow_job(mock_submit_job):
278
278
  "tests/resources/cwl/scatter_feat_requirement/inputs_dl0_dl1_multiple.yaml",
279
279
  cvmfs_base_path=CVMFS_BASE_PATH,
280
280
  )
281
- assert len(job.input_data) == 0
282
281
 
283
- assert len(job.input_sandbox) == 2
284
- assert INPUT_1 in job.input_sandbox[0]
285
- assert INPUT_2 in job.input_sandbox[1]
282
+ assert len(job.input_sandbox) == 0
286
283
 
287
- assert len(job.output_data) == 0
284
+ assert job.input_data == [
285
+ f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/gamma_1.dl1_img.h5",
286
+ f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/gamma_2.dl1_img.h5",
287
+ ]
288
+
289
+ assert job.output_data == [f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/merged.dl1.h5"]
288
290
  assert job.output_sandbox == [
289
- MERGED_OUTPUT,
290
291
  MERGE_LOG,
291
292
  MERGE_PROVENANCE_LOG,
292
293
  ]
293
294
 
295
+ # Ensure the transformed inputs are correctly transformed
296
+ for input_file in job.transformed_inputs["input_files"]:
297
+ assert input_file.path in ["gamma_1.dl1_img.h5", "gamma_2.dl1_img.h5"]
298
+
299
+ assert job.transformed_inputs["output_filename"] == "merged.dl1.h5"
300
+
294
301
  result = job.submit()
295
302
  mock_submit_job.assert_called_once_with(job)
296
303
  result_xml = ET.fromstring(result)
297
304
 
298
305
  input_data = get_list(result_xml, "InputData")
299
- assert input_data == []
306
+ assert input_data == [
307
+ f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/gamma_1.dl1_img.h5",
308
+ f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/gamma_2.dl1_img.h5",
309
+ ]
300
310
 
301
311
  input_sandbox = get_list(result_xml, "InputSandbox")
302
- assert len(input_sandbox) == 4 # cwl + inputs + input_sandbox
312
+ assert len(input_sandbox) == 2 # cwl + inputs + input_sandbox
303
313
 
304
314
  output_data = get_list(result_xml, "OutputData")
305
- assert len(output_data) == 0
315
+ assert output_data == [f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/merged.dl1.h5"]
306
316
 
307
317
  output_sandbox = get_list(result_xml, "OutputSandbox")
308
- assert len(output_sandbox) == 3
309
- assert output_sandbox[0] == MERGED_OUTPUT
318
+ assert output_sandbox == [
319
+ MERGE_LOG,
320
+ MERGE_PROVENANCE_LOG,
321
+ ]
310
322
 
311
323
 
312
324
  # TODO: parametrize with the above test?
@@ -427,10 +439,10 @@ def test_expression_tool(mock_submit_job):
427
439
 
428
440
 
429
441
  CAMERA_CALIBRATION_INPUT_SANDBOXES = [
430
- str(Path("test/data/pedestals_LST_dark.simtel.gz").absolute()),
431
- str(Path("test/data/pedestals_LST_half_moon.simtel.gz").absolute()),
432
- str(Path("test/data/flasher_LST_dark.simtel.gz").absolute()),
433
- str(Path("test/data/flasher_LST_half_moon.simtel.gz").absolute()),
442
+ # str(Path("test/data/pedestals_LST_dark.simtel.gz").absolute()),
443
+ # str(Path("test/data/pedestals_LST_half_moon.simtel.gz").absolute()),
444
+ # str(Path("test/data/flasher_LST_dark.simtel.gz").absolute()),
445
+ # str(Path("test/data/flasher_LST_half_moon.simtel.gz").absolute()),
434
446
  str(Path("test/config/process_pedestal.yaml").absolute()),
435
447
  str(Path("test/config/process_flatfield.yaml").absolute()),
436
448
  str(Path("test/config/merge_config.yaml").absolute()),
@@ -446,7 +458,12 @@ CAMERA_CALIBRATION_OUTPUT_SANDBOXES = [
446
458
  "camera_calibration_lst1.mon.dl1.h5",
447
459
  ]
448
460
  CAMERA_CALIBRATION_OUTPUT_DATA = []
449
- CAMERA_CALIBRATION_INPUT_DATA = []
461
+ CAMERA_CALIBRATION_INPUT_DATA = [
462
+ f"{LFN_DIRAC_PREFIX}/ctao/test/data/pedestals_LST_dark.simtel.gz",
463
+ f"{LFN_DIRAC_PREFIX}/ctao/test/data/pedestals_LST_half_moon.simtel.gz",
464
+ f"{LFN_DIRAC_PREFIX}/ctao/test/data/flasher_LST_dark.simtel.gz",
465
+ f"{LFN_DIRAC_PREFIX}/ctao/test/data/flasher_LST_half_moon.simtel.gz",
466
+ ]
450
467
 
451
468
 
452
469
  @pytest.mark.parametrize(
@@ -493,13 +510,13 @@ def test_complex_workflow(
493
510
  result_xml = ET.fromstring(result)
494
511
 
495
512
  input_data = get_list(result_xml, "InputData")
496
- assert input_data == []
513
+ assert set(input_data) == set(expected_input_data)
497
514
 
498
515
  input_sandbox = get_list(result_xml, "InputSandbox")
499
- assert len(input_sandbox) == 13 # cwl + inputs + input_sandbox
516
+ assert len(input_sandbox) == 9 # cwl + inputs + input_sandbox
500
517
 
501
518
  output_data = get_list(result_xml, "OutputData")
502
519
  assert len(output_data) == 0
503
520
 
504
521
  output_sandbox = get_list(result_xml, "OutputSandbox")
505
- assert len(output_sandbox) == 4
522
+ assert output_sandbox == expected_output_sandbox
@@ -213,7 +213,7 @@ def test_translate_docker_hints(
213
213
  {"input1": File(path=LOCAL_PREFIX + "test_local_file.txt")},
214
214
  {
215
215
  "transformed_inputs": {"input1": File(path="test_local_file.txt")},
216
- "input_sandbox": ["test_local_file.txt"],
216
+ "input_sandbox": [str(Path("test_local_file.txt").absolute())],
217
217
  "input_data": [],
218
218
  },
219
219
  ),
@@ -231,7 +231,7 @@ def test_translate_docker_hints(
231
231
  File(path="test_local_file1.txt"),
232
232
  ]
233
233
  },
234
- "input_sandbox": ["test_local_file1.txt"],
234
+ "input_sandbox": [str(Path("test_local_file1.txt").absolute())],
235
235
  "input_data": [LFN_DIRAC_PREFIX + "/ctao/test_lfn_file1.txt"],
236
236
  },
237
237
  ),
@@ -253,7 +253,10 @@ def test_translate_docker_hints(
253
253
  File(path="test_local_file3.txt"),
254
254
  ],
255
255
  },
256
- "input_sandbox": ["test_local_file2.txt", "test_local_file3.txt"],
256
+ "input_sandbox": [
257
+ str(Path("test_local_file2.txt").absolute()),
258
+ str(Path("test_local_file3.txt").absolute()),
259
+ ],
257
260
  "input_data": [
258
261
  LFN_DIRAC_PREFIX + "/ctao/test_lfn_file2.txt",
259
262
  LFN_DIRAC_PREFIX + "/ctao/test_lfn_file3.txt",
@@ -272,7 +275,9 @@ def test_translate_docker_hints(
272
275
  File(path="test_local_file1.txt"),
273
276
  ]
274
277
  },
275
- "input_sandbox": ["some/path/test_local_file1.txt"],
278
+ "input_sandbox": [
279
+ str(Path("some/path/test_local_file1.txt").absolute())
280
+ ],
276
281
  "input_data": [],
277
282
  },
278
283
  ),
@@ -284,7 +289,9 @@ def test_translate_docker_hints(
284
289
  "transformed_inputs": {
285
290
  "input1": File(path="test_local_file1.txt"),
286
291
  },
287
- "input_sandbox": ["some/path/test_local_file1.txt"],
292
+ "input_sandbox": [
293
+ str(Path("some/path/test_local_file1.txt").absolute())
294
+ ],
288
295
  "input_data": [],
289
296
  },
290
297
  ),
@@ -297,22 +304,24 @@ def test_translate_docker_hints(
297
304
  {
298
305
  "transformed_inputs": {
299
306
  "input1": File(path="test_local_file1.txt"),
300
- "input2": "test.h5",
307
+ "input2": f"{LFN_PREFIX}/ctao/path/test.h5",
301
308
  },
302
- "input_sandbox": ["some/path/test_local_file1.txt"],
309
+ "input_sandbox": [
310
+ str(Path("some/path/test_local_file1.txt").absolute())
311
+ ],
303
312
  "input_data": [],
304
313
  },
305
314
  ),
306
315
  ],
307
316
  )
308
- def test_extract_and_translate_input_files(input_cwl, expected_results):
317
+ def test_extract_input_files(input_cwl, expected_results):
309
318
  cwl_translator = CWLTranslator.__new__(CWLTranslator)
310
319
 
311
320
  cwl_translator.input_data = []
312
321
  cwl_translator.input_sandbox = []
313
322
  cwl_translator.transformed_inputs = input_cwl
314
323
 
315
- cwl_translator._extract_and_translate_input_files()
324
+ cwl_translator._extract_input_files(input_cwl)
316
325
 
317
326
  assert save(cwl_translator.transformed_inputs) == save(
318
327
  expected_results["transformed_inputs"]
@@ -1,9 +0,0 @@
1
- input_files:
2
- - "class": "File"
3
- "path": "gamma_1.dl1_img.h5"
4
- - "class": "File"
5
- "path": "gamma_2.dl1_img.h5"
6
-
7
- intermediate_filenames: ["gamma_1.dl1.h5", "gamma_2.dl1_.h5"]
8
-
9
- output_filename: "merged.dl1.h5"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes