edu-rdm-integration 3.5.5__tar.gz → 3.5.6__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 (207) hide show
  1. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/CHANGELOG.md +12 -0
  2. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/PKG-INFO +14 -2
  3. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/requirements/dependencies/internal_packages.txt +1 -1
  4. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/setup.py +1 -1
  5. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/app_settings.py +3 -1
  6. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/apps.py +3 -1
  7. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/consts.py +1 -0
  8. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/export.py +22 -12
  9. edu-rdm-integration-3.5.5/src/edu_rdm_integration/export_data/export_manger.py → edu-rdm-integration-3.5.6/src/edu_rdm_integration/export_data/export_manager.py +54 -0
  10. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/helpers.py +11 -1
  11. edu-rdm-integration-3.5.6/src/edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +25 -0
  12. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/models.py +4 -1
  13. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration.egg-info/PKG-INFO +14 -2
  14. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration.egg-info/SOURCES.txt +2 -1
  15. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration.egg-info/requires.txt +1 -1
  16. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/CONDUCT.md +0 -0
  17. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/LICENSE +0 -0
  18. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/MANIFEST.in +0 -0
  19. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/README.md +0 -0
  20. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/pyproject.toml +0 -0
  21. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/requirements/dependencies/development_packages.txt +0 -0
  22. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/requirements/dependencies/external_packages.txt +0 -0
  23. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/requirements/dependencies/internal_sources.txt +0 -0
  24. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/requirements/dependencies/production_packages.txt +0 -0
  25. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/requirements/dependencies/system_packages.txt +0 -0
  26. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/requirements/dependencies/testing_packages.txt +0 -0
  27. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/requirements/development.txt +0 -0
  28. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/requirements/production.txt +0 -0
  29. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/requirements/stage.txt +0 -0
  30. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/setup.cfg +0 -0
  31. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/__init__.py +0 -0
  32. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/__init__.py +0 -0
  33. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/apps.py +0 -0
  34. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/caches.py +0 -0
  35. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/consts.py +0 -0
  36. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/enums.py +0 -0
  37. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/errors.py +0 -0
  38. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/functions.py +0 -0
  39. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/helpers.py +0 -0
  40. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/managers.py +0 -0
  41. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/presenters.py +0 -0
  42. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/receivers.py +0 -0
  43. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/results.py +0 -0
  44. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/runners.py +0 -0
  45. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/strategies.py +0 -0
  46. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/strings.py +0 -0
  47. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/tests.py +0 -0
  48. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/adapters/validators.py +0 -0
  49. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/app_meta.py +0 -0
  50. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/base.py +0 -0
  51. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
  52. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
  53. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +0 -0
  54. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +0 -0
  55. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_and_export_data/migrations/__init__.py +0 -0
  56. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
  57. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_and_export_data/utils.py +0 -0
  58. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/__init__.py +0 -0
  59. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/base/__init__.py +0 -0
  60. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/base/caches.py +0 -0
  61. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/base/functions.py +0 -0
  62. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/base/helpers.py +0 -0
  63. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/base/managers.py +0 -0
  64. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/base/mixins.py +0 -0
  65. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/base/runners.py +0 -0
  66. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/__init__.py +0 -0
  67. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/__init__.py +0 -0
  68. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/caches.py +0 -0
  69. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/consts.py +0 -0
  70. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/enums.py +0 -0
  71. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/errors.py +0 -0
  72. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/functions.py +0 -0
  73. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/helpers.py +0 -0
  74. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/managers.py +0 -0
  75. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/presenters.py +0 -0
  76. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/results.py +0 -0
  77. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/runners.py +0 -0
  78. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/strings.py +0 -0
  79. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/tests.py +0 -0
  80. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/base/validators.py +0 -0
  81. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/calculated/strategies.py +0 -0
  82. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/collect.py +0 -0
  83. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/generators.py +0 -0
  84. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/helpers.py +0 -0
  85. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/__init__.py +0 -0
  86. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/__init__.py +0 -0
  87. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/caches.py +0 -0
  88. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/consts.py +0 -0
  89. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/enums.py +0 -0
  90. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/errors.py +0 -0
  91. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/functions.py +0 -0
  92. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/helpers.py +0 -0
  93. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/managers.py +0 -0
  94. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/presenters.py +0 -0
  95. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/results.py +0 -0
  96. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/runners.py +0 -0
  97. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/strings.py +0 -0
  98. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/tests.py +0 -0
  99. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/base/validators.py +0 -0
  100. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/non_calculated/strategies.py +0 -0
  101. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/collect_data/tests.py +0 -0
  102. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/entities.py +0 -0
  103. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/enum_register/__init__.py +0 -0
  104. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/enum_register/mixins.py +0 -0
  105. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/enum_register/register.py +0 -0
  106. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/enums.py +0 -0
  107. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/__init__.py +0 -0
  108. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/__init__.py +0 -0
  109. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/caches.py +0 -0
  110. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/consts.py +0 -0
  111. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/enums.py +0 -0
  112. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/errors.py +0 -0
  113. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/functions.py +0 -0
  114. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/helpers.py +0 -0
  115. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/managers.py +0 -0
  116. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/presenters.py +0 -0
  117. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/requests.py +0 -0
  118. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/results.py +0 -0
  119. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/runners.py +0 -0
  120. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/strings.py +0 -0
  121. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/tests.py +0 -0
  122. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/base/validators.py +0 -0
  123. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/consts.py +0 -0
  124. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/dataclasses.py +0 -0
  125. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/generators.py +0 -0
  126. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/helpers.py +0 -0
  127. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/queue.py +0 -0
  128. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/export_data/strategies.py +0 -0
  129. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/__init__.py +0 -0
  130. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/__init__.py-tpl +0 -0
  131. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/apps.py-tpl +0 -0
  132. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/caches.py-tpl +0 -0
  133. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/consts.py-tpl +0 -0
  134. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/enums.py-tpl +0 -0
  135. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/errors.py-tpl +0 -0
  136. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/functions.py-tpl +0 -0
  137. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/helpers.py-tpl +0 -0
  138. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/managers.py-tpl +0 -0
  139. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/presenters.py-tpl +0 -0
  140. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/results.py-tpl +0 -0
  141. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/runners.py-tpl +0 -0
  142. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/strings.py-tpl +0 -0
  143. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/tests.py-tpl +0 -0
  144. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_collect_data_template/validators.py-tpl +0 -0
  145. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/__init__.py-tpl +0 -0
  146. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/apps.py-tpl +0 -0
  147. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/caches.py-tpl +0 -0
  148. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/consts.py-tpl +0 -0
  149. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/enums.py-tpl +0 -0
  150. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/errors.py-tpl +0 -0
  151. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/functions.py-tpl +0 -0
  152. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/helpers.py-tpl +0 -0
  153. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/managers.py-tpl +0 -0
  154. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/presenters.py-tpl +0 -0
  155. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/results.py-tpl +0 -0
  156. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/runners.py-tpl +0 -0
  157. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/strings.py-tpl +0 -0
  158. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/tests.py-tpl +0 -0
  159. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/function_templates/function_export_data_template/validators.py-tpl +0 -0
  160. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/__init__.py +0 -0
  161. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/commands/__init__.py +0 -0
  162. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/commands/async_fix_attachment_size.py +0 -0
  163. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/commands/check_upload_status.py +0 -0
  164. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/commands/collect_latest_models_data.py +0 -0
  165. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/commands/collect_models_data.py +0 -0
  166. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/commands/datamart_status.py +0 -0
  167. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/commands/datamart_upload.py +0 -0
  168. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/commands/export_entities_data.py +0 -0
  169. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/commands/export_latest_entities_data.py +0 -0
  170. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/management/general.py +0 -0
  171. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/mapping.py +0 -0
  172. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
  173. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
  174. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -0
  175. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
  176. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
  177. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
  178. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
  179. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
  180. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
  181. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
  182. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
  183. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
  184. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
  185. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
  186. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/migrations/__init__.py +0 -0
  187. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/redis_cache.py +0 -0
  188. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/registry/__init__.py +0 -0
  189. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/registry/actions.py +0 -0
  190. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/registry/ui.py +0 -0
  191. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/signals.py +0 -0
  192. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/storages.py +0 -0
  193. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/tasks.py +0 -0
  194. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/templates/ui-js/transferred-entity-list.js +0 -0
  195. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/typing.py +0 -0
  196. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/uploader_log/__init__.py +0 -0
  197. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/uploader_log/actions.py +0 -0
  198. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/uploader_log/apps.py +0 -0
  199. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/uploader_log/enums.py +0 -0
  200. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/uploader_log/managers.py +0 -0
  201. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/uploader_log/templates/ui-js/object-grid-buttons.js +0 -0
  202. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/uploader_log/ui.py +0 -0
  203. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration/utils.py +0 -0
  204. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
  205. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration.egg-info/namespace_packages.txt +0 -0
  206. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration.egg-info/not-zip-safe +0 -0
  207. {edu-rdm-integration-3.5.5 → edu-rdm-integration-3.5.6}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
