edu-rdm-integration 3.11.1__tar.gz → 3.12.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of edu-rdm-integration might be problematic. Click here for more details.

Files changed (276) hide show
  1. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/CHANGELOG.md +28 -0
  2. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/PKG-INFO +2 -2
  3. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/pyproject.toml +1 -1
  4. edu_rdm_integration-3.12.0/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +12 -0
  5. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/consts.py +3 -0
  6. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/functions.py +21 -7
  7. edu_rdm_integration-3.12.0/src/edu_rdm_integration/stages/export_data/functions/base/tests.py +162 -0
  8. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/migrations/0002_auto_20250704_0810.py +0 -1
  9. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration.egg-info/PKG-INFO +2 -2
  10. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration.egg-info/requires.txt +1 -1
  11. edu_rdm_integration-3.11.1/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -22
  12. edu_rdm_integration-3.11.1/src/edu_rdm_integration/stages/export_data/functions/base/tests.py +0 -1
  13. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/CONDUCT.md +0 -0
  14. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/LICENSE +0 -0
  15. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/MANIFEST.in +0 -0
  16. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/README.md +0 -0
  17. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/setup.cfg +0 -0
  18. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/__init__.py +0 -0
  19. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/__init__.py +0 -0
  20. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/apps.py +0 -0
  21. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/caches.py +0 -0
  22. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/consts.py +0 -0
  23. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/enums.py +0 -0
  24. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/errors.py +0 -0
  25. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/functions.py +0 -0
  26. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/helpers.py +0 -0
  27. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/managers.py +0 -0
  28. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/presenters.py +0 -0
  29. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/receivers.py +0 -0
  30. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/results.py +0 -0
  31. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/runners.py +0 -0
  32. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/strategies.py +0 -0
  33. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/strings.py +0 -0
  34. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/tests.py +0 -0
  35. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/adapters/validators.py +0 -0
  36. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/apps.py +0 -0
  37. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
  38. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
  39. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +0 -0
  40. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +0 -0
  41. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/collect_and_export_data/migrations/0003_auto_20250704_0725.py +0 -0
  42. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/collect_and_export_data/migrations/__init__.py +0 -0
  43. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
  44. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/__init__.py +0 -0
  45. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/consts.py +0 -0
  46. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/enums.py +0 -0
  47. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/helpers.py +0 -0
  48. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/mapping.py +0 -0
  49. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/operations.py +0 -0
  50. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/redis_cache.py +0 -0
  51. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/registry/__init__.py +0 -0
  52. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/registry/actions.py +0 -0
  53. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/registry/apps.py +0 -0
  54. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/registry/templates/ui-js/start-task.js +0 -0
  55. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/registry/ui.py +0 -0
  56. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/signals.py +0 -0
  57. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/storages.py +0 -0
  58. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/typing.py +0 -0
  59. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/core/utils.py +0 -0
  60. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
  61. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -0
  62. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
  63. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
  64. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
  65. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
  66. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
  67. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
  68. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
  69. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
  70. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
  71. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
  72. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
  73. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +0 -0
  74. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +0 -0
  75. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +0 -0
  76. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/0018_auto_20250704_0725.py +0 -0
  77. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/migrations/__init__.py +0 -0
  78. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/models.py +0 -0
  79. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/__init__.py +0 -0
  80. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/__init__.py +0 -0
  81. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/actions.py +0 -0
  82. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/app_meta.py +0 -0
  83. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/apps.py +0 -0
  84. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/enums.py +0 -0
  85. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +0 -0
  86. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/migrations/__init__.py +0 -0
  87. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/mixins.py +0 -0
  88. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/models.py +0 -0
  89. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/tasks.py +0 -0
  90. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/templates/ui-js/transferred-entity-list.js +0 -0
  91. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/pipelines/transfer/ui.py +0 -0
  92. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_entities/__init__.py +0 -0
  93. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_entities/apps.py +0 -0
  94. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_entities/entities.py +0 -0
  95. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_entities/migrations/0001_initial.py +0 -0
  96. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_entities/migrations/0002_rename_regionaldatamartentityenum_rdmentityenum.py +0 -0
  97. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_entities/migrations/__init__.py +0 -0
  98. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_entities/mixins.py +0 -0
  99. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_entities/models.py +0 -0
  100. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_entities/utils.py +0 -0
  101. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_models/__init__.py +0 -0
  102. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_models/apps.py +0 -0
  103. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_models/migrations/0001_initial.py +0 -0
  104. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_models/migrations/0002_rename_regionaldatamartmodelenum_rdmmodelenum.py +0 -0
  105. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_models/migrations/__init__.py +0 -0
  106. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_models/mixins.py +0 -0
  107. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_models/models.py +0 -0
  108. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/rdm_models/utils.py +0 -0
  109. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/__init__.py +0 -0
  110. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/__init__.py +0 -0
  111. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/apps.py +0 -0
  112. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/consts.py +0 -0
  113. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/__init__.py +0 -0
  114. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/__init__.py-tpl +0 -0
  115. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/apps.py-tpl +0 -0
  116. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/caches.py-tpl +0 -0
  117. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/consts.py-tpl +0 -0
  118. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/enums.py-tpl +0 -0
  119. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/errors.py-tpl +0 -0
  120. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/functions.py-tpl +0 -0
  121. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/helpers.py-tpl +0 -0
  122. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/managers.py-tpl +0 -0
  123. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/presenters.py-tpl +0 -0
  124. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/results.py-tpl +0 -0
  125. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/runners.py-tpl +0 -0
  126. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/strings.py-tpl +0 -0
  127. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl +0 -0
  128. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/validators.py-tpl +0 -0
  129. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/__init__.py +0 -0
  130. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/base/__init__.py +0 -0
  131. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/base/caches.py +0 -0
  132. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/base/consts.py +0 -0
  133. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/base/functions.py +0 -0
  134. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/base/helpers.py +0 -0
  135. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/base/managers.py +0 -0
  136. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/base/mixins.py +0 -0
  137. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/base/runners.py +0 -0
  138. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py +0 -0
  139. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
  140. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py +0 -0
  141. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/consts.py +0 -0
  142. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/enums.py +0 -0
  143. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +0 -0
  144. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/functions.py +0 -0
  145. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +0 -0
  146. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +0 -0
  147. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py +0 -0
  148. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +0 -0
  149. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +0 -0
  150. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/strings.py +0 -0
  151. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/tests.py +0 -0
  152. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +0 -0
  153. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +0 -0
  154. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
  155. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
  156. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py +0 -0
  157. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/consts.py +0 -0
  158. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/enums.py +0 -0
  159. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +0 -0
  160. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/functions.py +0 -0
  161. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +0 -0
  162. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +0 -0
  163. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py +0 -0
  164. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +0 -0
  165. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +0 -0
  166. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/strings.py +0 -0
  167. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/tests.py +0 -0
  168. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +0 -0
  169. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py +0 -0
  170. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/generators.py +0 -0
  171. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/helpers.py +0 -0
  172. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
  173. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/management/base.py +0 -0
  174. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
  175. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_latest_models_data.py +0 -0
  176. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_models_data.py +0 -0
  177. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +0 -0
  178. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +0 -0
  179. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/migrations/0003_auto_20250704_0810.py +0 -0
  180. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/migrations/0004_auto_20250704_0825.py +0 -0
  181. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
  182. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/mixins.py +0 -0
  183. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/models.py +0 -0
  184. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/operations.py +0 -0
  185. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
  186. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/registry/actions.py +0 -0
  187. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/registry/apps.py +0 -0
  188. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/registry/ui.py +0 -0
  189. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/collect_data/tests.py +0 -0
  190. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/__init__.py +0 -0
  191. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/apps.py +0 -0
  192. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/consts.py +0 -0
  193. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
  194. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/__init__.py-tpl +0 -0
  195. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/apps.py-tpl +0 -0
  196. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/caches.py-tpl +0 -0
  197. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/consts.py-tpl +0 -0
  198. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/enums.py-tpl +0 -0
  199. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/errors.py-tpl +0 -0
  200. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/functions.py-tpl +0 -0
  201. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/helpers.py-tpl +0 -0
  202. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/managers.py-tpl +0 -0
  203. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/presenters.py-tpl +0 -0
  204. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/results.py-tpl +0 -0
  205. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl +0 -0
  206. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/strings.py-tpl +0 -0
  207. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/tests.py-tpl +0 -0
  208. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/validators.py-tpl +0 -0
  209. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
  210. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
  211. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/caches.py +0 -0
  212. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/enums.py +0 -0
  213. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/errors.py +0 -0
  214. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/helpers.py +0 -0
  215. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/managers.py +0 -0
  216. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/presenters.py +0 -0
  217. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/requests.py +0 -0
  218. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/results.py +0 -0
  219. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/runners.py +0 -0
  220. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/strings.py +0 -0
  221. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/functions/base/validators.py +0 -0
  222. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/generators.py +0 -0
  223. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/helpers.py +0 -0
  224. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
  225. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/management/base.py +0 -0
  226. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
  227. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/management/commands/export_entities_data.py +0 -0
  228. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/management/commands/export_latest_entities_data.py +0 -0
  229. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/migrations/0001_initial.py +0 -0
  230. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
  231. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/mixins.py +0 -0
  232. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/models.py +0 -0
  233. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/operations.py +0 -0
  234. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
  235. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/registry/actions.py +0 -0
  236. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/registry/apps.py +0 -0
  237. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/stage_for_export.js +0 -0
  238. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/registry/ui.py +0 -0
  239. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/export_data/strategies.py +0 -0
  240. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/service/__init__.py +0 -0
  241. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/service/apps.py +0 -0
  242. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/service/tasks.py +0 -0
  243. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/__init__.py +0 -0
  244. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/apps.py +0 -0
  245. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/consts.py +0 -0
  246. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/dataclasses.py +0 -0
  247. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/enums.py +0 -0
  248. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/export_managers.py +0 -0
  249. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/helpers.py +0 -0
  250. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/management/__init__.py +0 -0
  251. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/management/base.py +0 -0
  252. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/management/commands/__init__.py +0 -0
  253. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/management/commands/async_fix_attachment_size.py +0 -0
  254. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/management/commands/check_upload_status.py +0 -0
  255. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_status.py +0 -0
  256. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_upload.py +0 -0
  257. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +0 -0
  258. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/migrations/0002_auto_20250704_0810.py +0 -0
  259. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/migrations/__init__.py +0 -0
  260. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/models.py +0 -0
  261. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/operations.py +0 -0
  262. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/queues.py +0 -0
  263. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/tasks.py +0 -0
  264. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/__init__.py +0 -0
  265. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/actions.py +0 -0
  266. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/apps.py +0 -0
  267. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/enums.py +0 -0
  268. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/managers.py +0 -0
  269. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +0 -0
  270. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
  271. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/models.py +0 -0
  272. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js +0 -0
  273. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/ui.py +0 -0
  274. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration.egg-info/SOURCES.txt +0 -0
  275. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
  276. {edu_rdm_integration-3.11.1 → edu_rdm_integration-3.12.0}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
