edu-rdm-integration 2.1.0__tar.gz → 2.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/CHANGELOG.md +21 -0
  2. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/PKG-INFO +22 -1
  3. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/setup.py +1 -1
  4. edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_and_export_data/__init__.py +1 -0
  5. edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_and_export_data/apps.py +9 -0
  6. edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +67 -0
  7. edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_and_export_data/models.py +67 -0
  8. edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_and_export_data/utils.py +77 -0
  9. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/enums.py +12 -0
  10. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/helpers.py +21 -1
  11. edu-rdm-integration-2.2.1/src/edu_rdm_integration/tasks.py +339 -0
  12. edu-rdm-integration-2.2.1/src/edu_rdm_integration/uploader_log/__init__.py +0 -0
  13. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/utils.py +29 -1
  14. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration.egg-info/PKG-INFO +22 -1
  15. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration.egg-info/SOURCES.txt +6 -0
  16. edu-rdm-integration-2.1.0/src/edu_rdm_integration/tasks.py +0 -100
  17. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/CONDUCT.md +0 -0
  18. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/LICENSE +0 -0
  19. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/MANIFEST.in +0 -0
  20. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/README.md +0 -0
  21. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/pyproject.toml +0 -0
  22. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/requirements/dependencies/development_packages.txt +0 -0
  23. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/requirements/dependencies/external_packages.txt +0 -0
  24. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/requirements/dependencies/internal_packages.txt +0 -0
  25. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/requirements/dependencies/internal_sources.txt +0 -0
  26. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/requirements/dependencies/production_packages.txt +0 -0
  27. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/requirements/dependencies/system_packages.txt +0 -0
  28. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/requirements/dependencies/testing_packages.txt +0 -0
  29. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/requirements/development.txt +0 -0
  30. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/requirements/production.txt +0 -0
  31. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/requirements/stage.txt +0 -0
  32. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/setup.cfg +0 -0
  33. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/__init__.py +0 -0
  34. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/__init__.py +0 -0
  35. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/apps.py +0 -0
  36. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/caches.py +0 -0
  37. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/consts.py +0 -0
  38. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/enums.py +0 -0
  39. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/errors.py +0 -0
  40. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/functions.py +0 -0
  41. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/helpers.py +0 -0
  42. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/managers.py +0 -0
  43. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/presenters.py +0 -0
  44. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/receivers.py +0 -0
  45. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/results.py +0 -0
  46. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/runners.py +0 -0
  47. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/strategies.py +0 -0
  48. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/strings.py +0 -0
  49. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/tests.py +0 -0
  50. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/adapters/validators.py +0 -0
  51. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/app_meta.py +0 -0
  52. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/app_settings.py +0 -0
  53. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/apps.py +0 -0
  54. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/base.py +0 -0
  55. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/collect_data → edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_and_export_data/migrations}/__init__.py +0 -0
  56. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/collect_data/base → edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_data}/__init__.py +0 -0
  57. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/collect_data/calculated → edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_data/base}/__init__.py +0 -0
  58. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/base/caches.py +0 -0
  59. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/base/functions.py +0 -0
  60. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/base/helpers.py +0 -0
  61. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/base/managers.py +0 -0
  62. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/base/mixins.py +0 -0
  63. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/base/runners.py +0 -0
  64. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/collect_data/calculated/base → edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_data/calculated}/__init__.py +0 -0
  65. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/collect_data/non_calculated → edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_data/calculated/base}/__init__.py +0 -0
  66. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/caches.py +0 -0
  67. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/consts.py +0 -0
  68. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/enums.py +0 -0
  69. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/errors.py +0 -0
  70. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/functions.py +0 -0
  71. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/helpers.py +0 -0
  72. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/managers.py +0 -0
  73. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/presenters.py +0 -0
  74. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/results.py +0 -0
  75. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/runners.py +0 -0
  76. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/strings.py +0 -0
  77. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/tests.py +0 -0
  78. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/base/validators.py +0 -0
  79. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/calculated/strategies.py +0 -0
  80. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/collect.py +0 -0
  81. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/generators.py +0 -0
  82. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/helpers.py +0 -0
  83. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/collect_data/non_calculated/base → edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_data/non_calculated}/__init__.py +0 -0
  84. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/enum_register → edu-rdm-integration-2.2.1/src/edu_rdm_integration/collect_data/non_calculated/base}/__init__.py +0 -0
  85. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/caches.py +0 -0
  86. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/consts.py +0 -0
  87. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/enums.py +0 -0
  88. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/errors.py +0 -0
  89. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/functions.py +0 -0
  90. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/helpers.py +0 -0
  91. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/managers.py +0 -0
  92. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/presenters.py +0 -0
  93. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/results.py +0 -0
  94. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/runners.py +0 -0
  95. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/strings.py +0 -0
  96. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/tests.py +0 -0
  97. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/base/validators.py +0 -0
  98. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/non_calculated/strategies.py +0 -0
  99. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/collect_data/tests.py +0 -0
  100. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/consts.py +0 -0
  101. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/entities.py +0 -0
  102. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/export_data → edu-rdm-integration-2.2.1/src/edu_rdm_integration/enum_register}/__init__.py +0 -0
  103. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/enum_register/mixins.py +0 -0
  104. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/enum_register/register.py +0 -0
  105. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/export_data/base → edu-rdm-integration-2.2.1/src/edu_rdm_integration/export_data}/__init__.py +0 -0
  106. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/function_templates → edu-rdm-integration-2.2.1/src/edu_rdm_integration/export_data/base}/__init__.py +0 -0
  107. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/caches.py +0 -0
  108. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/consts.py +0 -0
  109. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/enums.py +0 -0
  110. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/errors.py +0 -0
  111. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/functions.py +0 -0
  112. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/helpers.py +0 -0
  113. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/managers.py +0 -0
  114. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/presenters.py +0 -0
  115. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/requests.py +0 -0
  116. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/results.py +0 -0
  117. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/runners.py +0 -0
  118. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/strings.py +0 -0
  119. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/tests.py +0 -0
  120. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/base/validators.py +0 -0
  121. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/consts.py +0 -0
  122. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/export.py +0 -0
  123. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/generators.py +0 -0
  124. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/helpers.py +0 -0
  125. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/export_data/strategies.py +0 -0
  126. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/management → edu-rdm-integration-2.2.1/src/edu_rdm_integration/function_templates}/__init__.py +0 -0
  127. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/__init__.py-tpl +0 -0
  128. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/apps.py-tpl +0 -0
  129. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/caches.py-tpl +0 -0
  130. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/consts.py-tpl +0 -0
  131. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/enums.py-tpl +0 -0
  132. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/errors.py-tpl +0 -0
  133. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/functions.py-tpl +0 -0
  134. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/helpers.py-tpl +0 -0
  135. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/managers.py-tpl +0 -0
  136. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/presenters.py-tpl +0 -0
  137. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/results.py-tpl +0 -0
  138. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/runners.py-tpl +0 -0
  139. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/strings.py-tpl +0 -0
  140. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/tests.py-tpl +0 -0
  141. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_collect_data_template/validators.py-tpl +0 -0
  142. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/__init__.py-tpl +0 -0
  143. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/apps.py-tpl +0 -0
  144. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/caches.py-tpl +0 -0
  145. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/consts.py-tpl +0 -0
  146. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/enums.py-tpl +0 -0
  147. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/errors.py-tpl +0 -0
  148. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/functions.py-tpl +0 -0
  149. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/helpers.py-tpl +0 -0
  150. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/managers.py-tpl +0 -0
  151. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/presenters.py-tpl +0 -0
  152. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/results.py-tpl +0 -0
  153. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/runners.py-tpl +0 -0
  154. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/strings.py-tpl +0 -0
  155. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/tests.py-tpl +0 -0
  156. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/function_templates/function_export_data_template/validators.py-tpl +0 -0
  157. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/management/commands → edu-rdm-integration-2.2.1/src/edu_rdm_integration/management}/__init__.py +0 -0
  158. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/migrations → edu-rdm-integration-2.2.1/src/edu_rdm_integration/management/commands}/__init__.py +0 -0
  159. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/management/commands/check_upload_status.py +0 -0
  160. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/management/commands/collect_latest_models_data.py +0 -0
  161. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/management/commands/collect_models_data.py +0 -0
  162. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/management/commands/datamart_status.py +0 -0
  163. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/management/commands/datamart_upload.py +0 -0
  164. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/management/commands/export_entities_data.py +0 -0
  165. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/management/commands/export_latest_entities_data.py +0 -0
  166. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/management/general.py +0 -0
  167. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/mapping.py +0 -0
  168. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
  169. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
  170. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -0
  171. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
  172. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
  173. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
  174. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
  175. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
  176. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/registry → edu-rdm-integration-2.2.1/src/edu_rdm_integration/migrations}/__init__.py +0 -0
  177. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/models.py +0 -0
  178. {edu-rdm-integration-2.1.0/src/edu_rdm_integration/uploader_log → edu-rdm-integration-2.2.1/src/edu_rdm_integration/registry}/__init__.py +0 -0
  179. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/registry/actions.py +0 -0
  180. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/signals.py +0 -0
  181. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/storages.py +0 -0
  182. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/uploader_log/actions.py +0 -0
  183. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/uploader_log/apps.py +0 -0
  184. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/uploader_log/enums.py +0 -0
  185. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/uploader_log/managers.py +0 -0
  186. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration/uploader_log/ui.py +0 -0
  187. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
  188. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration.egg-info/namespace_packages.txt +0 -0
  189. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration.egg-info/not-zip-safe +0 -0
  190. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration.egg-info/requires.txt +0 -0
  191. {edu-rdm-integration-2.1.0 → edu-rdm-integration-2.2.1}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
