edu-rdm-integration 3.9.2__py3-none-any.whl → 3.10.1__py3-none-any.whl

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 (279) hide show
  1. edu_rdm_integration/__init__.py +0 -1
  2. edu_rdm_integration/adapters/apps.py +15 -2
  3. edu_rdm_integration/adapters/caches.py +25 -12
  4. edu_rdm_integration/adapters/errors.py +13 -2
  5. edu_rdm_integration/adapters/functions.py +53 -14
  6. edu_rdm_integration/adapters/helpers.py +34 -8
  7. edu_rdm_integration/adapters/managers.py +41 -5
  8. edu_rdm_integration/adapters/presenters.py +26 -2
  9. edu_rdm_integration/adapters/receivers.py +16 -2
  10. edu_rdm_integration/adapters/results.py +50 -4
  11. edu_rdm_integration/adapters/runners.py +79 -20
  12. edu_rdm_integration/adapters/strategies.py +56 -54
  13. edu_rdm_integration/adapters/validators.py +43 -4
  14. edu_rdm_integration/apps.py +3 -23
  15. edu_rdm_integration/collect_and_export_data/__init__.py +1 -1
  16. edu_rdm_integration/collect_and_export_data/apps.py +1 -0
  17. edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +107 -17
  18. edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +4 -2
  19. edu_rdm_integration/collect_and_export_data/models.py +1 -67
  20. edu_rdm_integration/{consts.py → core/consts.py} +0 -11
  21. edu_rdm_integration/{enums.py → core/enums.py} +7 -54
  22. edu_rdm_integration/core/helpers.py +331 -0
  23. edu_rdm_integration/core/operations.py +71 -0
  24. edu_rdm_integration/core/redis_cache.py +20 -0
  25. edu_rdm_integration/{collect_and_export_data → core/registry}/actions.py +6 -12
  26. edu_rdm_integration/core/registry/apps.py +11 -0
  27. edu_rdm_integration/{collect_and_export_data → core/registry}/ui.py +1 -1
  28. edu_rdm_integration/{storages.py → core/storages.py} +8 -17
  29. edu_rdm_integration/{utils.py → core/utils.py} +29 -91
  30. edu_rdm_integration/migrations/0001_initial.py +294 -44
  31. edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +1 -3
  32. edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -1
  33. edu_rdm_integration/migrations/0004_uploaderclientlog.py +1 -2
  34. edu_rdm_integration/migrations/0005_auto_20231204_1224.py +16 -4
  35. edu_rdm_integration/migrations/0006_request_status_data.py +60 -58
  36. edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -1
  37. edu_rdm_integration/migrations/0009_auto_20240522_1619.py +1 -5
  38. edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -1
  39. edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +16 -3
  40. edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -1
  41. edu_rdm_integration/migrations/0013_set_attachment_size.py +8 -12
  42. edu_rdm_integration/migrations/0014_uploaddatacommand.py +33 -6
  43. edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +1 -5
  44. edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +2 -2
  45. edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +3 -2
  46. edu_rdm_integration/migrations/__init__.py +1 -0
  47. edu_rdm_integration/{registry → pipelines/transfer}/actions.py +13 -26
  48. edu_rdm_integration/pipelines/transfer/app_meta.py +18 -0
  49. edu_rdm_integration/pipelines/transfer/apps.py +19 -0
  50. edu_rdm_integration/pipelines/transfer/enums.py +34 -0
  51. edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +57 -0
  52. edu_rdm_integration/{base.py → pipelines/transfer/mixins.py} +29 -53
  53. edu_rdm_integration/pipelines/transfer/models.py +48 -0
  54. edu_rdm_integration/{tasks.py → pipelines/transfer/tasks.py} +51 -150
  55. edu_rdm_integration/{registry → pipelines/transfer}/ui.py +4 -10
  56. edu_rdm_integration/rdm_entities/apps.py +11 -0
  57. edu_rdm_integration/{entities.py → rdm_entities/entities.py} +67 -57
  58. edu_rdm_integration/rdm_entities/migrations/0001_initial.py +44 -0
  59. edu_rdm_integration/{enum_register → rdm_entities}/mixins.py +8 -59
  60. edu_rdm_integration/rdm_entities/models.py +63 -0
  61. edu_rdm_integration/rdm_entities/utils.py +33 -0
  62. edu_rdm_integration/rdm_models/apps.py +16 -0
  63. edu_rdm_integration/rdm_models/migrations/0001_initial.py +40 -0
  64. edu_rdm_integration/rdm_models/mixins.py +67 -0
  65. edu_rdm_integration/rdm_models/models.py +73 -0
  66. edu_rdm_integration/rdm_models/utils.py +23 -0
  67. edu_rdm_integration/stages/collect_data/apps.py +11 -0
  68. edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/functions.py-tpl +2 -2
  69. edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/managers.py-tpl +1 -1
  70. edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/runners.py-tpl +1 -1
  71. edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/tests.py-tpl +2 -1
  72. edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/caches.py +2 -2
  73. edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/functions.py +15 -18
  74. edu_rdm_integration/stages/collect_data/functions/base/helpers.py +20 -0
  75. edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/managers.py +20 -27
  76. edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/mixins.py +38 -55
  77. edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/runners.py +2 -5
  78. edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py +0 -0
  79. edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
  80. edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/caches.py +3 -7
  81. edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +7 -0
  82. edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/functions.py +8 -16
  83. edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +24 -0
  84. edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +19 -0
  85. edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/presenters.py +1 -3
  86. edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +12 -0
  87. edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +28 -0
  88. edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +20 -0
  89. edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/strategies.py +32 -70
  90. edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
  91. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
  92. edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/caches.py +13 -22
  93. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +7 -0
  94. edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/functions.py +8 -16
  95. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +24 -0
  96. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +19 -0
  97. edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/presenters.py +1 -3
  98. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +12 -0
  99. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +28 -0
  100. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +20 -0
  101. edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/strategies.py +32 -70
  102. edu_rdm_integration/{collect_data → stages/collect_data}/generators.py +9 -14
  103. edu_rdm_integration/stages/collect_data/helpers.py +154 -0
  104. edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
  105. edu_rdm_integration/stages/collect_data/management/base.py +100 -0
  106. edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
  107. edu_rdm_integration/{management → stages/collect_data/management}/commands/collect_latest_models_data.py +5 -7
  108. edu_rdm_integration/{management → stages/collect_data/management}/commands/collect_models_data.py +5 -7
  109. edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +187 -0
  110. edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +105 -0
  111. edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
  112. edu_rdm_integration/stages/collect_data/mixins.py +56 -0
  113. edu_rdm_integration/stages/collect_data/models.py +318 -0
  114. edu_rdm_integration/{collect_data/collect.py → stages/collect_data/operations.py} +30 -43
  115. edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
  116. edu_rdm_integration/{collect_data → stages/collect_data/registry}/actions.py +17 -20
  117. edu_rdm_integration/stages/collect_data/registry/apps.py +11 -0
  118. edu_rdm_integration/{collect_data → stages/collect_data/registry}/ui.py +8 -15
  119. edu_rdm_integration/{collect_data → stages/collect_data}/tests.py +2 -2
  120. edu_rdm_integration/stages/export_data/__init__.py +0 -0
  121. edu_rdm_integration/stages/export_data/apps.py +11 -0
  122. edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
  123. edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/functions.py-tpl +2 -2
  124. edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/managers.py-tpl +2 -2
  125. edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/runners.py-tpl +2 -2
  126. edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
  127. edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
  128. edu_rdm_integration/{export_data → stages/export_data/functions}/base/caches.py +3 -8
  129. edu_rdm_integration/stages/export_data/functions/base/errors.py +7 -0
  130. edu_rdm_integration/{export_data → stages/export_data/functions}/base/functions.py +28 -59
  131. edu_rdm_integration/{export_data → stages/export_data/functions}/base/helpers.py +7 -17
  132. edu_rdm_integration/{export_data → stages/export_data/functions}/base/managers.py +19 -28
  133. edu_rdm_integration/stages/export_data/functions/base/presenters.py +11 -0
  134. edu_rdm_integration/{export_data → stages/export_data/functions}/base/requests.py +13 -40
  135. edu_rdm_integration/stages/export_data/functions/base/results.py +12 -0
  136. edu_rdm_integration/{export_data → stages/export_data/functions}/base/runners.py +9 -21
  137. edu_rdm_integration/stages/export_data/functions/base/validators.py +20 -0
  138. edu_rdm_integration/{export_data → stages/export_data}/generators.py +7 -6
  139. edu_rdm_integration/stages/export_data/helpers.py +203 -0
  140. edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
  141. edu_rdm_integration/stages/export_data/management/base.py +101 -0
  142. edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
  143. edu_rdm_integration/{management → stages/export_data/management}/commands/export_entities_data.py +5 -7
  144. edu_rdm_integration/{management → stages/export_data/management}/commands/export_latest_entities_data.py +5 -7
  145. edu_rdm_integration/stages/export_data/migrations/0001_initial.py +324 -0
  146. edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
  147. edu_rdm_integration/stages/export_data/mixins.py +50 -0
  148. edu_rdm_integration/stages/export_data/models.py +362 -0
  149. edu_rdm_integration/{export_data/export.py → stages/export_data/operations.py} +13 -152
  150. edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
  151. edu_rdm_integration/{export_data → stages/export_data/registry}/actions.py +18 -18
  152. edu_rdm_integration/stages/export_data/registry/apps.py +11 -0
  153. edu_rdm_integration/{export_data → stages/export_data/registry}/ui.py +5 -7
  154. edu_rdm_integration/{export_data → stages/export_data}/strategies.py +30 -68
  155. edu_rdm_integration/stages/service/__init__.py +0 -0
  156. edu_rdm_integration/stages/service/apps.py +19 -0
  157. edu_rdm_integration/stages/service/tasks.py +63 -0
  158. edu_rdm_integration/stages/upload_data/__init__.py +0 -0
  159. edu_rdm_integration/stages/upload_data/apps.py +19 -0
  160. edu_rdm_integration/stages/upload_data/consts.py +10 -0
  161. edu_rdm_integration/{export_data → stages/upload_data}/dataclasses.py +1 -0
  162. edu_rdm_integration/stages/upload_data/enums.py +17 -0
  163. edu_rdm_integration/{export_data/export_manager.py → stages/upload_data/export_managers.py} +73 -68
  164. edu_rdm_integration/stages/upload_data/helpers.py +164 -0
  165. edu_rdm_integration/stages/upload_data/management/__init__.py +0 -0
  166. edu_rdm_integration/stages/upload_data/management/base.py +134 -0
  167. edu_rdm_integration/stages/upload_data/management/commands/__init__.py +0 -0
  168. edu_rdm_integration/{management → stages/upload_data/management}/commands/async_fix_attachment_size.py +32 -54
  169. edu_rdm_integration/{management → stages/upload_data/management}/commands/check_upload_status.py +7 -6
  170. edu_rdm_integration/{management → stages/upload_data/management}/commands/datamart_status.py +3 -3
  171. edu_rdm_integration/{management → stages/upload_data/management}/commands/datamart_upload.py +4 -4
  172. edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +161 -0
  173. edu_rdm_integration/stages/upload_data/migrations/__init__.py +0 -0
  174. edu_rdm_integration/stages/upload_data/models.py +175 -0
  175. edu_rdm_integration/stages/upload_data/operations.py +156 -0
  176. edu_rdm_integration/{export_data/queue.py → stages/upload_data/queues.py} +10 -8
  177. edu_rdm_integration/stages/upload_data/tasks.py +103 -0
  178. edu_rdm_integration/stages/upload_data/uploader_log/__init__.py +0 -0
  179. edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/actions.py +14 -16
  180. edu_rdm_integration/stages/upload_data/uploader_log/apps.py +11 -0
  181. edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/managers.py +15 -30
  182. edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +31 -0
  183. edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
  184. edu_rdm_integration/stages/upload_data/uploader_log/models.py +86 -0
  185. edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/ui.py +8 -6
  186. {edu_rdm_integration-3.9.2.dist-info → edu_rdm_integration-3.10.1.dist-info}/METADATA +238 -238
  187. edu_rdm_integration-3.10.1.dist-info/RECORD +257 -0
  188. edu_rdm_integration/app_meta.py +0 -16
  189. edu_rdm_integration/app_settings.py +0 -77
  190. edu_rdm_integration/collect_and_export_data/utils.py +0 -224
  191. edu_rdm_integration/collect_data/base/helpers.py +0 -26
  192. edu_rdm_integration/collect_data/calculated/base/errors.py +0 -9
  193. edu_rdm_integration/collect_data/calculated/base/helpers.py +0 -32
  194. edu_rdm_integration/collect_data/calculated/base/managers.py +0 -23
  195. edu_rdm_integration/collect_data/calculated/base/results.py +0 -16
  196. edu_rdm_integration/collect_data/calculated/base/runners.py +0 -36
  197. edu_rdm_integration/collect_data/calculated/base/validators.py +0 -28
  198. edu_rdm_integration/collect_data/helpers.py +0 -92
  199. edu_rdm_integration/collect_data/non_calculated/base/errors.py +0 -9
  200. edu_rdm_integration/collect_data/non_calculated/base/helpers.py +0 -32
  201. edu_rdm_integration/collect_data/non_calculated/base/managers.py +0 -23
  202. edu_rdm_integration/collect_data/non_calculated/base/results.py +0 -16
  203. edu_rdm_integration/collect_data/non_calculated/base/runners.py +0 -36
  204. edu_rdm_integration/collect_data/non_calculated/base/validators.py +0 -28
  205. edu_rdm_integration/enum_register/register.py +0 -79
  206. edu_rdm_integration/export_data/base/errors.py +0 -9
  207. edu_rdm_integration/export_data/base/presenters.py +0 -13
  208. edu_rdm_integration/export_data/base/results.py +0 -16
  209. edu_rdm_integration/export_data/base/validators.py +0 -28
  210. edu_rdm_integration/export_data/helpers.py +0 -92
  211. edu_rdm_integration/helpers.py +0 -412
  212. edu_rdm_integration/management/general.py +0 -327
  213. edu_rdm_integration/models.py +0 -982
  214. edu_rdm_integration/redis_cache.py +0 -51
  215. edu_rdm_integration/uploader_log/apps.py +0 -10
  216. edu_rdm_integration-3.9.2.dist-info/RECORD +0 -198
  217. /edu_rdm_integration/{collect_data → core}/__init__.py +0 -0
  218. /edu_rdm_integration/{mapping.py → core/mapping.py} +0 -0
  219. /edu_rdm_integration/{collect_data/base → core/registry}/__init__.py +0 -0
  220. /edu_rdm_integration/{templates → core/registry/templates}/ui-js/start-task.js +0 -0
  221. /edu_rdm_integration/{signals.py → core/signals.py} +0 -0
  222. /edu_rdm_integration/{typing.py → core/typing.py} +0 -0
  223. /edu_rdm_integration/{collect_data/calculated → pipelines}/__init__.py +0 -0
  224. /edu_rdm_integration/{collect_data/calculated/base → pipelines/transfer}/__init__.py +0 -0
  225. /edu_rdm_integration/{collect_data/non_calculated → pipelines/transfer/migrations}/__init__.py +0 -0
  226. /edu_rdm_integration/{templates → pipelines/transfer/templates}/ui-js/transferred-entity-list.js +0 -0
  227. /edu_rdm_integration/{collect_data/non_calculated/base → rdm_entities}/__init__.py +0 -0
  228. /edu_rdm_integration/{enum_register → rdm_entities/migrations}/__init__.py +0 -0
  229. /edu_rdm_integration/{export_data → rdm_models}/__init__.py +0 -0
  230. /edu_rdm_integration/{export_data/base → rdm_models/migrations}/__init__.py +0 -0
  231. /edu_rdm_integration/{function_templates → stages}/__init__.py +0 -0
  232. /edu_rdm_integration/{management → stages/collect_data}/__init__.py +0 -0
  233. /edu_rdm_integration/{collect_data/const.py → stages/collect_data/consts.py} +0 -0
  234. /edu_rdm_integration/{management/commands → stages/collect_data/function_templates}/__init__.py +0 -0
  235. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/__init__.py-tpl +0 -0
  236. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/apps.py-tpl +0 -0
  237. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/caches.py-tpl +0 -0
  238. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/consts.py-tpl +0 -0
  239. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/enums.py-tpl +0 -0
  240. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/errors.py-tpl +0 -0
  241. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/helpers.py-tpl +0 -0
  242. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/presenters.py-tpl +0 -0
  243. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/results.py-tpl +0 -0
  244. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/strings.py-tpl +0 -0
  245. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/validators.py-tpl +0 -0
  246. /edu_rdm_integration/{registry → stages/collect_data/functions}/__init__.py +0 -0
  247. /edu_rdm_integration/{uploader_log → stages/collect_data/functions/base}/__init__.py +0 -0
  248. /edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/consts.py +0 -0
  249. /edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/consts.py +0 -0
  250. /edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/enums.py +0 -0
  251. /edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/strings.py +0 -0
  252. /edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/tests.py +0 -0
  253. /edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/consts.py +0 -0
  254. /edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/enums.py +0 -0
  255. /edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/strings.py +0 -0
  256. /edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/tests.py +0 -0
  257. /edu_rdm_integration/{export_data → stages/export_data}/consts.py +0 -0
  258. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/__init__.py-tpl +0 -0
  259. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/apps.py-tpl +0 -0
  260. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/caches.py-tpl +0 -0
  261. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/consts.py-tpl +0 -0
  262. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/enums.py-tpl +0 -0
  263. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/errors.py-tpl +0 -0
  264. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/helpers.py-tpl +0 -0
  265. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/presenters.py-tpl +0 -0
  266. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/results.py-tpl +0 -0
  267. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/strings.py-tpl +0 -0
  268. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/tests.py-tpl +0 -0
  269. /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/validators.py-tpl +0 -0
  270. /edu_rdm_integration/{export_data → stages/export_data/functions}/base/consts.py +0 -0
  271. /edu_rdm_integration/{export_data → stages/export_data/functions}/base/enums.py +0 -0
  272. /edu_rdm_integration/{export_data → stages/export_data/functions}/base/strings.py +0 -0
  273. /edu_rdm_integration/{export_data → stages/export_data/functions}/base/tests.py +0 -0
  274. /edu_rdm_integration/{templates → stages/export_data/registry/templates}/ui-js/stage_for_export.js +0 -0
  275. /edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/enums.py +0 -0
  276. /edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/templates/ui-js/object-grid-buttons.js +0 -0
  277. {edu_rdm_integration-3.9.2.dist-info → edu_rdm_integration-3.10.1.dist-info}/WHEEL +0 -0
  278. {edu_rdm_integration-3.9.2.dist-info → edu_rdm_integration-3.10.1.dist-info}/licenses/LICENSE +0 -0
  279. {edu_rdm_integration-3.9.2.dist-info → edu_rdm_integration-3.10.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,257 @@
1
+ edu_rdm_integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ edu_rdm_integration/apps.py,sha256=Rrwr04Q-fFmr-2nivyKmfdKj5tB3o_8T82CvVFMnswY,3094
3
+ edu_rdm_integration/adapters/__init__.py,sha256=cU0swn4Ny5ZQz5buWRcWsT1mpWuUFJaUlHf2l7TtEBo,83
4
+ edu_rdm_integration/adapters/apps.py,sha256=XLtJWs9RpS6p49QJh4CIN8BSJedPYBO2b0ppPw4iLmg,1204
5
+ edu_rdm_integration/adapters/caches.py,sha256=ba0vV3ObMcD-6u7WF-TDbf9Epxe2isEDIXcEawucFag,2722
6
+ edu_rdm_integration/adapters/consts.py,sha256=pds1t4eHzovm7Yz2o5je3UHqRE8gqfT2sL-IwpoBN_o,66
7
+ edu_rdm_integration/adapters/enums.py,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
8
+ edu_rdm_integration/adapters/errors.py,sha256=HpKM5juO2N1_2T0YjWKFtR-8CSS5qGacVZ0KtNp_VGk,1068
9
+ edu_rdm_integration/adapters/functions.py,sha256=B9iAgpUgr5Ta2Lbhy7t6JXB0dDnnfgEW2gLWmyD8rdc,5144
10
+ edu_rdm_integration/adapters/helpers.py,sha256=lVTACPNRtezh-AQ9LudegaGeM40JhasMkkSiVDAyCVE,2504
11
+ edu_rdm_integration/adapters/managers.py,sha256=u24BZGJ6n6Boqg9AWpG6YmoSERhDj_HkXGLaRGYCOEs,3210
12
+ edu_rdm_integration/adapters/presenters.py,sha256=p6czJ6bd0akJFNEq5AKbUjks6xFuW0VGxUCdqeJMjUI,2042
13
+ edu_rdm_integration/adapters/receivers.py,sha256=vrswJtYiykT8ILwKg3UdpO9q79rP85LmHBQBBn8KwWY,1563
14
+ edu_rdm_integration/adapters/results.py,sha256=1x6dWyv0yTJ-n32Yu1wg6h0AUFzYe4pf4ENhcPoA0Rs,3857
15
+ edu_rdm_integration/adapters/runners.py,sha256=YXy3mg132WQ7n7GOoySMyMcrwS2tbiiobVlxXR_freI,6681
16
+ edu_rdm_integration/adapters/strategies.py,sha256=tMEd9EhrCX8rObUegIpOYo5xhYPWDDu0_5IjffRqyPk,8108
17
+ edu_rdm_integration/adapters/strings.py,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
18
+ edu_rdm_integration/adapters/tests.py,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
19
+ edu_rdm_integration/adapters/validators.py,sha256=Sza6rZCQvQw7la2m29iQ4iBZitHLxxrWS2sbOn5s980,2625
20
+ edu_rdm_integration/collect_and_export_data/__init__.py,sha256=LXkkpOw-CudTwly71opsc50LvknVTbylr4RRgEoRJ80,79
21
+ edu_rdm_integration/collect_and_export_data/apps.py,sha256=xzvyL8jwloAFff_SurVWbjJ3TAk5Z2ala51eqwz6Y0k,336
22
+ edu_rdm_integration/collect_and_export_data/models.py,sha256=7cFHemii9CNl3TclaJO_tQuQEtByGWctJ6DoJiTdNwE,54
23
+ edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py,sha256=KXUmQTNVRI5TcoGUyKCjCZ_ULqky_mN5NNxmCysRG7w,6703
24
+ edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py,sha256=6mEp7CRStNS2L7BvOvpGUXKydvhlpj9WFroRqMr1XGM,1029
25
+ edu_rdm_integration/collect_and_export_data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
+ edu_rdm_integration/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ edu_rdm_integration/core/consts.py,sha256=feyEOdyEJbEO_rN086wMShrzzJKDlpEL3wzvdFsR9ts,867
28
+ edu_rdm_integration/core/enums.py,sha256=HHZxX2vIe-c4SY6BIWgOg-Tu-_LVJjltFZ1lI9YITLw,3824
29
+ edu_rdm_integration/core/helpers.py,sha256=63Wfciq7QNF5keX9n8vCcqTq5vDK3QO1i3HFlU7pjCk,12140
30
+ edu_rdm_integration/core/mapping.py,sha256=1B6TsC4Os9wiM8L8BChnCNv_iWqjeWu3bdDsqKVsId0,616
31
+ edu_rdm_integration/core/operations.py,sha256=w4WOQyHL9mP0GOi4X29ycEyGbXl1Xdyj5HytHUVvLlg,2135
32
+ edu_rdm_integration/core/redis_cache.py,sha256=R9_C1H8XbCHxZUoPbr7lfepI7Ic7td_NQ_IgQyT6_NI,616
33
+ edu_rdm_integration/core/signals.py,sha256=3eRlpkDcFCF6TN80-QM8yBYLcyozzcmoPjz6r4_ApWg,73
34
+ edu_rdm_integration/core/storages.py,sha256=M00U03L5R61dLTbb0LMEVEPY5u7Z9segSGKyn72RmcI,6625
35
+ edu_rdm_integration/core/typing.py,sha256=2asD8biX0l_DVqJSU4y19-zzEBJMk967PUj3UhzICzs,785
36
+ edu_rdm_integration/core/utils.py,sha256=DTp1IeO3ENWOh6tPT-qEW0AT0J1STixatDx9zOY4k-A,9918
37
+ edu_rdm_integration/core/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ edu_rdm_integration/core/registry/actions.py,sha256=DF5x1OjuVnfFFuPfK1HVIbDdhVArmlSv0-inqf-Gl6s,3886
39
+ edu_rdm_integration/core/registry/apps.py,sha256=n3HNfshYNzQb61xWsGy5IFilWKtxcPnQ1KlsdGxIVkk,377
40
+ edu_rdm_integration/core/registry/ui.py,sha256=93N7kzsS0_01NNhPM0KfDEy2WGj3pb0YBDmCp74Vx8I,4213
41
+ edu_rdm_integration/core/registry/templates/ui-js/start-task.js,sha256=mwLMFFOZku5AS0CF7AzPoIP_jGP36uetlN6noUE2pBw,1490
42
+ edu_rdm_integration/migrations/0001_initial.py,sha256=8ApUOjeS8HY63lILdZuZwZjPWlrZQsvIY6GnxI_Jp4E,24152
43
+ edu_rdm_integration/migrations/0002_init_data_uploadstatus.py,sha256=8YwdwQJjUZ0VJf6IenUOR_n73ccR10gXklpM38O8s1g,723
44
+ edu_rdm_integration/migrations/0003_create_index_file_upload_status.py,sha256=cPubppoL4kbu2MFGjdVcjwbPcorXjEPgMPoPkmyh7q8,734
45
+ edu_rdm_integration/migrations/0004_uploaderclientlog.py,sha256=tbWauXEcWdWoS6FRKe5n3Hes0NelpLjBSk0WqLaVAeM,624
46
+ edu_rdm_integration/migrations/0005_auto_20231204_1224.py,sha256=OAEKL-v-R80yl5KYVvRdKWjebkTCWDC4AHVOISkTwo4,2011
47
+ edu_rdm_integration/migrations/0006_request_status_data.py,sha256=YauqrWKr4u5UkT8hUKzrllLULHddSPx7xngkMScgHr8,3691
48
+ edu_rdm_integration/migrations/0007_delete_upload_status.py,sha256=zNYnan5SCJ-TfT-MLmq44veJJolAyzCNyhIPs-wrVZE,456
49
+ edu_rdm_integration/migrations/0008_transferredentity.py,sha256=rE5av85AIYKGDy7nuFKLrHAhj0uaeUTRsFfIsXPtaxo,1427
50
+ edu_rdm_integration/migrations/0009_auto_20240522_1619.py,sha256=NJSRPJOk8LXusT08VywYDzxhlyXesdG1hBd8IeLdlhI,752
51
+ edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py,sha256=iNtqsY05zxs4a-rnCwJU0l4aGhsO3_y4WKQRzSPNjmM,506
52
+ edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py,sha256=f9B4ny3cgUp7HA3bHyK9q7U50pUCyVNTE1RywThkwLU,1570
53
+ edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py,sha256=egZzT2taYdyiSVXjfIU6fTVeBKciKWCyqjvn7AsVCa4,510
54
+ edu_rdm_integration/migrations/0013_set_attachment_size.py,sha256=2V0xYndRjQUHou0UTRsYsLPoZU0NZvEF4Vxl-oY1OEA,2057
55
+ edu_rdm_integration/migrations/0014_uploaddatacommand.py,sha256=rB3N04TusljA3UELhlxEoDC3BKWvKFwdzc2ad59QPLE,2703
56
+ edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py,sha256=Jcay4hvegAJUdODNkNJcXfFA3vqn6xa_BlguE9zg-VM,767
57
+ edu_rdm_integration/migrations/0016_transferredentity_queue_level.py,sha256=DuN4Ki0KjkPhwZXwAzPrSKW2-coE5ZLLOKkFtLrmekg,599
58
+ edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py,sha256=9hte6Ds-y_cbDLtOXfO5oH0_7gPMYER0hKG8tidXwJI,338
59
+ edu_rdm_integration/migrations/__init__.py,sha256=X664cwuc-WxtjYBAbwJJaK7JEIDqY1Y0eSj0f8V76SU,79
60
+ edu_rdm_integration/pipelines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
+ edu_rdm_integration/pipelines/transfer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
+ edu_rdm_integration/pipelines/transfer/actions.py,sha256=N3fF3dQPGA3RHW9AkeigHSRGHauuP4xEPpb2uOHLKlQ,5946
63
+ edu_rdm_integration/pipelines/transfer/app_meta.py,sha256=jshfepDDJrbCACtJBJBPuidAVJ6rcziQiet27wqOIjk,373
64
+ edu_rdm_integration/pipelines/transfer/apps.py,sha256=mf8voFbMU3FWOwbyisgUUrnUBpp__GfiGhU1lMfeGcY,795
65
+ edu_rdm_integration/pipelines/transfer/enums.py,sha256=7eaCcR_SQD_xz3DXywwZivxfcn0s2BsAddS9LsXlujE,787
66
+ edu_rdm_integration/pipelines/transfer/mixins.py,sha256=muPDsA2X9x2cHQYIJRIXIKQOUH1mep13wdVQ7VHLSV4,4985
67
+ edu_rdm_integration/pipelines/transfer/models.py,sha256=Ph-czpF-2NuTTVy4D2Xgx--5L1H0neA25DcSss0TarI,1610
68
+ edu_rdm_integration/pipelines/transfer/tasks.py,sha256=8mTmpCJNFQEGTGgbq-kc9kfMoe0Q-rmFe77G6P6eopU,10936
69
+ edu_rdm_integration/pipelines/transfer/ui.py,sha256=GLRy_oWO50ZbWcb9vnhP5nVuS8pImtw9APyV4tgm7sg,2543
70
+ edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py,sha256=js-Ap6xnw0yBN7E9k7gh9dz-jZkNyDUwmMGftwC55EQ,2322
71
+ edu_rdm_integration/pipelines/transfer/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ edu_rdm_integration/pipelines/transfer/templates/ui-js/transferred-entity-list.js,sha256=IWEZ9JoTxD5-CLic5v07XHWW0iGRWk-cjeGVSzU4yKg,1117
73
+ edu_rdm_integration/rdm_entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
+ edu_rdm_integration/rdm_entities/apps.py,sha256=2rg5IqBjzpvNsjK-1lnrknxH002XYTDCcrEcARCV-ms,302
75
+ edu_rdm_integration/rdm_entities/entities.py,sha256=YZF07a1rtkhnjVVPu8zR-LGeUJZ4-fE3e76Zrjuxkwk,14928
76
+ edu_rdm_integration/rdm_entities/mixins.py,sha256=ZAaOWmeDHErBj4pn9-MMIkmzq76Mp2DYAb6Rx8TtfZw,3107
77
+ edu_rdm_integration/rdm_entities/models.py,sha256=GELOsMr3lOd7KP2l5iwz-RLTHNTopxB3F_uoPKGpStA,3362
78
+ edu_rdm_integration/rdm_entities/utils.py,sha256=zpVmqcJVYjQSHot9ZrVufDeSECP9kosgTmB8ydFDG8w,1095
79
+ edu_rdm_integration/rdm_entities/migrations/0001_initial.py,sha256=TL8zkmtbFdwdKkFy8wn5SC7dpLBFlS6s8PBp1YBPAog,1664
80
+ edu_rdm_integration/rdm_entities/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ edu_rdm_integration/rdm_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
+ edu_rdm_integration/rdm_models/apps.py,sha256=sVgrhdsMRQnkNYfvS22hl6yMzCRItQ1irkQMJP-UUG0,392
83
+ edu_rdm_integration/rdm_models/mixins.py,sha256=rmoT8Lm5v9bt7WYt4TbCXigkA_guh40I_9bnhHl7Hgg,2327
84
+ edu_rdm_integration/rdm_models/models.py,sha256=6hp03YwJ8twVz0n7Av0B2Xz1D3E1ktX0-rDO8jK6Q5I,2245
85
+ edu_rdm_integration/rdm_models/utils.py,sha256=Xk0HEpFEGAndoAD2TdubK4SI_dW2BvchQ7UeMEfvpfQ,631
86
+ edu_rdm_integration/rdm_models/migrations/0001_initial.py,sha256=qXgObuG2nfOLEnGJBoBqmq30TXetOv21UZU4trMV7mQ,1529
87
+ edu_rdm_integration/rdm_models/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
+ edu_rdm_integration/stages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
+ edu_rdm_integration/stages/collect_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
+ edu_rdm_integration/stages/collect_data/apps.py,sha256=PhrxzAMXvzXajSlgwLudAgasVjh9IFS5M7a7pGbEKC0,339
91
+ edu_rdm_integration/stages/collect_data/consts.py,sha256=tzaK9oxzdMRq3oTEocPz4umoXSJWUtFc7YhyXucCNbs,127
92
+ edu_rdm_integration/stages/collect_data/generators.py,sha256=0LdTjMpKQN67nhMSynBZ_OoiilkwYEoCWEYyXeJq678,12114
93
+ edu_rdm_integration/stages/collect_data/helpers.py,sha256=ePVpqgoeC7ixMllB6GFssDFxoHHUmegle9BApoe9Z3Q,5293
94
+ edu_rdm_integration/stages/collect_data/mixins.py,sha256=nDLiuv_xWxXcPyWApZ6aTTtDPaAF5vHcwWtrEuyeUAw,2072
95
+ edu_rdm_integration/stages/collect_data/models.py,sha256=v6RwkNsmjAPkDY9jqvQxkeBjwED0O4MrOLsgJCrgGG0,10128
96
+ edu_rdm_integration/stages/collect_data/operations.py,sha256=fN1MTMCE4KPPpOqSanCWOZosk0YQVXlpWKKwm05s3XU,11879
97
+ edu_rdm_integration/stages/collect_data/tests.py,sha256=HLJYGM-FWPWe7vQgns7plSxT-D_0Kx_hrWIdz3QDw-A,5540
98
+ edu_rdm_integration/stages/collect_data/function_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/__init__.py-tpl,sha256=wnHVZJb9qLDSBrWBNWKNd3vSwHfHl2QHB-WH_iN-OtQ,107
100
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/apps.py-tpl,sha256=PU5vgYdhtqu440mRAtIzZ78eIc-no3CsPS3rr1kPpOU,319
101
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/caches.py-tpl,sha256=J9b4q70tHicIIWBXYlTILFVGx_oW2_nlgPwXoptyljI,963
102
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/consts.py-tpl,sha256=pds1t4eHzovm7Yz2o5je3UHqRE8gqfT2sL-IwpoBN_o,66
103
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/enums.py-tpl,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
104
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/errors.py-tpl,sha256=dFPgKvChYiv5iyMdoqOG8szqX7BEp8BTmDog2trqueE,247
105
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/functions.py-tpl,sha256=0OTw1lfP_HoCVMU9M2SRef_q7s1YkLkysBRlx3bA-tI,5395
106
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/helpers.py-tpl,sha256=UISoVS4sgLpSMpqhmpHmTa7WTUM-7ncTtB41omIvmM8,1285
107
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/managers.py-tpl,sha256=3tMR88KhdLqnrgteMgnA9avd8cZ8lJFM57k2Ns1sAXo,1708
108
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/presenters.py-tpl,sha256=2Jv_xfrz1Qxj-NXEIaa08uWrIhb5QVZEr9uRxVXczAA,316
109
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/results.py-tpl,sha256=2iyHuzzS0YPZ688hAhSnPKnkY5BZNRNiZpLRcrn40CE,589
110
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/runners.py-tpl,sha256=AdT5V8Ohs44zIiO1uR6wm5CcAvGeArd8Ul-aBt-BT0k,2914
111
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/strings.py-tpl,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
112
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl,sha256=Juw5_GYqxzSFrcliu3YZTK9UHISmsDb0BKXbrOWRWB0,721
113
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/validators.py-tpl,sha256=TIPYLk-rPGE9A1hViZ1Mym8XVJjk1qRlG67YTGZHcIE,587
114
+ edu_rdm_integration/stages/collect_data/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
+ edu_rdm_integration/stages/collect_data/functions/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
+ edu_rdm_integration/stages/collect_data/functions/base/caches.py,sha256=uFArwPl71zdZxwQPfBNNj3D8D6zOdMHQUJYSV8mZiGg,2138
117
+ edu_rdm_integration/stages/collect_data/functions/base/consts.py,sha256=nzP7973d-YG29l-JxJcq7dF81QDLP7FRtTq0dSq46GM,304
118
+ edu_rdm_integration/stages/collect_data/functions/base/functions.py,sha256=mR6-8flc4G83ea8MlXOXOLWb6fEhtQwiKN3Wz1_vzQA,3031
119
+ edu_rdm_integration/stages/collect_data/functions/base/helpers.py,sha256=0bTIdj0_iKpZ30qB65e8L9ytCHMqRMWOhsOog0wB3XY,953
120
+ edu_rdm_integration/stages/collect_data/functions/base/managers.py,sha256=d-JCxmJgCkXQsJe-Rtdt1drGm1WXHMN_B5JjDUU2Y_M,6132
121
+ edu_rdm_integration/stages/collect_data/functions/base/mixins.py,sha256=fJaIoDxcCeX4BPMViSdkGJEZYYD-wIFPuUUaM-bqQHw,18314
122
+ edu_rdm_integration/stages/collect_data/functions/base/runners.py,sha256=7neHnsvU2Sdq_wfi7tY1-A_rjoo6tUaiRY3v8xs120w,1542
123
+ edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
+ edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py,sha256=RderGFT2kOlgtbd0uUAkD5dOVoekOfBcKHf_QEBSjs4,7439
125
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py,sha256=FwTrhJ_24Mx5svJzmhmEfqBtzmE0bsKkBRdSuOIp1Bo,2835
127
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/consts.py,sha256=DsgPOF_2iCzZTPity27oDDkpS6Axdhd5C94uSkIwA1g,84
128
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/enums.py,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
129
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py,sha256=oJlLuhtpwxD-dZF5r-NxAakSpfQD-a42ou-1TjbSXAg,316
130
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/functions.py,sha256=1zngP23OZuMSZp_bcjb5P_nZkh6wvsHDtV-6_quBaCY,1641
131
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py,sha256=s9Aw7ggdSP6_TZgqTTS1fybqJlmA4-cLBeDby1nJmU0,1395
132
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py,sha256=SlK0Y6lBIJ7IpkLU31xUNVMxtE7Ar2GtiXb3_J59hhM,811
133
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py,sha256=ibrhKzP_DFCFVnHWnTp_VF6bztg4hIVMd00WvxN_XhI,428
134
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py,sha256=T-lVfcsNEUQ7bCmrCQqXZGcfGo0Be0r1ZpidZBdJtLo,592
135
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py,sha256=qGC2ner5NKymPagB6UlNxu7ika2pFe4q6ZAtjiBSXF4,1596
136
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/strings.py,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
137
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/tests.py,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
138
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py,sha256=B3otJdwvB5-7tYcu-UnOy-jNYRSqM1tHmpJ2uvAping,905
139
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py,sha256=JvwXge08XqAFKUWYBYymjGf4oZaSdeEy4-9DR8ycINQ,7241
141
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py,sha256=n1yAsx6SJK6dO6i9w7CRdVLuBqPuHOWTPsj6jfbfMBA,6545
143
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/consts.py,sha256=pds1t4eHzovm7Yz2o5je3UHqRE8gqfT2sL-IwpoBN_o,66
144
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/enums.py,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
145
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py,sha256=1869TEc2RMNyQyewxyDcZqNfNiSVJkhQE2pTd0rHUuM,287
146
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/functions.py,sha256=3aB2vrwAI1f1dvgAvO-YRS5pV_ChNX8hx0d3A3N3rs4,1534
147
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py,sha256=5-MXE-L8l-sXZRZp3UrEKHEdYPIqSQHadcETr0rNu2o,1377
148
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py,sha256=geMCnX8FJCuLlMGQocezfiYM_SMFCbpwdB0rz8yXxQY,756
149
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py,sha256=ZWX8MGVNShv_-OpskiAmYwNM8H1K_Bzts-b3kG9LxDA,399
150
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py,sha256=A_IOFMXZGkjdZyfUDkPWfS6OySOQUb7vTOkkpcpyDvg,654
151
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py,sha256=yJ-2myK2Npayj_eMXG_ow5L5wR7AKfpn4NVPldd8_sc,1489
152
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/strings.py,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
153
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/tests.py,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
154
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py,sha256=Rh0bAxzp-3aRZyXkSEVLIeQfK9SIDiUD8UoPlVaCl8o,917
155
+ edu_rdm_integration/stages/collect_data/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
+ edu_rdm_integration/stages/collect_data/management/base.py,sha256=MrncwaXvmbjDVyMrWMXN57D1hwd9F4njYUe_QKAXqMg,4684
157
+ edu_rdm_integration/stages/collect_data/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
+ edu_rdm_integration/stages/collect_data/management/commands/collect_latest_models_data.py,sha256=rD3FwfLi4SpBmIIaI7SXP9AHCqjYJ-WY5aH1Oigm7vw,767
159
+ edu_rdm_integration/stages/collect_data/management/commands/collect_models_data.py,sha256=I9A-SQxHmVPoQ97ImItz7vYE0oW8aMR_ppTuNa30Tsk,1039
160
+ edu_rdm_integration/stages/collect_data/migrations/0001_initial.py,sha256=gujp1W3tAgdw0Kc0FaB7YAB67XehoNaZstm8eujlu2k,9379
161
+ edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py,sha256=HfAmH800S-3z0CELAHff3rGzhjE3V0zguWxJ_ABag8M,4773
162
+ edu_rdm_integration/stages/collect_data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
+ edu_rdm_integration/stages/collect_data/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
+ edu_rdm_integration/stages/collect_data/registry/actions.py,sha256=5u5artTVsByRvoCgQSGZm_u_BsSB38BD2F2YnTcuxDM,9793
165
+ edu_rdm_integration/stages/collect_data/registry/apps.py,sha256=7Xhb247RNCcuv8aKtjrlHlWH9E8F2H4AA6y7qdJG7r0,438
166
+ edu_rdm_integration/stages/collect_data/registry/ui.py,sha256=JT_q-GYtEMh2691M7HxubYj0x8DICaU3p9EY-dQgchA,7661
167
+ edu_rdm_integration/stages/export_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
+ edu_rdm_integration/stages/export_data/apps.py,sha256=TU6AaMZGQE2oHVwKgtUDzFplaVasb2tMIurhkhwkxZo,406
169
+ edu_rdm_integration/stages/export_data/consts.py,sha256=ZEi1kXMs-54KFKxkyGIQVwZ4d8OrOF_vLFQIjjWdSPQ,441
170
+ edu_rdm_integration/stages/export_data/generators.py,sha256=LoA_WPOfx6dzHhIu20kf8KBjSIEL3lZDfxWbfH3p28Y,4035
171
+ edu_rdm_integration/stages/export_data/helpers.py,sha256=JI6_CXFZMGiNFozJvoIeXHbLWQO5mqDpxrMOCswEoo4,6492
172
+ edu_rdm_integration/stages/export_data/mixins.py,sha256=3R--jjWvNsG01uIyN34s2-4fGrOZWDRnqhARz7A7BdY,1772
173
+ edu_rdm_integration/stages/export_data/models.py,sha256=7JRu57mDyxTZtughrEaWyU0s8XwfylNTRi49xSR7cCE,11576
174
+ edu_rdm_integration/stages/export_data/operations.py,sha256=AH0WKsnn37bxHrZf6XWzDDdLFPTpIN6okqza60iSBCQ,13218
175
+ edu_rdm_integration/stages/export_data/strategies.py,sha256=tU4wLn64fmFafPVQFlhBIeQjemH4eiBD6HXRGP12-GY,6535
176
+ edu_rdm_integration/stages/export_data/function_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
177
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/__init__.py-tpl,sha256=wnHVZJb9qLDSBrWBNWKNd3vSwHfHl2QHB-WH_iN-OtQ,107
178
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/apps.py-tpl,sha256=PU5vgYdhtqu440mRAtIzZ78eIc-no3CsPS3rr1kPpOU,319
179
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/caches.py-tpl,sha256=AS7ISHUSlkV-ODVDZ6-sDmkimKhTGKeAU5zXD3HA8Hw,1044
180
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/consts.py-tpl,sha256=pds1t4eHzovm7Yz2o5je3UHqRE8gqfT2sL-IwpoBN_o,66
181
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/enums.py-tpl,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
182
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/errors.py-tpl,sha256=dFPgKvChYiv5iyMdoqOG8szqX7BEp8BTmDog2trqueE,247
183
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/functions.py-tpl,sha256=lzlMfdQyYxsC8zxIelipyhjQ4Et4l9CCQ0byV9_9DKg,2864
184
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/helpers.py-tpl,sha256=2oTv2bA24c-3Zb7CL9G85USS_3bRLuRAEy1DsJN6vjg,1238
185
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/managers.py-tpl,sha256=1yoRyk1D0zXLFx_4wMvRRYVvNciCP0mN0LCBTPpQ7lU,2649
186
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/presenters.py-tpl,sha256=2Jv_xfrz1Qxj-NXEIaa08uWrIhb5QVZEr9uRxVXczAA,316
187
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/results.py-tpl,sha256=2iyHuzzS0YPZ688hAhSnPKnkY5BZNRNiZpLRcrn40CE,589
188
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl,sha256=FT5709zNJj71jpCLXe6xLgt0YGvcKBo_Rb_CzCpNvAU,3649
189
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/strings.py-tpl,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
190
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/tests.py-tpl,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
191
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/validators.py-tpl,sha256=TIPYLk-rPGE9A1hViZ1Mym8XVJjk1qRlG67YTGZHcIE,587
192
+ edu_rdm_integration/stages/export_data/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
+ edu_rdm_integration/stages/export_data/functions/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
+ edu_rdm_integration/stages/export_data/functions/base/caches.py,sha256=WsZY0hUzhydCuC0KO-04norF9qTmncdX_Txk5HTgiFc,1478
195
+ edu_rdm_integration/stages/export_data/functions/base/consts.py,sha256=jLuy2y7YQ921OrEuzDld3F0k6YxgCnr5yorWBQJiLLw,519
196
+ edu_rdm_integration/stages/export_data/functions/base/enums.py,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
197
+ edu_rdm_integration/stages/export_data/functions/base/errors.py,sha256=LusnB7wDkF8upSAgnxPb2c9N51QiTfp3G1l2-3J2AnM,281
198
+ edu_rdm_integration/stages/export_data/functions/base/functions.py,sha256=fD75bhxDGzEOCgJfhAhCo8KUOh2RTaGvWQtNjLjdvA8,8655
199
+ edu_rdm_integration/stages/export_data/functions/base/helpers.py,sha256=f2CFUd6Efu7ZIljjjMi71UxWRFJr3q2mn4nyZPQVCLU,4517
200
+ edu_rdm_integration/stages/export_data/functions/base/managers.py,sha256=3AKhYBEhChZDV-49-bD6nCbRTlqtyvMzUFB3pRU8Bag,6068
201
+ edu_rdm_integration/stages/export_data/functions/base/presenters.py,sha256=83BvbpXlR8Pn7EyyWOuJJneQyWs5F8U0ugZK0FoRDUE,393
202
+ edu_rdm_integration/stages/export_data/functions/base/requests.py,sha256=kZkjuNBvAUraNFN0nxMBD4yHMpN3I0qKnLgJJthq1Ug,2342
203
+ edu_rdm_integration/stages/export_data/functions/base/results.py,sha256=asAaDbbm9REFit7HweqdEZPvYUPH8GP-wh4FHJo5B4U,527
204
+ edu_rdm_integration/stages/export_data/functions/base/runners.py,sha256=QK5WjWK-nnOJ1MdEGCVosFpuRFWpPWOzYQfJN5cIBl0,2438
205
+ edu_rdm_integration/stages/export_data/functions/base/strings.py,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
206
+ edu_rdm_integration/stages/export_data/functions/base/tests.py,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
207
+ edu_rdm_integration/stages/export_data/functions/base/validators.py,sha256=s6Ne37zMS5UOyB-Od2fFQDmvD2c0jBWZ_XFUaaYX-6I,905
208
+ edu_rdm_integration/stages/export_data/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
+ edu_rdm_integration/stages/export_data/management/base.py,sha256=JUoVFMh6421O78KwQR8FC7rTQi6HAiqQ1pkcrtPRawI,4116
210
+ edu_rdm_integration/stages/export_data/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
211
+ edu_rdm_integration/stages/export_data/management/commands/export_entities_data.py,sha256=0WTmc0-B1vQsXHERhYfzDIe_y_glIxy0lE67GLCfrPc,937
212
+ edu_rdm_integration/stages/export_data/management/commands/export_latest_entities_data.py,sha256=eYjBs_tZxcUAIseCyvsy5Jk-8k9Gm3xrG2dCuWNnrEs,1163
213
+ edu_rdm_integration/stages/export_data/migrations/0001_initial.py,sha256=o-rqE-ww8xaxSCiG9dkrU_82sQndgNivMouguQPLi8A,16796
214
+ edu_rdm_integration/stages/export_data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
215
+ edu_rdm_integration/stages/export_data/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
+ edu_rdm_integration/stages/export_data/registry/actions.py,sha256=TvzuQF2e2gnYAKVljksqA8tWPltKmm5scNDkyTdwaMk,10410
217
+ edu_rdm_integration/stages/export_data/registry/apps.py,sha256=SJl388IfbTpW51DGiINI3jaj8RCiCXi4CsmWLfEayb8,447
218
+ edu_rdm_integration/stages/export_data/registry/ui.py,sha256=ABfd-Wg_rIkNsH-5_LGF4y8UAwRD4-PcGNrj6bb7jO4,5968
219
+ edu_rdm_integration/stages/export_data/registry/templates/ui-js/stage_for_export.js,sha256=329OZIpiKHlQ-i8JStjBLXtouIMKuJHbycArUGSskfk,737
220
+ edu_rdm_integration/stages/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
221
+ edu_rdm_integration/stages/service/apps.py,sha256=lgCG4_kpwgfDWh6y-GNuUwz5SOjkP7oS8kkUyVUcNRg,648
222
+ edu_rdm_integration/stages/service/tasks.py,sha256=PPCtT6EpLkAKRczY0KIT6GeE9eBkv60fl2W6KFvCRqc,2302
223
+ edu_rdm_integration/stages/upload_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
+ edu_rdm_integration/stages/upload_data/apps.py,sha256=aFhVPK-65b35CGKoAeAgQ0mm3STaWtZg7rqk3eL-b7s,620
225
+ edu_rdm_integration/stages/upload_data/consts.py,sha256=PFpWpJeOys3wu2JwfNkLOgpp7qss8z5gBxY3XuTxwYA,243
226
+ edu_rdm_integration/stages/upload_data/dataclasses.py,sha256=zwxlED6yEeMStfc-Y6pvdY7xF-530qbO0HBWfwneeI8,261
227
+ edu_rdm_integration/stages/upload_data/enums.py,sha256=uGRqcflf6moPWfFa8KKbeSY2y88-AegAcRJKlQ1PA_Y,453
228
+ edu_rdm_integration/stages/upload_data/export_managers.py,sha256=H_CPOPRDrGR7kDWk7klm4tkRjUrFChAruEJs75GMj34,13640
229
+ edu_rdm_integration/stages/upload_data/helpers.py,sha256=rHEOt2JvLFbZlyTAg8pK8OGNQ3qEWu2D9nrYJIi4VRY,6177
230
+ edu_rdm_integration/stages/upload_data/models.py,sha256=TkIFxVq3RY9n5nAjPPtctV7QLyTmC4aXdRV6rWPnW7w,5155
231
+ edu_rdm_integration/stages/upload_data/operations.py,sha256=CVQYaucerJbOAE3JDO05FaX4Bz9hBMKBXYqJohXKZpI,6462
232
+ edu_rdm_integration/stages/upload_data/queues.py,sha256=MbDnltQLjTCXLnNQVO0KA4SaAzyU8xO51CRid6Cle4g,6130
233
+ edu_rdm_integration/stages/upload_data/tasks.py,sha256=HEXNy1cM8QAZC_v0ne9Twsg6XC4zP_2TVkxiR64YYe4,3567
234
+ edu_rdm_integration/stages/upload_data/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
235
+ edu_rdm_integration/stages/upload_data/management/base.py,sha256=cXGIXvb1K5Q6xPM7S4W0gqGZO9dUao_ix_hyVJ6bkfQ,4402
236
+ edu_rdm_integration/stages/upload_data/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
237
+ edu_rdm_integration/stages/upload_data/management/commands/async_fix_attachment_size.py,sha256=f-mQHU-3ny3RjwfSBehDl-Itx-TnL7kT41cUlD9ghJ4,9735
238
+ edu_rdm_integration/stages/upload_data/management/commands/check_upload_status.py,sha256=LSBsI5N5nuPxSmt9dzQBBQ0aTOxA75Q1RFPz3Q78WTU,3945
239
+ edu_rdm_integration/stages/upload_data/management/commands/datamart_status.py,sha256=aKsxjSG2EiSuetyh9mDVfhKU3ZZAAS8GCAXbOv8lQaE,1262
240
+ edu_rdm_integration/stages/upload_data/management/commands/datamart_upload.py,sha256=VF94eqO3nIbvhPFwtUlYLAMwPXEU0uGt9m5xnIjLu68,1525
241
+ edu_rdm_integration/stages/upload_data/migrations/0001_initial.py,sha256=4dRroCI8ZxBuyRJC81si-LVAfzLMn3mYDccy48gUzCo,8080
242
+ edu_rdm_integration/stages/upload_data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
+ edu_rdm_integration/stages/upload_data/uploader_log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
+ edu_rdm_integration/stages/upload_data/uploader_log/actions.py,sha256=stXHS_CB93AtnuToimsnsbl0gqOn_DbPk6jnCwJs9NQ,8030
245
+ edu_rdm_integration/stages/upload_data/uploader_log/apps.py,sha256=mptmuILkN8TJitl-91Z2S-ts6pNpsieJlmpP7PM9u44,370
246
+ edu_rdm_integration/stages/upload_data/uploader_log/enums.py,sha256=rgSO3BL2rh2xpfm0Pt4waQW8fB1VMJLdsGmr3SXwH_U,266
247
+ edu_rdm_integration/stages/upload_data/uploader_log/managers.py,sha256=xM8NnIt8rEVYWW8aJbM4X_w1tRV3dv3LtrRrnoRkm-U,2969
248
+ edu_rdm_integration/stages/upload_data/uploader_log/models.py,sha256=ip3Q3LKr4s7JudbDEuCsFRUrkvfVLTwg8Q5te2DXcHo,2394
249
+ edu_rdm_integration/stages/upload_data/uploader_log/ui.py,sha256=mU3XA9zVKHGqzNkZNxwQ9OLDo4sZFxR3UR2LRw_ncts,1830
250
+ edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py,sha256=r5oOB7DBK9-mfuqPAgjXUJY5-hEcmMdILCwDTpaLnBc,753
251
+ edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
252
+ edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js,sha256=2xyGe0wdVokM0RhpzRzcRvJPBkBmPe3SlZry4oP4Nzs,6201
253
+ edu_rdm_integration-3.10.1.dist-info/licenses/LICENSE,sha256=uw43Gjjj-1vXWCItfSrNDpbejnOwZMrNerUh8oWbq8Q,3458
254
+ edu_rdm_integration-3.10.1.dist-info/METADATA,sha256=ZcY9iHIWYumnfEAgGVS71fL9FFIaWBujag7x87JirKw,39590
255
+ edu_rdm_integration-3.10.1.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
256
+ edu_rdm_integration-3.10.1.dist-info/top_level.txt,sha256=nRJV0O14UtNE-jGIYG03sohgFnZClvf57H5m6VBXe9Y,20
257
+ edu_rdm_integration-3.10.1.dist-info/RECORD,,
@@ -1,16 +0,0 @@
1
- from educommon import (
2
- ioc,
3
- )
4
-
5
- from edu_rdm_integration.registry.actions import (
6
- EntitySelectPack,
7
- TransferredEntityPack,
8
- )
9
-
10
-
11
- def register_actions():
12
- """Регистрирует паки и экшны."""
13
- ioc.get('main_controller').packs.extend((
14
- TransferredEntityPack(),
15
- EntitySelectPack(),
16
- ))
@@ -1,77 +0,0 @@
1
- # Ссылка на каталог с файлами для загрузки
2
- UPLOADS = 'uploads'
3
-
4
- # Префикс идентификаторов записей сущностей специфический для продукта. Должен быть заполнен в продуктах в settings.py
5
- # или в конфигурационном файле
6
- RDM_EXPORT_ENTITY_ID_PREFIX = ''
7
-
8
- # Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных
9
- RDM_COLLECT_CHUNK_SIZE = 500
10
-
11
- # Количество записей моделей обрабатываемых за одну итерацию экспорта
12
- RDM_EXPORT_CHUNK_SIZE = 500
13
-
14
- # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
15
- RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE = 5_000
16
-
17
- # Отображение пункта меню "Региональная витрина данных"
18
- RDM_MENU_ITEM = True
19
-
20
-
21
- # Загрузка данных в Региональную витрину данных (РВД)
22
- # Адрес витрины (schema://host:port)
23
- RDM_UPLOADER_CLIENT_URL = 'http://localhost:8090'
24
-
25
- # Мнемоника Витрины
26
- RDM_UPLOADER_CLIENT_DATAMART_NAME = 'test'
27
-
28
- # Количество повторных попыток запроса
29
- RDM_UPLOADER_CLIENT_REQUEST_RETRIES = 10
30
-
31
- # Таймаут запроса, сек
32
- RDM_UPLOADER_CLIENT_REQUEST_TIMEOUT = 10
33
-
34
- # Включить эмуляцию отправки запросов
35
- RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION = True
36
-
37
-
38
- # Настройка запуска периодической задачи выгрузки данных:
39
- RDM_TRANSFER_TASK_MINUTE = '0'
40
- RDM_TRANSFER_TASK_HOUR = '*/4'
41
- RDM_TRANSFER_TASK_DAY_OF_WEEK = '*'
42
- RDM_TRANSFER_TASK_LOCK_EXPIRE_SECONDS = 60 * 60 * 6
43
-
44
- # Настройка запуска периодической задачи выгрузки данных - очередь быстрого уровня
45
- RDM_FAST_TRANSFER_TASK_MINUTE = '*/5'
46
- RDM_FAST_TRANSFER_TASK_HOUR = '*'
47
- RDM_FAST_TRANSFER_TASK_DAY_OF_WEEK = '*'
48
- RDM_FAST_TRANSFER_TASK_LOCK_EXPIRE_SECONDS = 60 * 30
49
-
50
- # Настройка запуска периодической задачи выгрузки данных - очередь медленного уровня
51
- RDM_LONG_TRANSFER_TASK_MINUTE = '0'
52
- RDM_LONG_TRANSFER_TASK_HOUR = '*/6'
53
- RDM_LONG_TRANSFER_TASK_DAY_OF_WEEK = '*'
54
- RDM_LONG_TRANSFER_TASK_LOCK_EXPIRE_SECONDS = 60 * 60 * 6
55
-
56
-
57
- # Настройка запуска периодической задачи статуса загрузки данных в витрину:
58
- RDM_UPLOAD_STATUS_TASK_MINUTE = '*/30'
59
- RDM_UPLOAD_STATUS_TASK_HOUR = '*'
60
- RDM_UPLOAD_STATUS_TASK_DAY_OF_WEEK = '*'
61
- RDM_UPLOAD_STATUS_TASK_LOCK_EXPIRE_SECONDS = 60 * 60 * 2
62
-
63
- # Настройка очереди Redis для формирования файлов РВД
64
- RDM_UPLOAD_QUEUE_MAX_SIZE = 500_000_000
65
- # Таймаут для сохранения параметров в общем кеш
66
- RDM_REDIS_CACHE_TIMEOUT_SECONDS = 60 * 60 * 2
67
-
68
-
69
- # Настройка запуска периодической задачи отправки csv-файлов в витрину:
70
- RDM_UPLOAD_DATA_TASK_MINUTE = '0'
71
- RDM_UPLOAD_DATA_TASK_HOUR = '*/2'
72
- RDM_UPLOAD_DATA_TASK_DAY_OF_WEEK = '*'
73
- RDM_UPLOAD_DATA_TASK_LOCK_EXPIRE_SECONDS = 60 * 60 * 2
74
- # Количество подэтапов для обработки в периодической задаче отправки данных
75
- RDM_UPLOAD_DATA_TASK_EXPORT_STAGES = 500
76
-
77
- RDM_RESPONSE_FILE_STATUS = 'success'
@@ -1,224 +0,0 @@
1
- from abc import (
2
- ABC,
3
- abstractmethod,
4
- )
5
- from typing import (
6
- Dict,
7
- Iterable,
8
- Optional,
9
- )
10
-
11
- from django.db.models import (
12
- QuerySet,
13
- )
14
-
15
- from educommon.async_task.exceptions import (
16
- TaskUniqueException,
17
- )
18
- from educommon.async_task.models import (
19
- AsyncTaskType,
20
- )
21
- from educommon.async_task.tasks import (
22
- AsyncTask,
23
- )
24
-
25
- from edu_rdm_integration.collect_and_export_data.models import (
26
- EduRdmCollectDataCommandProgress,
27
- EduRdmExportDataCommandProgress,
28
- )
29
- from edu_rdm_integration.collect_data.collect import (
30
- BaseCollectModelsDataByGeneratingLogs,
31
- )
32
- from edu_rdm_integration.consts import (
33
- TASK_QUEUE_NAME,
34
- )
35
- from edu_rdm_integration.enums import (
36
- EntityLevelQueueTypeEnum,
37
- )
38
- from edu_rdm_integration.export_data.export import (
39
- ExportEntitiesData,
40
- )
41
- from edu_rdm_integration.helpers import (
42
- save_command_log_link,
43
- )
44
-
45
-
46
- class CollectCommandMixin:
47
- """Класс-примесь для запуска команды сборки моделей."""
48
-
49
- queue = TASK_QUEUE_NAME
50
- routing_key = TASK_QUEUE_NAME
51
- description = 'Сбор данных моделей РВД'
52
- task_type = AsyncTaskType.SYSTEM
53
-
54
- def get_collect_command(self, command_id: int) -> EduRdmCollectDataCommandProgress:
55
- """Возвращает экземпляр модели команды запуска."""
56
- command = EduRdmCollectDataCommandProgress.objects.get(id=command_id)
57
-
58
- return command
59
-
60
- def get_collect_models_class(self):
61
- """Возвращает класс для сбора данных."""
62
- return BaseCollectModelsDataByGeneratingLogs
63
-
64
- def run_collect_command(self, command) -> None:
65
- """Запуск команды сбора."""
66
- collect_models_data_class = self.get_collect_models_class()
67
- collect_models_data_class(
68
- models=(command.model_id,),
69
- logs_period_started_at=command.logs_period_started_at,
70
- logs_period_ended_at=command.logs_period_ended_at,
71
- command_id=command.id,
72
- institute_ids=tuple(command.institute_ids or ()),
73
- ).collect()
74
-
75
- def save_collect_command_logs(self, command_id: int, log_dir: str):
76
- """Сохранение ссылки на файл логов в команде."""
77
- try:
78
- command = self.get_collect_command(command_id)
79
- except EduRdmCollectDataCommandProgress.DoesNotExist:
80
- command = None
81
-
82
- if command:
83
- save_command_log_link(command, log_dir)
84
-
85
-
86
- class ExportCommandMixin:
87
- """Класс-примесь для запуска команды выгрузки сущностей."""
88
-
89
- queue = TASK_QUEUE_NAME
90
- routing_key = TASK_QUEUE_NAME
91
- description = 'Экспорт данных сущностей РВД'
92
- task_type = AsyncTaskType.SYSTEM
93
-
94
- def get_export_command(self, command_id: int) -> EduRdmExportDataCommandProgress:
95
- """Возвращает экземпляр модели команды запуска."""
96
- command = EduRdmExportDataCommandProgress.objects.get(id=command_id)
97
-
98
- return command
99
-
100
- def run_export_command(self, command: EduRdmExportDataCommandProgress) -> None:
101
- """Запуск команды выгрузки."""
102
- ExportEntitiesData(
103
- entities=(command.entity_id,),
104
- period_started_at=command.period_started_at,
105
- period_ended_at=command.period_ended_at,
106
- command_id=command.id,
107
- ).export()
108
-
109
- def save_export_command_logs(self, command_id: int, log_dir: str):
110
- """Сохранение ссылки на файл логов в команде."""
111
- try:
112
- command = self.get_export_command(command_id)
113
- except EduRdmExportDataCommandProgress.DoesNotExist:
114
- command = None
115
-
116
- if command:
117
- save_command_log_link(command, log_dir)
118
-
119
-
120
- class BaseTaskProgressUpdater(ABC):
121
- """Базовый класс, который обновляет данные в таблицах, хранящих команды сбора/экспорта."""
122
-
123
- @property
124
- @abstractmethod
125
- def update_model(self):
126
- """
127
- Основная модель для обновления.
128
-
129
- Необходимо задать в дочернем классе.
130
- """
131
-
132
- @property
133
- @abstractmethod
134
- def async_model(self):
135
- """
136
- Модель асинхронных задач.
137
-
138
- Необходимо задать в дочернем классе.
139
- """
140
-
141
- def set_async_task(self, commands_to_update: Dict[EduRdmCollectDataCommandProgress, str]) -> None:
142
- """Устанавливает ссылку на асинхронную задачу."""
143
- for command, task_uuid in commands_to_update.items():
144
- command.task_id = task_uuid
145
-
146
- self.update_model.objects.bulk_update(
147
- commands_to_update,
148
- ['task_id'],
149
- )
150
-
151
- def set_stage(self, command_id: int, stage_id: int) -> None:
152
- """Устанавливает ссылку на stage."""
153
- self.update_model.objects.filter(
154
- id=command_id,
155
- ).update(
156
- stage_id=stage_id,
157
- )
158
-
159
-
160
- class BaseTaskStarter(ABC):
161
- """Запускает асинхронные задачи."""
162
-
163
- updater: BaseTaskProgressUpdater = None
164
- async_task: AsyncTask = None
165
- model_only_fields: Iterable[str] = ()
166
-
167
- def run(self, command_ids: Iterable[int], queue_level: Optional[int] = None) -> str:
168
- """Создает задачи и ставит их в очередь."""
169
- commands_to_update = {}
170
- skipped_commands_count = 0
171
- commands = self._get_commands(command_ids)
172
- queue_name = None
173
-
174
- if queue_level:
175
- queue_name = EntityLevelQueueTypeEnum.get_queue_name(level=queue_level)
176
-
177
- if not queue_name:
178
- queue_name = TASK_QUEUE_NAME
179
-
180
- for command in commands:
181
- if command.task_id:
182
- # Повторный запуск команды не допускается
183
- skipped_commands_count += 1
184
- continue
185
-
186
- try:
187
- async_result = self.async_task().apply_async( # noqa pylint: disable=not-callable
188
- args=None,
189
- queue=queue_name,
190
- routing_key=queue_name,
191
- kwargs={
192
- 'command_id': command.id,
193
- },
194
- lock_data={
195
- 'lock_params': {
196
- 'command_id': f'{self.updater.update_model.__name__}_{command.id}',
197
- },
198
- },
199
- )
200
- except TaskUniqueException:
201
- skipped_commands_count += 1
202
- continue
203
- else:
204
- commands_to_update[command] = async_result.task_id
205
-
206
- if commands_to_update:
207
- self.updater().set_async_task(commands_to_update) # noqa pylint: disable=not-callable
208
-
209
- message = f'Поставлено задач в очередь: {len(commands_to_update)} из {len(commands)}.'
210
- if skipped_commands_count:
211
- message += (
212
- f' Кол-во задач, которые были запущены ранее: {skipped_commands_count}. '
213
- 'Однажды запущенные задачи не могут быть запущены снова!'
214
- )
215
-
216
- return message
217
-
218
- def _get_commands(self, command_ids: Iterable[int]) -> 'QuerySet':
219
- """Возвращает Queryset команд для создания задач."""
220
- return self.updater.update_model.objects.filter(
221
- id__in=command_ids,
222
- ).only(
223
- *self.model_only_fields,
224
- )
@@ -1,26 +0,0 @@
1
- from edu_rdm_integration.adapters.helpers import (
2
- WebEduFunctionHelper,
3
- WebEduRunnerHelper,
4
- )
5
- from edu_rdm_integration.consts import (
6
- ALL_OPERATIONS,
7
- UPDATED_OPERATIONS,
8
- )
9
-
10
-
11
- class BaseCollectingDataRunnerHelper(WebEduRunnerHelper):
12
- """
13
- Базовый класс помощников ранеров функций сбора данных для интеграции с "Региональная витрина данных".
14
- """
15
-
16
-
17
- class BaseCollectingDataFunctionHelper(WebEduFunctionHelper):
18
- """
19
- Базовый класс помощников функций сбора данных для интеграции с "Региональная витрина данных".
20
- """
21
-
22
- def get_filtered_operations(self, with_deleted: bool = False) -> tuple[int]:
23
- """
24
- Возвращает кортеж отфильтрованных операций.
25
- """
26
- return ALL_OPERATIONS if with_deleted else UPDATED_OPERATIONS
@@ -1,9 +0,0 @@
1
- from edu_rdm_integration.adapters.errors import (
2
- WebEduError,
3
- )
4
-
5
-
6
- class BaseCollectingCalculatedExportedDataError(WebEduError):
7
- """
8
- Базовая ошибка функций сбора расчетных данных для интеграции с "Региональная витрина данных".
9
- """