edu-rdm-integration 3.18.3__tar.gz → 3.18.5__tar.gz

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

Potentially problematic release.


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

Files changed (269) hide show
  1. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/CHANGELOG.md +59 -0
  2. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/PKG-INFO +11 -1
  3. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/README.md +10 -0
  4. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/utils.py +0 -4
  5. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/rdm_cleanup_outdated_data.py +31 -2
  6. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/service/model_outdated_data/cleaners.py +10 -1
  7. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/service/model_outdated_data/managers.py +11 -2
  8. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration.egg-info/PKG-INFO +11 -1
  9. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/CONDUCT.md +0 -0
  10. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/LICENSE +0 -0
  11. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/MANIFEST.in +0 -0
  12. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/pyproject.toml +0 -0
  13. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/setup.cfg +0 -0
  14. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/__init__.py +0 -0
  15. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/apps.py +0 -0
  16. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
  17. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
  18. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +0 -0
  19. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +0 -0
  20. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/collect_and_export_data/migrations/0003_auto_20250704_0725.py +0 -0
  21. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/collect_and_export_data/migrations/__init__.py +0 -0
  22. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
  23. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/__init__.py +0 -0
  24. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/consts.py +0 -0
  25. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/enums.py +0 -0
  26. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/helpers.py +0 -0
  27. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/mapping.py +0 -0
  28. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/operations.py +0 -0
  29. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/redis_cache.py +0 -0
  30. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/registry/__init__.py +0 -0
  31. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/registry/actions.py +0 -0
  32. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/registry/apps.py +0 -0
  33. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/registry/templates/ui-js/start-task.js +0 -0
  34. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/registry/ui.py +0 -0
  35. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/signals.py +0 -0
  36. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/storages.py +0 -0
  37. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/core/typing.py +0 -0
  38. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
  39. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
  40. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -0
  41. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
  42. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
  43. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
  44. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
  45. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
  46. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
  47. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
  48. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
  49. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
  50. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
  51. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
  52. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +0 -0
  53. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +0 -0
  54. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +0 -0
  55. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/0018_auto_20250704_0725.py +0 -0
  56. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/migrations/__init__.py +0 -0
  57. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/models.py +0 -0
  58. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/__init__.py +0 -0
  59. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/__init__.py +0 -0
  60. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/apps.py +0 -0
  61. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/__init__.py +0 -0
  62. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/__init__.py +0 -0
  63. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/__init__.py +0 -0
  64. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/actions.py +0 -0
  65. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/app_meta.py +0 -0
  66. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/apps.py +0 -0
  67. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/enums.py +0 -0
  68. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +0 -0
  69. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/migrations/__init__.py +0 -0
  70. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/mixins.py +0 -0
  71. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/models.py +0 -0
  72. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/tasks.py +0 -0
  73. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/templates/ui-js/transferred-entity-list.js +0 -0
  74. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/pipelines/transfer/ui.py +0 -0
  75. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_entities/__init__.py +0 -0
  76. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_entities/apps.py +0 -0
  77. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_entities/entities.py +0 -0
  78. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_entities/migrations/0001_initial.py +0 -0
  79. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_entities/migrations/0002_rename_regionaldatamartentityenum_rdmentityenum.py +0 -0
  80. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_entities/migrations/__init__.py +0 -0
  81. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_entities/mixins.py +0 -0
  82. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_entities/models.py +0 -0
  83. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_entities/utils.py +0 -0
  84. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_models/__init__.py +0 -0
  85. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_models/apps.py +0 -0
  86. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_models/migrations/0001_initial.py +0 -0
  87. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_models/migrations/0002_rename_regionaldatamartmodelenum_rdmmodelenum.py +0 -0
  88. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_models/migrations/__init__.py +0 -0
  89. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_models/mixins.py +0 -0
  90. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_models/models.py +0 -0
  91. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/rdm_models/utils.py +0 -0
  92. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/__init__.py +0 -0
  93. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/__init__.py +0 -0
  94. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/apps.py +0 -0
  95. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/consts.py +0 -0
  96. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/__init__.py +0 -0
  97. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/__init__.py-tpl +0 -0
  98. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/apps.py-tpl +0 -0
  99. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/caches.py-tpl +0 -0
  100. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/consts.py-tpl +0 -0
  101. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/enums.py-tpl +0 -0
  102. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/errors.py-tpl +0 -0
  103. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/functions.py-tpl +0 -0
  104. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/helpers.py-tpl +0 -0
  105. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/managers.py-tpl +0 -0
  106. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/presenters.py-tpl +0 -0
  107. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/results.py-tpl +0 -0
  108. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/runners.py-tpl +0 -0
  109. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/strings.py-tpl +0 -0
  110. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl +0 -0
  111. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/validators.py-tpl +0 -0
  112. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/__init__.py +0 -0
  113. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/base/__init__.py +0 -0
  114. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/base/caches.py +0 -0
  115. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/base/consts.py +0 -0
  116. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/base/functions.py +0 -0
  117. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/base/helpers.py +0 -0
  118. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/base/managers.py +0 -0
  119. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/base/mixins.py +0 -0
  120. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/base/runners.py +0 -0
  121. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py +0 -0
  122. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
  123. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py +0 -0
  124. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/consts.py +0 -0
  125. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/enums.py +0 -0
  126. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +0 -0
  127. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/functions.py +0 -0
  128. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +0 -0
  129. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +0 -0
  130. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py +0 -0
  131. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +0 -0
  132. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +0 -0
  133. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/strings.py +0 -0
  134. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/tests.py +0 -0
  135. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +0 -0
  136. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +0 -0
  137. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
  138. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
  139. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py +0 -0
  140. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/consts.py +0 -0
  141. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/enums.py +0 -0
  142. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +0 -0
  143. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/functions.py +0 -0
  144. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +0 -0
  145. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +0 -0
  146. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py +0 -0
  147. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +0 -0
  148. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +0 -0
  149. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/strings.py +0 -0
  150. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/tests.py +0 -0
  151. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +0 -0
  152. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py +0 -0
  153. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/generators.py +0 -0
  154. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/helpers.py +0 -0
  155. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
  156. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/management/base.py +0 -0
  157. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
  158. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_latest_models_data.py +0 -0
  159. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_models_data.py +0 -0
  160. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +0 -0
  161. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +0 -0
  162. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/migrations/0003_auto_20250704_0810.py +0 -0
  163. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/migrations/0004_auto_20250704_0825.py +0 -0
  164. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
  165. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/mixins.py +0 -0
  166. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/models.py +0 -0
  167. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/operations.py +0 -0
  168. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
  169. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/registry/actions.py +0 -0
  170. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/registry/apps.py +0 -0
  171. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js +0 -0
  172. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js +0 -0
  173. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/registry/ui.py +0 -0
  174. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/collect_data/tests.py +0 -0
  175. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/__init__.py +0 -0
  176. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/apps.py +0 -0
  177. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/consts.py +0 -0
  178. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
  179. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/__init__.py-tpl +0 -0
  180. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/apps.py-tpl +0 -0
  181. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/caches.py-tpl +0 -0
  182. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/consts.py-tpl +0 -0
  183. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/enums.py-tpl +0 -0
  184. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/errors.py-tpl +0 -0
  185. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/functions.py-tpl +0 -0
  186. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/helpers.py-tpl +0 -0
  187. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/managers.py-tpl +0 -0
  188. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/presenters.py-tpl +0 -0
  189. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/results.py-tpl +0 -0
  190. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl +0 -0
  191. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/strings.py-tpl +0 -0
  192. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/tests.py-tpl +0 -0
  193. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/validators.py-tpl +0 -0
  194. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
  195. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
  196. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/caches.py +0 -0
  197. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/consts.py +0 -0
  198. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/enums.py +0 -0
  199. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/errors.py +0 -0
  200. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/functions.py +0 -0
  201. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/helpers.py +0 -0
  202. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/managers.py +0 -0
  203. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/presenters.py +0 -0
  204. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/requests.py +0 -0
  205. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/results.py +0 -0
  206. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/runners.py +0 -0
  207. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/strings.py +0 -0
  208. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/tests.py +0 -0
  209. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/functions/base/validators.py +0 -0
  210. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/generators.py +0 -0
  211. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/helpers.py +0 -0
  212. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
  213. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/management/base.py +0 -0
  214. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
  215. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/management/commands/export_entities_data.py +0 -0
  216. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/management/commands/export_latest_entities_data.py +0 -0
  217. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/migrations/0001_initial.py +0 -0
  218. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/migrations/0002_auto_20250704_0810.py +0 -0
  219. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
  220. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/mixins.py +0 -0
  221. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/models.py +0 -0
  222. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/operations.py +0 -0
  223. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
  224. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/registry/actions.py +0 -0
  225. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/registry/apps.py +0 -0
  226. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js +0 -0
  227. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/stage_for_export.js +0 -0
  228. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/registry/ui.py +0 -0
  229. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/export_data/strategies.py +0 -0
  230. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/service/__init__.py +0 -0
  231. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/service/apps.py +0 -0
  232. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/service/model_outdated_data/__init__.py +0 -0
  233. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/service/service_outdated_data/__init__.py +0 -0
  234. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/service/tasks.py +0 -0
  235. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/__init__.py +0 -0
  236. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/apps.py +0 -0
  237. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/consts.py +0 -0
  238. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/dataclasses.py +0 -0
  239. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/enums.py +0 -0
  240. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/export_managers.py +0 -0
  241. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/helpers.py +0 -0
  242. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/management/__init__.py +0 -0
  243. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/management/base.py +0 -0
  244. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/management/commands/__init__.py +0 -0
  245. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/management/commands/async_fix_attachment_size.py +0 -0
  246. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/management/commands/check_upload_status.py +0 -0
  247. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_status.py +0 -0
  248. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_upload.py +0 -0
  249. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +0 -0
  250. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/migrations/0002_auto_20250704_0810.py +0 -0
  251. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/migrations/__init__.py +0 -0
  252. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/models.py +0 -0
  253. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/operations.py +0 -0
  254. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/queues.py +0 -0
  255. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/tasks.py +0 -0
  256. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/uploader_log/__init__.py +0 -0
  257. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/uploader_log/actions.py +0 -0
  258. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/uploader_log/apps.py +0 -0
  259. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/uploader_log/enums.py +0 -0
  260. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/uploader_log/managers.py +0 -0
  261. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +0 -0
  262. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
  263. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/uploader_log/models.py +0 -0
  264. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js +0 -0
  265. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration/stages/upload_data/uploader_log/ui.py +0 -0
  266. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration.egg-info/SOURCES.txt +0 -0
  267. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
  268. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration.egg-info/requires.txt +0 -0
  269. {edu_rdm_integration-3.18.3 → edu_rdm_integration-3.18.5}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