@@ -28,6 +28,27 @@
28
28
 
29
29
  ### Удалено
30
30
 
31
+ ## [2.2.1] - 2024-03-28
32
+ Исправление наследования Meta в моделях EduRdmCollectDataCommandProgress и EduRdmExportDataCommandProgress
33
+
34
+ ### Исправлено
35
+
36
+ - [EDUSCHL-21569](https://jira.bars.group/browse/EDUSCHL-21569)
37
+ MINOR Перенести оставшиеся общие асинхронные задачи из ЭШ в пакет edu_rdm_integration
38
+
39
+ ## [2.2.0] - 2024-03-20
40
+
41
+ Из ЭШ перенесена периодическая задача по сбору и выгрузке данных в РВД.
42
+
43
+ Также из ЭШ перенесены и переименованы модели:
44
+ - CollectDataCommandProgress перименована в EduRdmCollectDataCommandProgress
45
+ - ExportDataCommandProgress перименована в EduRdmExportDataCommandProgress
46
+ - Добавлены миксины CollectCommandMixin и ExportCommandMixin
47
+
48
+ ### Добавлено
49
+
50
+ - [EDUSCHL-21569](https://jira.bars.group/browse/EDUSCHL-21569)
51
+ MINOR Перенести оставшиеся общие асинхронные задачи из ЭШ в пакет edu_rdm_integration
31
52
 
32
53
  ## [2.1.0] - 2024-03-18
33
54
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edu-rdm-integration
3
- Version: 2.1.0
3
+ Version: 2.2.1
4
4
  Summary: Интеграция с Региональной витриной данных
5
5
  Home-page:
6
6
  Download-URL:
@@ -293,6 +293,27 @@ Requires-Dist: uploader-client<1,>=0.2.1
293
293
 
294
294
  ### Удалено
295
295
 
296
+ ## [2.2.1] - 2024-03-28
297
+ Исправление наследования Meta в моделях EduRdmCollectDataCommandProgress и EduRdmExportDataCommandProgress
298
+
299
+ ### Исправлено
300
+
301
+ - [EDUSCHL-21569](https://jira.bars.group/browse/EDUSCHL-21569)
302
+ MINOR Перенести оставшиеся общие асинхронные задачи из ЭШ в пакет edu_rdm_integration
303
+
304
+ ## [2.2.0] - 2024-03-20
305
+
306
+ Из ЭШ перенесена периодическая задача по сбору и выгрузке данных в РВД.
307
+
308
+ Также из ЭШ перенесены и переименованы модели:
309
+ - CollectDataCommandProgress перименована в EduRdmCollectDataCommandProgress
310
+ - ExportDataCommandProgress перименована в EduRdmExportDataCommandProgress
311
+ - Добавлены миксины CollectCommandMixin и ExportCommandMixin
312
+
313
+ ### Добавлено
314
+
315
+ - [EDUSCHL-21569](https://jira.bars.group/browse/EDUSCHL-21569)
316
+ MINOR Перенести оставшиеся общие асинхронные задачи из ЭШ в пакет edu_rdm_integration
296
317
 
297
318
  ## [2.1.0] - 2024-03-18
298
319
 
@@ -17,7 +17,7 @@ from setuptools import (
17
17
 
18
18
  PROJECT = 'edu_rdm_integration'
19
19
 
20
- VERSION = '2.1.0'
20
+ VERSION = '2.2.1'
21
21
 
22
22
  current_dir_path = Path().resolve()
23
23
 
@@ -0,0 +1 @@
1
+ default_app_config = 'edu_rdm_integration.collect_and_export_data.apps.AppConfig'
@@ -0,0 +1,9 @@
1
+ from django.apps import (
2
+ AppConfig as AppConfigBase,
3
+ )
4
+
5
+
6
+ class AppConfig(AppConfigBase):
7
+
8
+ name = __package__
9
+ label = 'rdm_collect_and_export_data'
@@ -0,0 +1,67 @@
1
+ # Generated by Django 3.0.14 on 2024-03-11 16:10
2
+ # flake8: noqa
3
+ import uuid
4
+
5
+ import django.contrib.postgres.fields.jsonb
6
+ import django.db.models.deletion
7
+ import django.utils.timezone
8
+ from django.db import (
9
+ migrations,
10
+ models,
11
+ )
12
+
13
+ import educommon.django.db.mixins
14
+
15
+ import edu_rdm_integration.utils
16
+
17
+
18
+ class Migration(migrations.Migration):
19
+
20
+ initial = True
21
+
22
+ dependencies = [
23
+ ('edu_rdm_integration', '0008_transferredentity'),
24
+ ('async_task', '0002_task_type_and_status_data'),
25
+ ]
26
+
27
+ operations = [
28
+ migrations.CreateModel(
29
+ name='EduRdmExportDataCommandProgress',
30
+ fields=[
31
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
32
+ ('created', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Дата создания')),
33
+ ('period_started_at', models.DateTimeField(verbose_name='Левая граница периода выборки данных для выгрузки')),
34
+ ('period_ended_at', models.DateTimeField(verbose_name='Правая граница периода выборки данных для выгрузки')),
35
+ ('generation_id', models.UUIDField(default=uuid.uuid4, verbose_name='Идентификатор генерации')),
36
+ ('logs_link', models.FileField(max_length=255, upload_to=edu_rdm_integration.utils.get_data_command_progress_attachment_path, verbose_name='Файл лога')),
37
+ ('type', models.PositiveSmallIntegerField(choices=[(1, 'Автоматический'), (2, 'Ручной')], verbose_name='Тип команды')),
38
+ ('entity', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='edu_rdm_integration.RegionalDataMartEntityEnum', verbose_name='Сущность РВД')),
39
+ ('stage', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='edu_rdm_integration.ExportingDataStage', verbose_name='Этап выгрузки данных')),
40
+ ('task', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='async_task.RunningTask', verbose_name='Асинхронная задача')),
41
+ ],
42
+ options={
43
+ 'db_table': 'edu_rdm_exporting_data_command_progress',
44
+ },
45
+ bases=(educommon.django.db.mixins.ReprStrPreModelMixin, models.Model),
46
+ ),
47
+ migrations.CreateModel(
48
+ name='EduRdmCollectDataCommandProgress',
49
+ fields=[
50
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
51
+ ('created', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Дата создания')),
52
+ ('logs_period_started_at', models.DateTimeField(verbose_name='Левая граница периода обрабатываемых логов')),
53
+ ('logs_period_ended_at', models.DateTimeField(verbose_name='Правая граница периода обрабатываемых логов')),
54
+ ('generation_id', models.UUIDField(default=uuid.uuid4, verbose_name='Идентификатор генерации')),
55
+ ('institute_ids', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=list, null=True, verbose_name='id учебного заведения')),
56
+ ('logs_link', models.FileField(max_length=255, upload_to=edu_rdm_integration.utils.get_data_command_progress_attachment_path, verbose_name='Ссылка на файл логов')),
57
+ ('type', models.PositiveSmallIntegerField(choices=[(1, 'Автоматический'), (2, 'Ручной')], verbose_name='Тип команды')),
58
+ ('model', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='edu_rdm_integration.RegionalDataMartModelEnum', verbose_name='Модель РВД')),
59
+ ('stage', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='edu_rdm_integration.CollectingExportedDataStage', verbose_name='Этап формирования данных для выгрузки')),
60
+ ('task', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='async_task.RunningTask', verbose_name='Асинхронная задача')),
61
+ ],
62
+ options={
63
+ 'db_table': 'edu_rdm_collecting_data_command_progress',
64
+ },
65
+ bases=(educommon.django.db.mixins.ReprStrPreModelMixin, models.Model),
66
+ ),
67
+ ]
@@ -0,0 +1,67 @@
1
+ from django.db.models import (
2
+ SET_NULL,
3
+ FileField,
4
+ ForeignKey,
5
+ PositiveSmallIntegerField,
6
+ )
7
+
8
+ from edu_rdm_integration.enums import (
9
+ CommandType,
10
+ )
11
+ from edu_rdm_integration.models import (
12
+ AbstractCollectDataCommandProgress,
13
+ AbstractExportDataCommandProgress,
14
+ )
15
+ from edu_rdm_integration.utils import (
16
+ get_data_command_progress_attachment_path,
17
+ )
18
+
19
+
20
+ class EduRdmCollectDataCommandProgress(AbstractCollectDataCommandProgress):
21
+ """
22
+ Модель, хранящая данные для формирования и отслеживания асинхронных задач по сбору данных.
23
+ """
24
+
25
+ task = ForeignKey(
26
+ to='async_task.RunningTask',
27
+ verbose_name='Асинхронная задача',
28
+ blank=True,
29
+ null=True,
30
+ on_delete=SET_NULL,
31
+ )
32
+ logs_link = FileField(
33
+ upload_to=get_data_command_progress_attachment_path,
34
+ max_length=255,
35
+ verbose_name='Ссылка на файл логов',
36
+ )
37
+ type = PositiveSmallIntegerField( # noqa: A003
38
+ verbose_name='Тип команды',
39
+ choices=CommandType.get_choices(),
40
+ )
41
+
42
+ class Meta(AbstractCollectDataCommandProgress.Meta):
43
+ db_table = 'edu_rdm_collecting_data_command_progress'
44
+
45
+
46
+ class EduRdmExportDataCommandProgress(AbstractExportDataCommandProgress):
47
+ """Команда экспорта данных."""
48
+
49
+ task = ForeignKey(
50
+ to='async_task.RunningTask',
51
+ verbose_name='Асинхронная задача',
52
+ null=True,
53
+ blank=True,
54
+ on_delete=SET_NULL,
55
+ )
56
+ logs_link = FileField(
57
+ upload_to=get_data_command_progress_attachment_path,
58
+ max_length=255,
59
+ verbose_name='Файл лога',
60
+ )
61
+ type = PositiveSmallIntegerField( # noqa: A003
62
+ verbose_name='Тип команды',
63
+ choices=CommandType.get_choices(),
64
+ )
65
+
66
+ class Meta(AbstractExportDataCommandProgress.Meta):
67
+ db_table = 'edu_rdm_exporting_data_command_progress'
@@ -0,0 +1,77 @@
1
+ from edu_rdm_integration.collect_and_export_data.models import (
2
+ EduRdmCollectDataCommandProgress,
3
+ EduRdmExportDataCommandProgress,
4
+ )
5
+ from edu_rdm_integration.collect_data.collect import (
6
+ BaseCollectModelsDataByGeneratingLogs,
7
+ )
8
+ from edu_rdm_integration.export_data.export import (
9
+ ExportEntitiesData,
10
+ )
11
+ from edu_rdm_integration.helpers import (
12
+ save_command_log_link,
13
+ )
14
+
15
+
16
+ class CollectCommandMixin:
17
+ """Класс-примесь для запуска команды сборки моделей."""
18
+
19
+ def get_collect_command(self, command_id: int) -> EduRdmCollectDataCommandProgress:
20
+ """Возвращает экземпляр модели команды запуска."""
21
+ command = EduRdmCollectDataCommandProgress.objects.get(id=command_id)
22
+
23
+ return command
24
+
25
+ def get_collect_models_class(self):
26
+ """Возвращает класс для сбора данных."""
27
+ return BaseCollectModelsDataByGeneratingLogs
28
+
29
+ def run_collect_command(self, command) -> None:
30
+ """Запуск команды сбора."""
31
+ collect_models_data_class = self.get_collect_models_class()
32
+ collect_models_data_class(
33
+ models=(command.model_id,),
34
+ logs_period_started_at=command.logs_period_started_at,
35
+ logs_period_ended_at=command.logs_period_ended_at,
36
+ command_id=command.id,
37
+ institute_ids=command.institute_ids or (),
38
+ ).collect()
39
+
40
+ def save_collect_command_logs(self, command_id: int, log_dir: str):
41
+ """Сохранение ссылки на файл логов в команде."""
42
+ try:
43
+ command = self.get_collect_command(command_id)
44
+ except EduRdmCollectDataCommandProgress.DoesNotExist:
45
+ command = None
46
+
47
+ if command:
48
+ save_command_log_link(command, log_dir)
49
+
50
+
51
+ class ExportCommandMixin:
52
+ """Класс-примесь для запуска команды выгрузки сущностей."""
53
+
54
+ def get_export_command(self, command_id: int) -> EduRdmExportDataCommandProgress:
55
+ """Возвращает экземпляр модели команды запуска."""
56
+ command = EduRdmExportDataCommandProgress.objects.get(id=command_id)
57
+
58
+ return command
59
+
60
+ def run_export_command(self, command: EduRdmExportDataCommandProgress) -> None:
61
+ """Запуск команды выгрузки."""
62
+ ExportEntitiesData(
63
+ entities=(command.entity_id,),
64
+ period_started_at=command.period_started_at,
65
+ period_ended_at=command.period_ended_at,
66
+ command_id=command.id,
67
+ ).export()
68
+
69
+ def save_export_command_logs(self, command_id: int, log_dir: str):
70
+ """Сохранение ссылки на файл логов в команде."""
71
+ try:
72
+ command = self.get_export_command(command_id)
73
+ except EduRdmExportDataCommandProgress.DoesNotExist:
74
+ command = None
75
+
76
+ if command:
77
+ save_command_log_link(command, log_dir)
@@ -154,3 +154,15 @@ class EntityRetiredStatusEnum(ValueCodeEnumerate):
154
154
  RETIRED: 'Прекращена',