@@ -28,6 +28,18 @@
28
28
 
29
29
  ### Удалено
30
30
 
31
+ ## [3.5.6] - 2025-02-20
32
+
33
+ Доработана отправка файлов в витрину - добавлена проверка статусов файла и новый статус `Ошибка обработки витриной` для
34
+ ExportingDataSubStageStatus. Доработана задача проверки статусов UploadStatusHelper.
35
+
36
+ ### Исправлено
37
+
38
+ - [EDUSCHL-22403](https://jira.bars.group/browse/EDUSCHL-22403)
39
+ PATCH Добавлен новый статус Ошибка обработки витриной для ExportingDataSubStageStatus. Добавлена проверка
40
+ статусов сразу после отправки файлов WorkerSender. Скорректирован статус UploadStatusHelper - при получении статусов
41
+ ошибки обработки витриной подэтап помечается как PROCESS_ERROR
42
+
31
43
 
32
44
  ## [3.5.5] - 2025-02-11
33
45
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edu-rdm-integration
3
- Version: 3.5.5
3
+ Version: 3.5.6
4
4
  Summary: Интеграция с Региональной витриной данных
5
5
  Home-page:
6
6
  Download-URL:
@@ -31,7 +31,7 @@ Requires-Dist: educommon<4,>=3.11.0
31
31
  Requires-Dist: function-tools<1,>=0.9.0
32
32
  Requires-Dist: m3-db-utils<1,>=0.3.10
33
33
  Requires-Dist: m3-django-compat<2,>=1.10.2
34
- Requires-Dist: uploader-client<1,>=0.2.1
34
+ Requires-Dist: uploader-client<1,>=0.2.3
35
35
 
36
36
  # Проект "Интеграция с Региональной витриной данных (РВД)"
37
37
 
@@ -300,6 +300,18 @@ Requires-Dist: uploader-client<1,>=0.2.1
300
300
 
301
301
  ### Удалено
302
302
 
303
+ ## [3.5.6] - 2025-02-20
304
+
305
+ Доработана отправка файлов в витрину - добавлена проверка статусов файла и новый статус `Ошибка обработки витриной` для
306
+ ExportingDataSubStageStatus. Доработана задача проверки статусов UploadStatusHelper.
307
+
308
+ ### Исправлено
309
+
310
+ - [EDUSCHL-22403](https://jira.bars.group/browse/EDUSCHL-22403)
311
+ PATCH Добавлен новый статус Ошибка обработки витриной для ExportingDataSubStageStatus. Добавлена проверка
312
+ статусов сразу после отправки файлов WorkerSender. Скорректирован статус UploadStatusHelper - при получении статусов
313
+ ошибки обработки витриной подэтап помечается как PROCESS_ERROR
314
+
303
315
 
304
316
  ## [3.5.5] - 2025-02-11
305
317
 
@@ -2,4 +2,4 @@ educommon>=3.11.0,<4
2
2
  function-tools>=0.9.0,<1
3
3
  m3-db-utils>=0.3.10,<1
4
4
  m3-django-compat>=1.10.2,<2
5
- uploader-client>=0.2.1,<1
5
+ uploader-client>=0.2.3,<1
@@ -17,7 +17,7 @@ from setuptools import (
17
17
 
18
18
  PROJECT = 'edu_rdm_integration'
19
19
 
20
- VERSION = '3.5.5'
20
+ VERSION = '3.5.6'
21
21
 
22
22
  current_dir_path = Path().resolve()
23
23
 
@@ -59,4 +59,6 @@ RDM_UPLOAD_DATA_TASK_HOUR = '*/2'
59
59
  RDM_UPLOAD_DATA_TASK_DAY_OF_WEEK = '*'
60
60
  RDM_UPLOAD_DATA_TASK_LOCK_EXPIRE_SECONDS = 60 * 60 * 2
61
61
  # Количество подэтапов для обработки в периодической задаче отправки данных
62
- RDM_UPLOAD_DATA_TASK_EXPORT_STAGES = 500
62
+ RDM_UPLOAD_DATA_TASK_EXPORT_STAGES = 500
63
+
64
+ RDM_RESPONSE_FILE_STATUS = 'success'
@@ -38,16 +38,18 @@ class EduRDMIntegrationConfig(AppConfig):
38
38
  )
39
39
  from uploader_client.contrib.rdm.interfaces.configurations import (
40
40
  RegionalDataMartUploaderConfig,
41
+ RegionalDataMartEmulationUploaderConfig,
41
42
  )
42
43
 
43
44
  if settings.RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION:
44
45
  uploader_client.set_config(
45
- RegionalDataMartUploaderConfig(
46
+ RegionalDataMartEmulationUploaderConfig(
46
47
  interface='uploader_client.contrib.rdm.interfaces.rest.OpenAPIInterfaceEmulation',
47
48
  url=settings.RDM_UPLOADER_CLIENT_URL,
48
49
  datamart_name=settings.RDM_UPLOADER_CLIENT_DATAMART_NAME,
49
50
  timeout=1,
50
51
  request_retries=1,
52
+ file_status=settings.RDM_RESPONSE_FILE_STATUS
51
53
  )
52
54
  )
53
55
  elif settings.RDM_UPLOADER_CLIENT_USE_PROXY_API:
@@ -34,3 +34,4 @@ TASK_QUEUE_NAME = 'RDM'
34
34
  # Кортеж операций для обновления данных
35
35
  UPDATED_OPERATIONS = (EntityLogOperation.CREATE, EntityLogOperation.UPDATE)
36
36
  ALL_OPERATIONS = UPDATED_OPERATIONS + (EntityLogOperation.DELETE, )
37
+
@@ -64,10 +64,10 @@ from edu_rdm_integration.base import (
64
64
  from edu_rdm_integration.consts import (
65
65
  REGIONAL_DATA_MART_INTEGRATION_EXPORTING_DATA,
66
66
  )
67
- from edu_rdm_integration.enums import (
68
- FileUploadStatusEnum,
67
+ from edu_rdm_integration.export_data.consts import (
68
+ TOTAL_ATTACHMENTS_SIZE_KEY,
69
69
  )
70
- from edu_rdm_integration.export_data.export_manger import (
70
+ from edu_rdm_integration.export_data.export_manager import (
71
71
  ExportQueueSender,
72
72
  WorkerSender,
73
73
  )
@@ -294,14 +294,6 @@ class BaseExportLatestEntitiesData(BaseExportEntitiesData):
294
294
  modified__gt=F('exporting_sub_stage__ended_at'),
295
295
  modified__lt=last_finished_export_data,
296
296
  ),
297
- # Связь лога подэтапа выгрузки с логом загрузки данных (ExportingDataSubStageUploaderClientLog)
298
- # имеет статус FileUploadStatusEnum.ERROR:
299
- model.objects.filter(
300
- exporting_sub_stage__ended_at__gt=now - timedelta(days=365),
301
- exporting_sub_stage__exportingdatasubstageuploaderclientlog__created__lt=last_finished_export_data,
302
- exporting_sub_stage__exportingdatasubstageuploaderclientlog__file_upload_status=(
303
- FileUploadStatusEnum.ERROR),
304
- ),
305
297
  )
306
298
 
307
299
  for queryset in querysets_to_update:
@@ -419,16 +411,18 @@ class UploadData(BaseOperationData):
419
411
  caches,
420
412
  )
421
413
  from uploader_client.contrib.rdm.interfaces.configurations import (
414
+ RegionalDataMartEmulationUploaderConfig,
422
415
  RegionalDataMartUploaderConfig,
423
416
  )
424
417
  if settings.RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION:
425
418
  uploader_client.set_config(
426
- RegionalDataMartUploaderConfig(
419
+ RegionalDataMartEmulationUploaderConfig(
427
420
  interface='uploader_client.contrib.rdm.interfaces.rest.OpenAPIInterfaceEmulation',
428
421
  url=settings.RDM_UPLOADER_CLIENT_URL,
429
422
  datamart_name=settings.RDM_UPLOADER_CLIENT_DATAMART_NAME,
430
423
  timeout=1,
431
424
  request_retries=1,
425
+ file_status=settings.RDM_RESPONSE_FILE_STATUS
432
426
  )
433
427
  )
434
428
  elif settings.RDM_UPLOADER_CLIENT_USE_PROXY_API:
@@ -457,6 +451,19 @@ class UploadData(BaseOperationData):
457
451
  )
458
452
  )
459
453
 
454
+ def update_total_queue_size_in_cache(self, received_files_size: int):
455
+ """Обновление размера файлов в кеш."""
456
+ with self.data_cache.lock(f'{TOTAL_ATTACHMENTS_SIZE_KEY}:lock', timeout=300):
457
+ queue_total_file_size = self.data_cache.get(TOTAL_ATTACHMENTS_SIZE_KEY) or 0
458
+ if queue_total_file_size:
459
+ queue_total_file_size -= received_files_size
460
+ if queue_total_file_size > 0:
461
+ self.data_cache.set(
462
+ TOTAL_ATTACHMENTS_SIZE_KEY,
463
+ queue_total_file_size,
464
+ timeout=settings.RDM_REDIS_CACHE_TIMEOUT_SECONDS
465
+ )
466
+
460
467
  def upload_data(self, *args, **kwargs):
461
468
  """
462
469
  Запускает отправку данных в витрину.
@@ -476,6 +483,9 @@ class UploadData(BaseOperationData):
476
483
  if sender.entities:
477
484
  self.result['uploaded_entities'] = ','.join(sender.entities)
478
485
 
486
+ if sender.received_file_size:
487
+ self.update_total_queue_size_in_cache(sender.received_file_size)
488
+
479
489
  except Exception as err:
480
490
  logger.exception(err)
481
491
  raise err
@@ -2,6 +2,8 @@ from pathlib import (
2
2
  Path,
3
3
  )
4
4
  from typing import (
5
+ TYPE_CHECKING,
6
+ Any,
5
7
  Iterable,
6
8
  Optional,
7
9
  )
@@ -48,11 +50,17 @@ from edu_rdm_integration.export_data.dataclasses import (
48
50
  from edu_rdm_integration.export_data.queue import (
49
51
  Queue,
50
52
  )
53
+ from edu_rdm_integration.helpers import (
54
+ FAILED_STATUS,
55
+ UploadStatusHelper,
56
+ )
51
57
  from edu_rdm_integration.models import (
58
+ DataMartRequestStatus,
52
59
  ExportingDataSubStage,
53
60
  ExportingDataSubStageAttachment,
54
61
  ExportingDataSubStageStatus,
55
62
  ExportingDataSubStageUploaderClientLog,
63
+ UploadStatusRequestLog,
56
64
  )
57
65
  from edu_rdm_integration.redis_cache import (
58
66
  AbstractCache,
@@ -184,6 +192,31 @@ class WorkerSender:
184
192
  def __init__(self, queue: Queue):
185
193
  self.queue = queue
186
194
  self.entities = set()
195
+ self.received_file_size = 0
196
+
197
+ def get_file_upload_status(self, request_id: str) -> tuple[Optional[int], Optional[DataMartRequestStatus], 'Entry']:
198
+ """Возвращает статус файла в витрине по запросу."""
199
+ file_upload_status = None
200
+
201
+ response, log_entry = UploadStatusHelper.send_upload_status_request(request_id)
202
+ request_status = None
203
+
204
+ if response:
205
+ request_status = DataMartRequestStatus.get_values_to_enum_data().get(response.get('code'))
206
+
207
+ if not request_status:
208
+ logger.error(
209
+ 'Не удалось определить статус загрузки данных в витрину. Идентификатор загрузки: '
210
+ f'{request_id}, данные ответа: {response}',
211
+ )
212
+
213
+ if request_status in FAILED_STATUS:
214
+ file_upload_status = FileUploadStatusEnum.ERROR
215
+
216
+ elif request_status == DataMartRequestStatus.SUCCESSFULLY_PROCESSED:
217
+ file_upload_status = FileUploadStatusEnum.FINISHED
218
+
219
+ return file_upload_status, request_status, log_entry
187
220
 
188
221
  def send_files(self):
189
222
  """Отправка файлов."""
@@ -194,6 +227,7 @@ class WorkerSender:
194
227
  return
195
228
 
196
229
  result_to_save = []
230
+ upload_status_requests_to_save = []
197
231
  errors = []
198
232
  status = ExportingDataSubStageStatus.FINISHED.key
199
233
  for file in upload_files:
@@ -241,6 +275,25 @@ class WorkerSender:
241
275
  file_upload_status=file_upload_status,
242
276
  is_emulation=settings.RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION,
243
277
  )
278
+
279
+ if request_id:
280
+ updated_file_upload_status, request_status, log_entry = self.get_file_upload_status(request_id)
281
+ upload_status_requests_to_save.append(
282
+ UploadStatusRequestLog(
283
+ upload=sub_stage_uploader_client_log,
284
+ entry=log_entry,
285
+ request_status_id=getattr(request_status, 'key', None),
286
+ )
287
+ )
288
+ if updated_file_upload_status and updated_file_upload_status != file_upload_status:
289
+ sub_stage_uploader_client_log.file_upload_status = updated_file_upload_status
290
+
291
+ if updated_file_upload_status == FileUploadStatusEnum.FINISHED:
292
+ self.received_file_size += file.attachment_size
293
+
294
+ if updated_file_upload_status == FileUploadStatusEnum.ERROR:
295
+ status = ExportingDataSubStageStatus.PROCESS_ERROR.key
296
+
244
297
  result_to_save.append(sub_stage_uploader_client_log)
245
298
  if result.error:
246
299
  logger.warning(
@@ -258,6 +311,7 @@ class WorkerSender:
258
311
  # Сохраняем информацию об отправке файлов и убираем подэтап с файлами из очереди
259
312
  with atomic():
260
313
  ExportingDataSubStageUploaderClientLog.objects.bulk_create(result_to_save)
314
+ UploadStatusRequestLog.objects.bulk_create(upload_status_requests_to_save)
261
315
  sub_stage.status_id = status
262
316
  sub_stage.save()
263
317
 
@@ -56,6 +56,7 @@ from edu_rdm_integration.models import (
56
56
  DataMartRequestStatus,
57
57
  ExportingDataStage,
58
58
  ExportingDataStageStatus,
59
+ ExportingDataSubStageStatus,
59
60
  ExportingDataSubStageUploaderClientLog,
60
61
  UploadDataCommand,
61
62
  UploadStatusRequestLog,
@@ -82,6 +83,13 @@ if TYPE_CHECKING:
82
83
  )
83
84
 
84
85
 
86
+ FAILED_STATUSES = {
87
+ DataMartRequestStatus.FAILED_PROCESSING,
88
+ DataMartRequestStatus.REQUEST_ID_NOT_FOUND,
89
+ DataMartRequestStatus.FLC_ERROR
90
+ }
91
+
92
+
85
93
  class UploadStatusHelper:
86
94
  """Хелпер проверки статуса загрузки данных в витрину."""
87
95
 
@@ -160,8 +168,10 @@ class UploadStatusHelper:
160
168
  request_status_id=getattr(request_status, 'key', None),
161
169
  )
162
170
 
163
- if request_status in {DataMartRequestStatus.FAILED_PROCESSING, DataMartRequestStatus.REQUEST_ID_NOT_FOUND}:
171
+ if request_status in FAILED_STATUSES:
164
172
  upload.file_upload_status = FileUploadStatusEnum.ERROR
173
+ upload.sub_stage.status_id = ExportingDataSubStageStatus.PROCESS_ERROR.key
174
+ upload.sub_stage.save()
165
175
 
166
176
  elif request_status == DataMartRequestStatus.SUCCESSFULLY_PROCESSED:
167
177
  upload.file_upload_status = FileUploadStatusEnum.FINISHED
@@ -0,0 +1,25 @@
1
+ # Generated by Django 3.2.24 on 2025-02-14 15:49
2
+
3
+ from django.db import (
4
+ migrations,
5
+ )
6
+
7
+
8
+ def add_exporting_data_sub_stage_status(apps, schema_editor):
9
+ """Добавление нового статуса этапу выгрузки данных."""
10
+ ExportingDataSubStageStatus = apps.get_model('edu_rdm_integration', 'ExportingDataSubStageStatus') # noqa: N806
11
+ ExportingDataSubStageStatus.objects.get_or_create(
12
+ key='PROCESS_ERROR',
13
+ title='Ошибка обработки витриной'
14
+ )
15
+
16
+
17
+ class Migration(migrations.Migration):
18
+
19
+ dependencies = [
20
+ ('edu_rdm_integration', '0014_uploaddatacommand'),
21
+ ]
22
+
23
+ operations = [
24
+ migrations.RunPython(add_exporting_data_sub_stage_status, reverse_code=migrations.RunPython.noop),
25
+ ]
@@ -18,13 +18,13 @@ from django.db.models import (
18
18
  DateTimeField,
19
19
  FileField,
20
20
  ForeignKey,
21
+ JSONField,
21
22
  Manager,
22
23
  OneToOneField,
23
24
  PositiveIntegerField,
24
25
  PositiveSmallIntegerField,
25
26
  SmallIntegerField,
26
27
  UUIDField,
27
- JSONField,
28
28
  )
29
29
  from django.utils import (
30
30
  timezone,
@@ -370,6 +370,9 @@ class ExportingDataSubStageStatus(TitledModelEnum):
370
370
  READY_FOR_EXPORT = ModelEnumValue(
371
371
  title='Готов к выгрузке',
372
372
  )
373
+ PROCESS_ERROR = ModelEnumValue(
374
+ title='Ошибка обработки витриной'
375
+ )
373
376
 
374
377
  class Meta:
375
378
  db_table = 'rdm_exporting_data_sub_stage_status'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edu-rdm-integration
3
- Version: 3.5.5
3
+ Version: 3.5.6
4
4
  Summary: Интеграция с Региональной витриной данных
5
5
  Home-page:
6
6
  Download-URL:
@@ -31,7 +31,7 @@ Requires-Dist: educommon<4,>=3.11.0
31
31
  Requires-Dist: function-tools<1,>=0.9.0
32
32
  Requires-Dist: m3-db-utils<1,>=0.3.10
33
33
  Requires-Dist: m3-django-compat<2,>=1.10.2
34
- Requires-Dist: uploader-client<1,>=0.2.1
34
+ Requires-Dist: uploader-client<1,>=0.2.3
35
35
 
36
36
  # Проект "Интеграция с Региональной витриной данных (РВД)"
37
37
 
@@ -300,6 +300,18 @@ Requires-Dist: uploader-client<1,>=0.2.1
300
300
 
301
301
  ### Удалено
302
302
 
303
+ ## [3.5.6] - 2025-02-20
304
+
305
+ Доработана отправка файлов в витрину - добавлена проверка статусов файла и новый статус `Ошибка обработки витриной` для
306
+ ExportingDataSubStageStatus. Доработана задача проверки статусов UploadStatusHelper.
307
+
308
+ ### Исправлено
309
+
310
+ - [EDUSCHL-22403](https://jira.bars.group/browse/EDUSCHL-22403)
311
+ PATCH Добавлен новый статус Ошибка обработки витриной для ExportingDataSubStageStatus. Добавлена проверка
312
+ статусов сразу после отправки файлов WorkerSender. Скорректирован статус UploadStatusHelper - при получении статусов
313
+ ошибки обработки витриной подэтап помечается как PROCESS_ERROR
314
+
303
315
 
304
316
  ## [3.5.5] - 2025-02-11
305
317
 
@@ -115,7 +115,7 @@ src/edu_rdm_integration/export_data/__init__.py
115
115
  src/edu_rdm_integration/export_data/consts.py
116
116
  src/edu_rdm_integration/export_data/dataclasses.py
117
117
  src/edu_rdm_integration/export_data/export.py
118
- src/edu_rdm_integration/export_data/export_manger.py
118
+ src/edu_rdm_integration/export_data/export_manager.py
119
119
  src/edu_rdm_integration/export_data/generators.py
120
120
  src/edu_rdm_integration/export_data/helpers.py
121
121
  src/edu_rdm_integration/export_data/queue.py
@@ -191,6 +191,7 @@ src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py
191
191
  src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py
192
192
  src/edu_rdm_integration/migrations/0013_set_attachment_size.py
193
193
  src/edu_rdm_integration/migrations/0014_uploaddatacommand.py
194
+ src/edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py
194
195
  src/edu_rdm_integration/migrations/__init__.py
195
196
  src/edu_rdm_integration/registry/__init__.py
196
197
  src/edu_rdm_integration/registry/actions.py
@@ -10,4 +10,4 @@ educommon<4,>=3.11.0
10
10
  function-tools<1,>=0.9.0
11
11
  m3-db-utils<1,>=0.3.10
12
12
  m3-django-compat<2,>=1.10.2
13
- uploader-client<1,>=0.2.1
13
+ uploader-client<1,>=0.2.3