@@ -28,6 +28,34 @@
28
28
 
29
29
  ### Удалено
30
30
 
31
+ ## [3.12.0] - 2025-07-07
32
+
33
+ Доработка механизма экспорта данных в РВД. Признак успешного экспорта проставляется только тем записям,
34
+ которые действительно попадают в файл экспорта. Скорректирована базовая функция экспорта BaseExportDataFunction и
35
+ добавлены базовые классы для тестов экспорта.
36
+
37
+ Для корректной работы, необходимо скорректировать сущности РВД (дата-классы, унаследованные от BaseEntity) -
38
+ убрать поле id - сейчас оно является обязательным. Соответственно на стороне продуктов нужно доработать кеши экспорта -
39
+ обязательно должно выгружаться поле id.
40
+ Для корректного проставления экспорта для составных моделей или моделей, у которых id для витрины формируется
41
+ динамически - необходимо переопределить свойство _models_unique_id - поле по которому будут фильтроваться записи на
42
+ проставление подэтапа
43
+
44
+ ### Изменено
45
+
46
+ - [EDUSCHL-23347](https://jira.bars.group/browse/EDUSCHL-23347)
47
+ MINOR Доработка механизма экспорта данных в РВД - изменена логика проставления экспорта в BaseExportDataFunction
48
+
49
+
50
+ ## [3.11.2] - 2025-07-08
51
+
52
+ Изменения в зависимостях между миграциями для составления корректной истории.
53
+
54
+ ### Изменено
55
+
56
+ - [EDUDEVOPS-88](https://jira.bars.group/browse/EDUDEVOPS-88)
57
+ PATCH Изменения в зависимостях между миграциями для составления корректной истории.
58
+
31
59
 
32
60
  ## [3.11.1] - 2025-07-04
33
61
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edu-rdm-integration
3
- Version: 3.11.1
3
+ Version: 3.12.0
4
4
  Summary: Интеграция с Региональной витриной данных
5
5
  Author-email: BARS Group <education_dev@bars.group>
6
6
  Project-URL: Homepage, https://stash.bars-open.ru/projects/EDUBASE/repos/edu-rdm-integration/browse
@@ -25,7 +25,7 @@ Requires-Dist: transliterate<2
25
25
  Requires-Dist: Django<5.0,>=3.1
26
26
  Requires-Dist: celery<5.3,>=4.4.7
27
27
  Requires-Dist: asyncpg==0.23.0
28
- Requires-Dist: educommon<4,>=3.11.0
28
+ Requires-Dist: educommon<4,>=3.21.0
29
29
  Requires-Dist: function-tools<1,>=0.9.0
30
30
  Requires-Dist: m3-db-utils<1,>=0.3.10
31
31
  Requires-Dist: m3-django-compat<2,>=1.10.2
@@ -22,7 +22,7 @@ dependencies = [
22
22
  'Django>=3.1,<5.0',
23
23
  'celery>=4.4.7,<5.3',
24
24
  'asyncpg==0.23.0',
25
- 'educommon>=3.11.0,<4',
25
+ 'educommon>=3.21.0,<4',
26
26
  'function-tools>=0.9.0,<1',
27
27
  'm3-db-utils>=0.3.10,<1',
28
28
  'm3-django-compat>=1.10.2,<2',
@@ -0,0 +1,12 @@
1
+ # flake8: noqa
2
+ from django.db import (
3
+ migrations,
4
+ )
5
+
6
+
7
+ class Migration(migrations.Migration):
8
+ dependencies = [
9
+ ('edu_rdm_integration', '0001_initial'),
10
+ ]
11
+
12
+ operations = []
@@ -18,3 +18,6 @@ OPERATIONS_URLS_MAP = {
18
18
  EntityLogOperation.UPDATE: 'upload',
19
19
  EntityLogOperation.DELETE: 'delete',
20
20
  }
21
+
22
+
23
+ TEST_DIR = 'test_data'
@@ -72,11 +72,6 @@ class BaseExportDataFunction(
72
72
  RDMExportingDataSubStageEntity.objects.create(
73
73
  exporting_data_sub_stage=self._sub_stage, entity_id=self.first_entity.key
74
74
  )
75
- # Проставление подэтапа выгрузки
76
- self.entities[0].main_model_enum.model.objects.filter(pk__in=model_ids).update(
77
- exporting_sub_stage=self._sub_stage,
78
- )
79
-
80
75
  self._chunk_index = kwargs.get('chunk_index')
81
76
 
82
77
  logger.info(f'{LOGS_DELIMITER * 3}{repr(self._sub_stage)} created.')
@@ -90,6 +85,13 @@ class BaseExportDataFunction(
90
85
  }
91
86
 
92
87
  self.has_data = False
88
+ # Id записей моделей РВД, которые в итоге попали в файл
89
+ self.exported_to_file_model_ids = set()
90
+
91
+ @property
92
+ def _models_unique_id(self) -> str:
93
+ """Возвращает название уникального идентификатора записи модели рвд."""
94
+ return 'id'
93
95
 
94
96
  def _prepare_helper_class(self) -> type[BaseExportDataFunctionHelper]:
95
97
  """Возвращает класс помощника функции."""
@@ -141,8 +143,9 @@ class BaseExportDataFunction(
141
143
  entity_instance=entity_instance,
142
144
  )
143
145
  )
144
-
145
- entity_instance.exporting_sub_stage = self._sub_stage
146
+ entity_instance_id = getattr(entity_instance, self._models_unique_id, None)
147
+ if entity_instance_id:
148
+ self.exported_to_file_model_ids.add(entity_instance_id)
146
149
 
147
150
  for operation in EntityLogOperation.values.keys():
148
151
  entities = self._data.get(operation)
@@ -217,9 +220,20 @@ class BaseExportDataFunction(
217
220
  if not self.has_data
218
221
  else RDMExportingDataSubStageStatus.READY_FOR_EXPORT.key
219
222
  )
223
+ # Проставление подэтапа выгрузки
224
+ if self.exported_to_file_model_ids:
225
+ self.entities[0].main_model_enum.model.objects.filter(pk__in=self.exported_to_file_model_ids).update(
226
+ exporting_sub_stage=self._sub_stage,
227
+ )
228
+
220
229
  else:
221
230
  self._sub_stage.status_id = RDMExportingDataSubStageStatus.FAILED.key
222
231
 
223
232
  self._sub_stage.save()
224
233
 
225
234
  logger.info(f'{LOGS_DELIMITER * 3}change status {repr(self._sub_stage)}')
235
+
236
+ def get_function_data(self):
237
+ """Возвращает словарь с данными сущностей подготовленных к выгрузке."""
238
+ return self._data
239
+
@@ -0,0 +1,162 @@
1
+ # Реализуйте свои unit-тесты здесь
2
+ import datetime
3
+ import shutil
4
+ from typing import (
5
+ TYPE_CHECKING,
6
+ )
7
+
8
+ from django.conf import (
9
+ settings,
10
+ )
11
+ from django.test import (
12
+ TestCase,
13
+ override_settings,
14
+ )
15
+ from django.utils import (
16
+ timezone,
17
+ )
18
+
19
+ from function_tools.models import (
20
+ Entity,
21
+ EntityType,
22
+ )
23
+
24
+ from edu_rdm_integration.core.consts import (
25
+ REGIONAL_DATA_MART_INTEGRATION_COLLECTING_DATA,
26
+ REGIONAL_DATA_MART_INTEGRATION_EXPORTING_DATA,
27
+ )
28
+ from edu_rdm_integration.stages.collect_data.models import (
29
+ CollectingExportedDataStage,
30
+ CollectingExportedDataSubStage,
31
+ )
32
+ from edu_rdm_integration.stages.export_data.functions.base.consts import (
33
+ TEST_DIR,
34
+ )
35
+ from edu_rdm_integration.stages.export_data.models import (
36
+ ExportingDataStage,
37
+ ExportingDataSubStage,
38
+ )
39
+
40
+
41
+ if TYPE_CHECKING:
42
+ from function_tools.managers import (
43
+ RunnerManager,
44
+ )
45
+
46
+ from edu_rdm_integration.stages.export_data.functions.base.functions import (
47
+ BaseExportDataFunction,
48
+ )
49
+
50
+
51
+ class BaseExportTestCase(TestCase):
52
+ """Базовый тест экспорта сущности РВД."""
53
+
54
+ databases = (settings.DEFAULT_DB_ALIAS, settings.SERVICE_DB_ALIAS)
55
+
56
+ def setUp(self) -> None:
57
+ """Подготавливает фикстуры."""
58
+ self.now = timezone.now()
59
+
60
+ self.export_period_started_at = datetime.datetime.combine(self.now, datetime.time.min)
61
+ self.export_period_ended_at = datetime.datetime.combine(self.now, datetime.time.max)
62
+
63
+ def create_sub_stage(self, *class_names: str) -> CollectingExportedDataSubStage:
64
+ """Создает подэтап сбора данных."""
65
+ function_tools_entities = dict(
66
+ Entity.objects.filter(
67
+ type__in=(EntityType.MANAGER.key, EntityType.FUNCTION.key),
68
+ tags__contains=[REGIONAL_DATA_MART_INTEGRATION_COLLECTING_DATA],
69
+ class_name__in=class_names,
70
+ ).values_list('type', 'uuid'),
71
+ )
72
+ stage = CollectingExportedDataStage.objects.create(
73
+ manager_id=function_tools_entities[EntityType.MANAGER.key],
74
+ )
75
+
76
+ return CollectingExportedDataSubStage.objects.create(
77
+ function_id=function_tools_entities[EntityType.FUNCTION.key],
78
+ stage=stage,
79
+ )
80
+
81
+ @classmethod
82
+ def tearDownClass(cls) -> None:
83
+ try:
84
+ shutil.rmtree(TEST_DIR)
85
+ except OSError:
86
+ pass
87
+
88
+ super().tearDownClass()
89
+
90
+
91
+ class BaseExportManagerTestCase(BaseExportTestCase):
92
+ """Базовый тест менеджера экспорта сущности РВД."""
93
+
94
+ @property
95
+ def manager(self) -> type['RunnerManager']:
96
+ """Менеджер раннера Функции экспорта'."""
97
+ raise NotImplementedError
98
+
99
+ @override_settings(MEDIA_ROOT=(TEST_DIR + '/media'))
100
+ def run_exporting_manager(self) -> None:
101
+ """Запускает менеджер экспорта."""
102
+ runner_manager = self.manager(
103
+ period_started_at=self.export_period_started_at,
104
+ period_ended_at=self.export_period_ended_at,
105
+ )
106
+ runner_manager.run()
107
+
108
+ def get_exporting_stage_sub_stage(self, *class_names) -> tuple[ExportingDataStage, ExportingDataSubStage]:
109
+ """Возвращает этап и подэтап экспорта."""
110
+ function_tools_entities = dict(
111
+ Entity.objects.filter(
112
+ type__in=(EntityType.MANAGER.key, EntityType.FUNCTION.key),
113
+ tags__contains=[REGIONAL_DATA_MART_INTEGRATION_EXPORTING_DATA],
114
+ class_name__in=class_names,
115
+ ).values_list('type', 'uuid'),
116
+ )
117
+ exported_data_stage = ExportingDataStage.objects.filter(
118
+ manager_id=function_tools_entities[EntityType.MANAGER.key],
119
+ period_started_at=self.export_period_started_at,
120
+ period_ended_at=self.export_period_ended_at,
121
+ ).first()
122
+ exported_data_substage = ExportingDataSubStage.objects.filter(
123
+ function_id=function_tools_entities[EntityType.FUNCTION.key],
124
+ stage=exported_data_stage
125
+ ).first()
126
+
127
+ return exported_data_stage, exported_data_substage
128
+
129
+
130
+ class BaseExportFunctionTestCase(BaseExportTestCase):
131
+ """Базовый тест менеджера экспорта сущности РВД."""
132
+
133
+ @property
134
+ def export_function(self) -> type['BaseExportDataFunction']:
135
+ """Функция экспорта."""
136
+ raise NotImplementedError
137
+
138
+ def create_exporting_stage(self, *class_names: str) -> ExportingDataStage:
139
+ """Создает этап экспорта данных."""
140
+ function_tools_entities = dict(
141
+ Entity.objects.filter(
142
+ type__in=(EntityType.MANAGER.key, EntityType.FUNCTION.key),
143
+ tags__contains=[REGIONAL_DATA_MART_INTEGRATION_EXPORTING_DATA],
144
+ class_name__in=class_names,
145
+ ).values_list('type', 'uuid'),
146
+ )
147
+ return ExportingDataStage.objects.create(
148
+ manager_id=function_tools_entities[EntityType.MANAGER.key],
149
+ period_started_at=self.export_period_started_at,
150
+ period_ended_at=self.export_period_ended_at,
151
+ )
152
+
153
+ @override_settings(MEDIA_ROOT=(TEST_DIR + '/media'))
154
+ def run_exporting_function(self, exporting_stage: ExportingDataStage, model_ids: list[int]) -> dict:
155
+ """Запускает функцию экспорта."""
156
+ exporting_function = self.export_function(
157
+ stage=exporting_stage,
158
+ model_ids=model_ids
159
+ )
160
+ exporting_function.run()
161
+
162
+ return exporting_function.get_function_data()
@@ -10,7 +10,6 @@ class Migration(migrations.Migration):
10
10
  ('function_tools', '0005_auto_20220724_0050'),
11
11
  ('edu_rdm_integration_upload_data_stage', '0001_initial'),
12
12
  ('async_task', '0003_alter_runningtask_options'),
13
- ('regional_data_mart_integration', '0163_auto_20250704_0725'),
14
13
  ('edu_rdm_integration_entities', '0002_rename_regionaldatamartentityenum_rdmentityenum'),
15
14
  ('edu_rdm_integration_export_data_stage', '0001_initial'),
16
15
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edu-rdm-integration
3
- Version: 3.11.1
3
+ Version: 3.12.0
4
4
  Summary: Интеграция с Региональной витриной данных
5
5
  Author-email: BARS Group <education_dev@bars.group>
6
6
  Project-URL: Homepage, https://stash.bars-open.ru/projects/EDUBASE/repos/edu-rdm-integration/browse
@@ -25,7 +25,7 @@ Requires-Dist: transliterate<2
25
25
  Requires-Dist: Django<5.0,>=3.1
26
26
  Requires-Dist: celery<5.3,>=4.4.7
27
27
  Requires-Dist: asyncpg==0.23.0
28
- Requires-Dist: educommon<4,>=3.11.0
28
+ Requires-Dist: educommon<4,>=3.21.0
29
29
  Requires-Dist: function-tools<1,>=0.9.0
30
30
  Requires-Dist: m3-db-utils<1,>=0.3.10
31
31
  Requires-Dist: m3-django-compat<2,>=1.10.2
@@ -2,7 +2,7 @@ transliterate<2
2
2
  Django<5.0,>=3.1
3
3
  celery<5.3,>=4.4.7
4
4
  asyncpg==0.23.0
5
- educommon<4,>=3.11.0
5
+ educommon<4,>=3.21.0
6
6
  function-tools<1,>=0.9.0
7
7
  m3-db-utils<1,>=0.3.10
8
8
  m3-django-compat<2,>=1.10.2
@@ -1,22 +0,0 @@
1
- # flake8: noqa
2
- from django.db import (
3
- migrations,
4
- )
5
-
6
-
7
- def load_initial_data(apps, schema_editor):
8
- # Вместо модели UploadStatus создана модель-перечисление DataMartRequestStatus (см. миграцию 0004)
9
- pass
10
-
11
-
12
- def delete_all_data(apps, schema_editor):
13
- """Удаление всех данных из модели UploadStatus при откате миграции."""
14
- apps.get_model('regional_data_mart_integration', 'UploadStatus').objects.all().delete()
15
-
16
-
17
- class Migration(migrations.Migration):
18
- dependencies = [
19
- ('edu_rdm_integration', '0001_initial'),
20
- ]
21
-
22
- operations = [migrations.RunPython(load_initial_data, reverse_code=delete_all_data)]
@@ -1 +0,0 @@
1
- # Реализуйте свои unit-тесты здесь