155
155
  ENTERED_IN_ERROR: 'Создана по ошибке',
156
156
  }
157
+
158
+
159
+ class CommandType(BaseEnumerate):
160
+ """Тип команды."""
161
+
162
+ AUTO = 1
163
+ MANUAL = 2
164
+
165
+ values = {
166
+ AUTO: 'Автоматический',
167
+ MANUAL: 'Ручной',
168
+ }
@@ -1,4 +1,5 @@
1
1
  import heapq
2
+ import os
2
3
  from concurrent.futures import (
3
4
  ThreadPoolExecutor,
4
5
  )
@@ -12,8 +13,12 @@ from typing import (
12
13
  List,
13
14
  Optional,
14
15
  Tuple,
16
+ Union,
15
17
  )
16
18
 
19
+ from django.conf import (
20
+ settings,
21
+ )
17
22
  from django.db import (
18
23
  transaction,
19
24
  )
@@ -28,6 +33,10 @@ from educommon import (
28
33
  logger,
29
34
  )
30
35
 
36
+ from edu_rdm_integration.collect_and_export_data.models import (
37
+ EduRdmCollectDataCommandProgress,
38
+ EduRdmExportDataCommandProgress,
39
+ )
31
40
  from edu_rdm_integration.enums import (
32
41
  FileUploadStatusEnum,
33
42
  )
@@ -151,7 +160,7 @@ class Graph:
151
160
  """
152
161
 
153
162
  def __init__(self):
154
- self.vertices: Dict[str, Dict[str, Optional[str]]] = {}
163
+ self.vertices: Dict[str, Dict[str, Optional[str]]] = {}
155
164
  """Словарь для хранения данных графа."""
156
165
 
157
166
  def add_vertex(self, vertex: str):
@@ -261,3 +270,14 @@ class Graph:
261
270
  path.reverse()
262
271
 
263
272
  return path
273
+
274
+
275
+ def save_command_log_link(
276
+ command: Union[EduRdmCollectDataCommandProgress, EduRdmExportDataCommandProgress],
277
+ log_dir: str
278
+ ) -> None:
279
+ """Сохраняет ссылку на лог команды."""
280
+ log_file = os.path.join(settings.MEDIA_ROOT, log_dir, f'{command.id}.log')
281
+ if os.path.exists(log_file):
282
+ command.logs_link = os.path.join(log_dir, f'{command.id}.log')
283
+ command.save()