@@ -29,6 +29,62 @@
29
29
  ### Удалено
30
30
 
31
31
 
32
+ ## [3.18.5] - 2025-09-19
33
+
34
+ Добавлена возможность отключения зачистки устаревших данных моделей РВД.
35
+
36
+ Добавлены новые настройки
37
+
38
+ | Название настройки в settings | Описание | Значение по умолчанию |
39
+ |-----------------------------------------|--------------------------------------------------|-----------------------|
40
+ | RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
41
+
42
+ В settings.py:
43
+
44
+ - Добавить значение по умолчанию:
45
+ ```
46
+ PROJECT_DEFAULT_CONFIG.update({
47
+ ...
48
+ ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA'): False,
49
+ ...
50
+ })
51
+ ```
52
+
53
+ - Получить значение настройки из конфигурационного файла:
54
+ ```
55
+ # Включить зачистку устаревших данных моделей РВД
56
+ RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
57
+ ```
58
+
59
+ В дефолтный конфиг проекта необходимо добавить:
60
+
61
+ ```
62
+ # Настройка зачистки устаревших данных
63
+ [rdm_cleanup_outdated_data]
64
+ # Включить зачистку устаревших данных моделей РВД
65
+ ENABLE_CLEANUP_MODELS_OUTDATED_DATA = False
66
+ ```
67
+
68
+ ### Добавлено
69
+
70
+ - [EDUSCHL-23942](https://jira.bars.group/browse/EDUSCHL-23942)
71
+ PATCH Добавлена возможность отключения зачистки устаревших данных моделей РВД.
72
+
73
+
74
+ ## [3.18.4] - 2025-09-16
75
+
76
+ Добавлены параметры `safe` и `log_sql` в команду `rdm_cleanup_outdated_data` для запуска команды в безопасном режиме
77
+ без выполнения запросов в БД и логирования формируемых sql-запросов.
78
+
79
+ ### Добавлено
80
+
81
+ - [EDUSCHL-23942](https://jira.bars.group/browse/EDUSCHL-23942)
82
+ PATCH Добавлена возможность запуска команды `rdm_cleanup_outdated_data` в безопасном режиме.
83
+
84
+ - [EDUSCHL-23942](https://jira.bars.group/browse/EDUSCHL-23942)
85
+ PATCH Добавлена возможность запуска команды `rdm_cleanup_outdated_data` с логированием формируемых sql-запросов.
86
+
87
+
32
88
  ## [3.18.3] - 2025-09-15
33
89
 
34
90
  Добавлена возможность указания модели РВД для зачистки устаревших данных. Потребовалось при тестировании функционала.
@@ -54,6 +110,9 @@
54
110
 
55
111
  Доработки модели перечисления RDMModelEnum для расширения функционала механизма зачистки устаревших данных моделей РВД.
56
112
 
113
+ У всех моделей РВД, которые являются основными для сущности необходимо заменить базовый класс на
114
+ `edu_rdm_integration.rdm_models.models.BaseMainRDMModel`.
115
+
57
116
  ### Добавлено
58
117
 
59
118
  - [EDUDEVOPS-94](https://jira.bars.group/browse/EDUDEVOPS-94)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edu-rdm-integration
3
- Version: 3.18.3
3
+ Version: 3.18.5
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
@@ -197,6 +197,7 @@ INSTALLED_APPS = (
197
197
  ('uploader_client', 'ORGANIZATION_OGRN'): '',
198
198
  ('uploader_client', 'INSTALLATION_NAME'): '',
199
199
  ('uploader_client', 'INSTALLATION_ID'): '',
200
+ ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA'): False,
200
201
  })
201
202
  ```
202
203
  - Получение значений настроек из конфигурационного файла в settings.py:
@@ -309,6 +310,9 @@ INSTALLED_APPS = (
309
310
  # Директория логов отправки данных в витрину, доступных для скачивания
310
311
  RDM_UPLOAD_LOG_DIR = os.path.join('logs', 'rdm', 'upload')
311
312
  os.makedirs(os.path.join(MEDIA_ROOT, RDM_UPLOAD_LOG_DIR), exist_ok=True)
313
+
314
+ # Включить зачистку устаревших данных моделей РВД
315
+ RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
312
316
  ```
313
317
 
314
318
  Перечень настроек в settings.py указан в таблице ниже.
@@ -368,6 +372,7 @@ INSTALLED_APPS = (
368
372
  | RDM_COLLECT_LOG_DIR | Директория логов сбора данных, доступных для скачивания | |
369
373
  | RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
370
374
  | RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
375
+ | RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
371
376
 
372
377
  - В дефолтный конфиг проекта необходимо добавить:
373
378
 
@@ -463,6 +468,11 @@ INSTALLED_APPS = (
463
468
  INSTALLATION_NAME =
464
469
  # Идентификатор инсталляции в целевой Витрине
465
470
  INSTALLATION_ID =
471
+
472
+ # Настройка зачистки устаревших данных
473
+ [rdm_cleanup_outdated_data]
474
+ # Включить зачистку устаревших данных моделей РВД
475
+ ENABLE_CLEANUP_MODELS_OUTDATED_DATA = False
466
476
  ```
467
477
  На основе дефолтного конфига произвести конфигурирование приложений.
468
478
 
@@ -149,6 +149,7 @@ INSTALLED_APPS = (
149
149
  ('uploader_client', 'ORGANIZATION_OGRN'): '',
150
150
  ('uploader_client', 'INSTALLATION_NAME'): '',
151
151
  ('uploader_client', 'INSTALLATION_ID'): '',
152
+ ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA'): False,
152
153
  })
153
154
  ```
154
155
  - Получение значений настроек из конфигурационного файла в settings.py:
@@ -261,6 +262,9 @@ INSTALLED_APPS = (
261
262
  # Директория логов отправки данных в витрину, доступных для скачивания
262
263
  RDM_UPLOAD_LOG_DIR = os.path.join('logs', 'rdm', 'upload')
263
264
  os.makedirs(os.path.join(MEDIA_ROOT, RDM_UPLOAD_LOG_DIR), exist_ok=True)
265
+
266
+ # Включить зачистку устаревших данных моделей РВД
267
+ RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
264
268
  ```
265
269
 
266
270
  Перечень настроек в settings.py указан в таблице ниже.
@@ -320,6 +324,7 @@ INSTALLED_APPS = (
320
324
  | RDM_COLLECT_LOG_DIR | Директория логов сбора данных, доступных для скачивания | |
321
325
  | RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
322
326
  | RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
327
+ | RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
323
328
 
324
329
  - В дефолтный конфиг проекта необходимо добавить:
325
330
 
@@ -415,6 +420,11 @@ INSTALLED_APPS = (
415
420
  INSTALLATION_NAME =
416
421
  # Идентификатор инсталляции в целевой Витрине
417
422
  INSTALLATION_ID =
423
+
424
+ # Настройка зачистки устаревших данных
425
+ [rdm_cleanup_outdated_data]
426
+ # Включить зачистку устаревших данных моделей РВД
427
+ ENABLE_CLEANUP_MODELS_OUTDATED_DATA = False
418
428
  ```
419
429
  На основе дефолтного конфига произвести конфигурирование приложений.
420
430
 
@@ -11,9 +11,6 @@ from typing import (
11
11
  Union,
12
12
  )
13
13
 
14
- from _operator import (
15
- attrgetter,
16
- )
17
14
  from django.conf import (
18
15
  settings,
19
16
  )
@@ -58,7 +55,6 @@ def register_classes(classes: Iterable[type[BaseEnumRegisterMixin]]) -> None:
58
55
  Args:
59
56
  classes: Классы, поддерживающие интерфейс регистрации.
60
57
  """
61
-
62
58
  for enum_class in classes:
63
59
  enum_class.register()
64
60
 
@@ -1,3 +1,6 @@
1
+ from django.conf import (
2
+ settings,
3
+ )
1
4
  from django.core.management import (
2
5
  BaseCommand,
3
6
  )
@@ -18,6 +21,7 @@ class Command(BaseCommand):
18
21
  help = 'Ночная команда для очистки устаревших данных РВД.'
19
22
 
20
23
  def add_arguments(self, parser):
24
+ """Добавляет аргументы командной строки."""
21
25
  models = ', '.join(f'{key} - {value.title}' for key, value in RDMModelEnum.get_enum_data().items())
22
26
  models_help_text = (
23
27
  f'Значением параметра является перечисление моделей РВД, для которых должна быть произведена зачистка '
@@ -33,7 +37,32 @@ class Command(BaseCommand):
33
37
  help=models_help_text,
34
38
  )
35
39
 
40
+ parser.add_argument(
41
+ '--safe',
42
+ action='store_true',
43
+ dest='safe',
44
+ default=False,
45
+ help='Запускать команду в безопасном режиме (без удаления данных, только логирование).',
46
+ )
47
+
48
+ parser.add_argument(
49
+ '--log-sql',
50
+ action='store_true',
51
+ dest='log_sql',
52
+ default=False,
53
+ help='Включить логирование SQL-запросов, выполняемых во время работы команды.',
54
+ )
55
+
56
+ def _cleanup_model_outdated_data(self, options):
57
+ """Очистка устаревших данных моделей РВД."""
58
+ model_data_cleaner_manager = ModelOutdatedDataCleanerManager(
59
+ models=options['models'],
60
+ safe=options['safe'],
61
+ log_sql=options['log_sql'],
62
+ )
63
+ model_data_cleaner_manager.run()
64
+
36
65
  def handle(self, *args, **options):
37
66
  """Запуск очистки устаревших данных РВД."""
38
- model_data_cleaner_manager = ModelOutdatedDataCleanerManager(models=options['models'])
39
- model_data_cleaner_manager.run()
67
+ if settings.RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA:
68
+ self._cleanup_model_outdated_data(options)
@@ -16,8 +16,17 @@ if TYPE_CHECKING:
16
16
  class BaseModelOutdatedDataCleaner(metaclass=ABCMeta):
17
17
  """Базовый класс уборщика устаревших данных моделей РВД."""
18
18
 
19
- def __init__(self, model_enum_value: 'ModelEnumValue', *args, **kwargs):
19
+ def __init__(
20
+ self,
21
+ model_enum_value: 'ModelEnumValue',
22
+ *args,
23
+ safe: bool = False,
24
+ log_sql: bool = False,
25
+ **kwargs,
26
+ ):
20
27
  self._model_enum_value = model_enum_value
28
+ self._safe = safe
29
+ self._log_sql = log_sql
21
30
 
22
31
  super().__init__(*args, **kwargs)
23
32
 
@@ -23,8 +23,17 @@ class ModelOutdatedDataCleanerManager:
23
23
  метод run.
24
24
  """
25
25
 
26
- def __init__(self, *args, models: Optional[list[str]] = None, **kwargs):
26
+ def __init__(
27
+ self,
28
+ *args,
29
+ models: Optional[list[str]] = None,
30
+ safe: bool = False,
31
+ log_sql: bool = False,
32
+ **kwargs,
33
+ ):
27
34
  self._models = models
35
+ self._safe = safe
36
+ self._log_sql = log_sql
28
37
 
29
38
  super().__init__(*args, **kwargs)
30
39
 
@@ -39,7 +48,7 @@ class ModelOutdatedDataCleanerManager:
39
48
  outdated_data_cleaner_module = importlib.import_module(outdated_data_cleaner_module_path)
40
49
  outdated_data_cleaner = getattr(outdated_data_cleaner_module, cleaner_name)
41
50
 
42
- outdated_data_cleaner(model_enum_value=model_enum_value).run()
51
+ outdated_data_cleaner(model_enum_value=model_enum_value, safe=self._safe, log_sql=self._log_sql).run()
43
52
 
44
53
  def _process_models(self):
45
54
  """Обрабатывает все модели РВД."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edu-rdm-integration
3
- Version: 3.18.3
3
+ Version: 3.18.5
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
@@ -197,6 +197,7 @@ INSTALLED_APPS = (
197
197
  ('uploader_client', 'ORGANIZATION_OGRN'): '',
198
198
  ('uploader_client', 'INSTALLATION_NAME'): '',
199
199
  ('uploader_client', 'INSTALLATION_ID'): '',
200
+ ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA'): False,
200
201
  })
201
202
  ```
202
203
  - Получение значений настроек из конфигурационного файла в settings.py:
@@ -309,6 +310,9 @@ INSTALLED_APPS = (
309
310
  # Директория логов отправки данных в витрину, доступных для скачивания
310
311
  RDM_UPLOAD_LOG_DIR = os.path.join('logs', 'rdm', 'upload')
311
312
  os.makedirs(os.path.join(MEDIA_ROOT, RDM_UPLOAD_LOG_DIR), exist_ok=True)
313
+
314
+ # Включить зачистку устаревших данных моделей РВД
315
+ RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
312
316
  ```
313
317
 
314
318
  Перечень настроек в settings.py указан в таблице ниже.
@@ -368,6 +372,7 @@ INSTALLED_APPS = (
368
372
  | RDM_COLLECT_LOG_DIR | Директория логов сбора данных, доступных для скачивания | |
369
373
  | RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
370
374
  | RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
375
+ | RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
371
376
 
372
377
  - В дефолтный конфиг проекта необходимо добавить:
373
378
 
@@ -463,6 +468,11 @@ INSTALLED_APPS = (
463
468
  INSTALLATION_NAME =
464
469
  # Идентификатор инсталляции в целевой Витрине
465
470
  INSTALLATION_ID =
471
+
472
+ # Настройка зачистки устаревших данных
473
+ [rdm_cleanup_outdated_data]
474
+ # Включить зачистку устаревших данных моделей РВД
475
+ ENABLE_CLEANUP_MODELS_OUTDATED_DATA = False
466
476
  ```
467
477
  На основе дефолтного конфига произвести конфигурирование приложений.
468
478