edu-rdm-integration 3.9.1__py3-none-any.whl → 3.10.0__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/{consts.py → core/consts.py} +0 -11
  20. edu_rdm_integration/{enums.py → core/enums.py} +7 -54
  21. edu_rdm_integration/core/helpers.py +331 -0
  22. edu_rdm_integration/core/operations.py +71 -0
  23. edu_rdm_integration/core/redis_cache.py +20 -0
  24. edu_rdm_integration/{collect_and_export_data → core/registry}/actions.py +6 -12
  25. edu_rdm_integration/core/registry/apps.py +11 -0
  26. edu_rdm_integration/{collect_and_export_data → core/registry}/ui.py +1 -1
  27. edu_rdm_integration/{storages.py → core/storages.py} +8 -17
  28. edu_rdm_integration/{utils.py → core/utils.py} +29 -91
  29. edu_rdm_integration/migrations/0001_initial.py +294 -44
  30. edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +1 -3
  31. edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -1
  32. edu_rdm_integration/migrations/0004_uploaderclientlog.py +1 -2
  33. edu_rdm_integration/migrations/0005_auto_20231204_1224.py +16 -4
  34. edu_rdm_integration/migrations/0006_request_status_data.py +60 -58
  35. edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -1
  36. edu_rdm_integration/migrations/0009_auto_20240522_1619.py +1 -5
  37. edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -1
  38. edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +16 -3
  39. edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -1
  40. edu_rdm_integration/migrations/0013_set_attachment_size.py +8 -12
  41. edu_rdm_integration/migrations/0014_uploaddatacommand.py +33 -6
  42. edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +1 -5
  43. edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +2 -2
  44. edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +3 -2
  45. edu_rdm_integration/migrations/__init__.py +1 -0
  46. edu_rdm_integration/{registry → pipelines/transfer}/actions.py +13 -26
  47. edu_rdm_integration/pipelines/transfer/app_meta.py +18 -0
  48. edu_rdm_integration/pipelines/transfer/apps.py +19 -0
  49. edu_rdm_integration/pipelines/transfer/enums.py +34 -0
  50. edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +57 -0
  51. edu_rdm_integration/{base.py → pipelines/transfer/mixins.py} +29 -53
  52. edu_rdm_integration/pipelines/transfer/models.py +48 -0
  53. edu_rdm_integration/{tasks.py → pipelines/transfer/tasks.py} +51 -150
  54. edu_rdm_integration/{registry → pipelines/transfer}/ui.py +4 -10
  55. edu_rdm_integration/rdm_entities/apps.py +11 -0
  56. edu_rdm_integration/{entities.py → rdm_entities/entities.py} +67 -57
  57. edu_rdm_integration/rdm_entities/migrations/0001_initial.py +44 -0
  58. edu_rdm_integration/{enum_register → rdm_entities}/mixins.py +8 -59
  59. edu_rdm_integration/rdm_entities/models.py +63 -0
  60. edu_rdm_integration/rdm_entities/utils.py +33 -0
  61. edu_rdm_integration/rdm_models/apps.py +16 -0
  62. edu_rdm_integration/rdm_models/migrations/0001_initial.py +40 -0
  63. edu_rdm_integration/rdm_models/mixins.py +67 -0
  64. edu_rdm_integration/rdm_models/models.py +73 -0
  65. edu_rdm_integration/rdm_models/utils.py +23 -0
  66. edu_rdm_integration/stages/collect_data/apps.py +11 -0
  67. edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/functions.py-tpl +2 -2
  68. edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/managers.py-tpl +1 -1
  69. edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/runners.py-tpl +1 -1
  70. edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/tests.py-tpl +2 -1
  71. edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/caches.py +2 -2
  72. edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/functions.py +15 -18
  73. edu_rdm_integration/stages/collect_data/functions/base/helpers.py +20 -0
  74. edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/managers.py +20 -27
  75. edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/mixins.py +38 -55
  76. edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/runners.py +2 -5
  77. edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
  78. edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/caches.py +3 -7
  79. edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +7 -0
  80. edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/functions.py +8 -16
  81. edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +24 -0
  82. edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +19 -0
  83. edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/presenters.py +1 -3
  84. edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +12 -0
  85. edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +28 -0
  86. edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +20 -0
  87. edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/strategies.py +32 -70
  88. edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
  89. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
  90. edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/caches.py +13 -22
  91. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +7 -0
  92. edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/functions.py +8 -16
  93. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +24 -0
  94. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +19 -0
  95. edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/presenters.py +1 -3
  96. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +12 -0
  97. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +28 -0
  98. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +20 -0
  99. edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/strategies.py +32 -70
  100. edu_rdm_integration/{collect_data → stages/collect_data}/generators.py +9 -14
  101. edu_rdm_integration/stages/collect_data/helpers.py +154 -0
  102. edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
  103. edu_rdm_integration/stages/collect_data/management/base.py +100 -0
  104. edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
  105. edu_rdm_integration/{management → stages/collect_data/management}/commands/collect_latest_models_data.py +5 -7
  106. edu_rdm_integration/{management → stages/collect_data/management}/commands/collect_models_data.py +5 -7
  107. edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +187 -0
  108. edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +105 -0
  109. edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
  110. edu_rdm_integration/stages/collect_data/mixins.py +56 -0
  111. edu_rdm_integration/stages/collect_data/models.py +318 -0
  112. edu_rdm_integration/{collect_data/collect.py → stages/collect_data/operations.py} +30 -43
  113. edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
  114. edu_rdm_integration/{collect_data → stages/collect_data/registry}/actions.py +17 -20
  115. edu_rdm_integration/stages/collect_data/registry/apps.py +11 -0
  116. edu_rdm_integration/{collect_data → stages/collect_data/registry}/ui.py +8 -15
  117. edu_rdm_integration/{collect_data → stages/collect_data}/tests.py +2 -2
  118. edu_rdm_integration/stages/export_data/__init__.py +0 -0
  119. edu_rdm_integration/stages/export_data/apps.py +11 -0
  120. edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
  121. edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/functions.py-tpl +2 -2
  122. edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/managers.py-tpl +2 -2
  123. edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/runners.py-tpl +2 -2
  124. edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
  125. edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
  126. edu_rdm_integration/{export_data → stages/export_data/functions}/base/caches.py +3 -8
  127. edu_rdm_integration/stages/export_data/functions/base/errors.py +7 -0
  128. edu_rdm_integration/{export_data → stages/export_data/functions}/base/functions.py +28 -59
  129. edu_rdm_integration/{export_data → stages/export_data/functions}/base/helpers.py +7 -17
  130. edu_rdm_integration/{export_data → stages/export_data/functions}/base/managers.py +19 -28
  131. edu_rdm_integration/stages/export_data/functions/base/presenters.py +11 -0
  132. edu_rdm_integration/{export_data → stages/export_data/functions}/base/requests.py +13 -40
  133. edu_rdm_integration/stages/export_data/functions/base/results.py +12 -0
  134. edu_rdm_integration/{export_data → stages/export_data/functions}/base/runners.py +9 -21
  135. edu_rdm_integration/stages/export_data/functions/base/validators.py +20 -0
  136. edu_rdm_integration/{export_data → stages/export_data}/generators.py +7 -6
  137. edu_rdm_integration/stages/export_data/helpers.py +203 -0
  138. edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
  139. edu_rdm_integration/stages/export_data/management/base.py +101 -0
  140. edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
  141. edu_rdm_integration/{management → stages/export_data/management}/commands/export_entities_data.py +5 -7
  142. edu_rdm_integration/{management → stages/export_data/management}/commands/export_latest_entities_data.py +5 -7
  143. edu_rdm_integration/stages/export_data/migrations/0001_initial.py +324 -0
  144. edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
  145. edu_rdm_integration/stages/export_data/mixins.py +50 -0
  146. edu_rdm_integration/stages/export_data/models.py +362 -0
  147. edu_rdm_integration/{export_data/export.py → stages/export_data/operations.py} +30 -192
  148. edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
  149. edu_rdm_integration/{export_data → stages/export_data/registry}/actions.py +18 -18
  150. edu_rdm_integration/stages/export_data/registry/apps.py +11 -0
  151. edu_rdm_integration/{export_data → stages/export_data/registry}/ui.py +5 -7
  152. edu_rdm_integration/{export_data → stages/export_data}/strategies.py +30 -68
  153. edu_rdm_integration/stages/service/__init__.py +0 -0
  154. edu_rdm_integration/stages/service/apps.py +19 -0
  155. edu_rdm_integration/stages/service/tasks.py +63 -0
  156. edu_rdm_integration/stages/upload_data/__init__.py +0 -0
  157. edu_rdm_integration/stages/upload_data/apps.py +19 -0
  158. edu_rdm_integration/stages/upload_data/consts.py +10 -0
  159. edu_rdm_integration/{export_data → stages/upload_data}/dataclasses.py +1 -0
  160. edu_rdm_integration/stages/upload_data/enums.py +17 -0
  161. edu_rdm_integration/{export_data/export_manager.py → stages/upload_data/export_managers.py} +73 -68
  162. edu_rdm_integration/stages/upload_data/helpers.py +164 -0
  163. edu_rdm_integration/stages/upload_data/management/__init__.py +0 -0
  164. edu_rdm_integration/stages/upload_data/management/base.py +134 -0
  165. edu_rdm_integration/stages/upload_data/management/commands/__init__.py +0 -0
  166. edu_rdm_integration/{management → stages/upload_data/management}/commands/async_fix_attachment_size.py +32 -54
  167. edu_rdm_integration/{management → stages/upload_data/management}/commands/check_upload_status.py +7 -6
  168. edu_rdm_integration/{management → stages/upload_data/management}/commands/datamart_status.py +3 -3
  169. edu_rdm_integration/{management → stages/upload_data/management}/commands/datamart_upload.py +4 -4
  170. edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +161 -0
  171. edu_rdm_integration/stages/upload_data/migrations/__init__.py +0 -0
  172. edu_rdm_integration/stages/upload_data/models.py +175 -0
  173. edu_rdm_integration/stages/upload_data/operations.py +156 -0
  174. edu_rdm_integration/{export_data/queue.py → stages/upload_data/queues.py} +10 -8
  175. edu_rdm_integration/stages/upload_data/tasks.py +103 -0
  176. edu_rdm_integration/stages/upload_data/uploader_log/__init__.py +0 -0
  177. edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/actions.py +14 -16
  178. edu_rdm_integration/stages/upload_data/uploader_log/apps.py +11 -0
  179. edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/managers.py +15 -30
  180. edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +31 -0
  181. edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
  182. edu_rdm_integration/stages/upload_data/uploader_log/models.py +86 -0
  183. edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/ui.py +8 -6
  184. {edu_rdm_integration-3.9.1.dist-info → edu_rdm_integration-3.10.0.dist-info}/METADATA +238 -238
  185. edu_rdm_integration-3.10.0.dist-info/RECORD +255 -0
  186. edu_rdm_integration/app_meta.py +0 -16
  187. edu_rdm_integration/app_settings.py +0 -77
  188. edu_rdm_integration/collect_and_export_data/models.py +0 -67
  189. edu_rdm_integration/collect_and_export_data/utils.py +0 -224
  190. edu_rdm_integration/collect_data/base/helpers.py +0 -26
  191. edu_rdm_integration/collect_data/calculated/base/errors.py +0 -9
  192. edu_rdm_integration/collect_data/calculated/base/helpers.py +0 -32
  193. edu_rdm_integration/collect_data/calculated/base/managers.py +0 -23
  194. edu_rdm_integration/collect_data/calculated/base/results.py +0 -16
  195. edu_rdm_integration/collect_data/calculated/base/runners.py +0 -36
  196. edu_rdm_integration/collect_data/calculated/base/validators.py +0 -28
  197. edu_rdm_integration/collect_data/helpers.py +0 -92
  198. edu_rdm_integration/collect_data/non_calculated/base/errors.py +0 -9
  199. edu_rdm_integration/collect_data/non_calculated/base/helpers.py +0 -32
  200. edu_rdm_integration/collect_data/non_calculated/base/managers.py +0 -23
  201. edu_rdm_integration/collect_data/non_calculated/base/results.py +0 -16
  202. edu_rdm_integration/collect_data/non_calculated/base/runners.py +0 -36
  203. edu_rdm_integration/collect_data/non_calculated/base/validators.py +0 -28
  204. edu_rdm_integration/enum_register/register.py +0 -79
  205. edu_rdm_integration/export_data/base/errors.py +0 -9
  206. edu_rdm_integration/export_data/base/presenters.py +0 -13
  207. edu_rdm_integration/export_data/base/results.py +0 -16
  208. edu_rdm_integration/export_data/base/validators.py +0 -28
  209. edu_rdm_integration/export_data/helpers.py +0 -92
  210. edu_rdm_integration/helpers.py +0 -412
  211. edu_rdm_integration/management/general.py +0 -327
  212. edu_rdm_integration/models.py +0 -982
  213. edu_rdm_integration/redis_cache.py +0 -51
  214. edu_rdm_integration/uploader_log/apps.py +0 -10
  215. edu_rdm_integration-3.9.1.dist-info/RECORD +0 -198
  216. /edu_rdm_integration/{collect_and_export_data/migrations → core}/__init__.py +0 -0
  217. /edu_rdm_integration/{mapping.py → core/mapping.py} +0 -0
  218. /edu_rdm_integration/{collect_data → core/registry}/__init__.py +0 -0
  219. /edu_rdm_integration/{templates → core/registry/templates}/ui-js/start-task.js +0 -0
  220. /edu_rdm_integration/{signals.py → core/signals.py} +0 -0
  221. /edu_rdm_integration/{typing.py → core/typing.py} +0 -0
  222. /edu_rdm_integration/{collect_data/base → pipelines}/__init__.py +0 -0
  223. /edu_rdm_integration/{collect_data/calculated → pipelines/transfer}/__init__.py +0 -0
  224. /edu_rdm_integration/{collect_data/calculated/base → pipelines/transfer/migrations}/__init__.py +0 -0
  225. /edu_rdm_integration/{templates → pipelines/transfer/templates}/ui-js/transferred-entity-list.js +0 -0
  226. /edu_rdm_integration/{collect_data/non_calculated → rdm_entities}/__init__.py +0 -0
  227. /edu_rdm_integration/{collect_data/non_calculated/base → rdm_entities/migrations}/__init__.py +0 -0
  228. /edu_rdm_integration/{enum_register → rdm_models}/__init__.py +0 -0
  229. /edu_rdm_integration/{export_data → rdm_models/migrations}/__init__.py +0 -0
  230. /edu_rdm_integration/{export_data/base → stages}/__init__.py +0 -0
  231. /edu_rdm_integration/{function_templates → stages/collect_data}/__init__.py +0 -0
  232. /edu_rdm_integration/{collect_data/const.py → stages/collect_data/consts.py} +0 -0
  233. /edu_rdm_integration/{management → stages/collect_data/function_templates}/__init__.py +0 -0
  234. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/__init__.py-tpl +0 -0
  235. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/apps.py-tpl +0 -0
  236. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/caches.py-tpl +0 -0
  237. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/consts.py-tpl +0 -0
  238. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/enums.py-tpl +0 -0
  239. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/errors.py-tpl +0 -0
  240. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/helpers.py-tpl +0 -0
  241. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/presenters.py-tpl +0 -0
  242. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/results.py-tpl +0 -0
  243. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/strings.py-tpl +0 -0
  244. /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/validators.py-tpl +0 -0
  245. /edu_rdm_integration/{management/commands → stages/collect_data/functions}/__init__.py +0 -0
  246. /edu_rdm_integration/{registry → stages/collect_data/functions/base}/__init__.py +0 -0
  247. /edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/consts.py +0 -0
  248. /edu_rdm_integration/{uploader_log → stages/collect_data/functions/calculated}/__init__.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.1.dist-info → edu_rdm_integration-3.10.0.dist-info}/WHEEL +0 -0
  278. {edu_rdm_integration-3.9.1.dist-info → edu_rdm_integration-3.10.0.dist-info}/licenses/LICENSE +0 -0
  279. {edu_rdm_integration-3.9.1.dist-info → edu_rdm_integration-3.10.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,19 @@
1
+ from abc import (
2
+ ABCMeta,
3
+ )
4
+
5
+ from edu_rdm_integration.stages.collect_data.functions.base.managers import (
6
+ BaseCollectingDataRunnerManager,
7
+ )
8
+ from edu_rdm_integration.stages.collect_data.functions.calculated.base.runners import (
9
+ BaseCollectingCalculatedExportedDataRunner,
10
+ )
11
+
12
+
13
+ class BaseCollectingCalculatedExportedDataRunnerManager(BaseCollectingDataRunnerManager, metaclass=ABCMeta):
14
+ """Менеджер ранеров функций сбора расчетных данных для интеграции с "Региональная витрина данных"."""
15
+
16
+ @classmethod
17
+ def _prepare_runner_class(cls) -> type[BaseCollectingCalculatedExportedDataRunner]:
18
+ """Возвращает класс ранера."""
19
+ return BaseCollectingCalculatedExportedDataRunner
@@ -8,6 +8,4 @@ from edu_rdm_integration.adapters.presenters import (
8
8
 
9
9
 
10
10
  class BaseCollectingCalculatedExportedDataResultPresenter(WebEduResultPresenter, metaclass=ABCMeta):
11
- """
12
- Презентер результата работы функций сбора расчетных данных для интеграции с "Региональная витрина данных".
13
- """
11
+ """Презентер результата работы функций сбора расчетных данных для интеграции с "Региональная витрина данных"."""
@@ -0,0 +1,12 @@
1
+ from edu_rdm_integration.adapters.results import (
2
+ WebEduFunctionResult,
3
+ WebEduRunnerResult,
4
+ )
5
+
6
+
7
+ class BaseCollectingCalculatedExportedDataRunnerResult(WebEduRunnerResult):
8
+ """Базовый класс результатов работы ранеров функций сбора расчетных данных для РВД."""
9
+
10
+
11
+ class BaseCollectingCalculatedExportedDataFunctionResult(WebEduFunctionResult):
12
+ """Базовый класс результатов работы функций сбора расчетных данных для интеграции с РВД."""
@@ -0,0 +1,28 @@
1
+ from edu_rdm_integration.stages.collect_data.functions.base.runners import (
2
+ BaseCollectingDataRunner,
3
+ )
4
+ from edu_rdm_integration.stages.collect_data.functions.calculated.base.helpers import (
5
+ BaseCollectingCalculatedExportedDataRunnerHelper,
6
+ )
7
+ from edu_rdm_integration.stages.collect_data.functions.calculated.base.results import (
8
+ BaseCollectingCalculatedExportedDataRunnerResult,
9
+ )
10
+ from edu_rdm_integration.stages.collect_data.functions.calculated.base.validators import (
11
+ BaseCollectingCalculatedExportedDataRunnerValidator,
12
+ )
13
+
14
+
15
+ class BaseCollectingCalculatedExportedDataRunner(BaseCollectingDataRunner):
16
+ """Базовый класс ранеров функций сбора расчетных данных для интеграции с "Региональная витрина данных"."""
17
+
18
+ def _prepare_helper_class(self) -> type[BaseCollectingCalculatedExportedDataRunnerHelper]:
19
+ """Возвращает класс помощника ранера функции."""
20
+ return BaseCollectingCalculatedExportedDataRunnerHelper
21
+
22
+ def _prepare_validator_class(self) -> type[BaseCollectingCalculatedExportedDataRunnerValidator]:
23
+ """Возвращает класс валидатора ранера функции."""
24
+ return BaseCollectingCalculatedExportedDataRunnerValidator
25
+
26
+ def _prepare_result_class(self) -> type[BaseCollectingCalculatedExportedDataRunnerResult]:
27
+ """Возвращает класс результата ранера функции."""
28
+ return BaseCollectingCalculatedExportedDataRunnerResult
@@ -0,0 +1,20 @@
1
+ from edu_rdm_integration.adapters.validators import (
2
+ WebEduFunctionValidator,
3
+ WebEduRunnerValidator,
4
+ )
5
+
6
+
7
+ class BaseCollectingCalculatedExportedDataRunnerValidator(WebEduRunnerValidator):
8
+ """Базовый класс валидаторов ранеров функций сбора расчетных данных для интеграции с РВД."""
9
+
10
+ def validate(self, runnable):
11
+ """Расширение метода валидации."""
12
+ super().validate(runnable=runnable)
13
+
14
+
15
+ class BaseCollectingCalculatedExportedDataFunctionValidator(WebEduFunctionValidator):
16
+ """Базовый класс валидаторов функций сбора расчетных данных для интеграции с РВД."""
17
+
18
+ def validate(self, runnable):
19
+ """Расширение метода валидации."""
20
+ super().validate(runnable=runnable)
@@ -5,55 +5,53 @@ from typing import (
5
5
  from edu_rdm_integration.adapters.strategies import (
6
6
  WebEduSyncBaseRunnerLazySavingPredefinedQueueFunctionImplementationStrategy,
7
7
  )
8
- from edu_rdm_integration.collect_data.calculated.base.functions import (
8
+ from edu_rdm_integration.core.consts import (
9
+ REGIONAL_DATA_MART_INTEGRATION_COLLECTING_DATA,
10
+ )
11
+ from edu_rdm_integration.stages.collect_data.functions.calculated.base.functions import (
9
12
  BaseCollectingCalculatedExportedDataFunction,
10
13
  )
11
- from edu_rdm_integration.collect_data.calculated.base.helpers import (
14
+ from edu_rdm_integration.stages.collect_data.functions.calculated.base.helpers import (
12
15
  BaseCollectingCalculatedExportedDataFunctionHelper,
13
16
  BaseCollectingCalculatedExportedDataRunnerHelper,
14
17
  )
15
- from edu_rdm_integration.collect_data.calculated.base.managers import (
18
+ from edu_rdm_integration.stages.collect_data.functions.calculated.base.managers import (
16
19
  BaseCollectingCalculatedExportedDataRunnerManager,
17
20
  )
18
- from edu_rdm_integration.collect_data.calculated.base.runners import (
21
+ from edu_rdm_integration.stages.collect_data.functions.calculated.base.runners import (
19
22
  BaseCollectingCalculatedExportedDataRunner,
20
23
  )
21
- from edu_rdm_integration.collect_data.calculated.base.validators import (
24
+ from edu_rdm_integration.stages.collect_data.functions.calculated.base.validators import (
22
25
  BaseCollectingCalculatedExportedDataFunctionValidator,
23
26
  BaseCollectingCalculatedExportedDataRunnerValidator,
24
27
  )
25
- from edu_rdm_integration.collect_data.non_calculated.base.caches import (
28
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.caches import (
26
29
  BaseCollectingExportedDataFunctionCacheStorage,
27
30
  BaseCollectingExportedDataRunnerCacheStorage,
28
31
  )
29
- from edu_rdm_integration.collect_data.non_calculated.base.errors import (
32
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.errors import (
30
33
  BaseCollectingExportedDataError,
31
34
  )
32
- from edu_rdm_integration.collect_data.non_calculated.base.presenters import (
35
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.presenters import (
33
36
  BaseCollectingExportedDataResultPresenter,
34
37
  )
35
- from edu_rdm_integration.collect_data.non_calculated.base.results import (
38
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.results import (
36
39
  BaseCollectingExportedDataFunctionResult,
37
40
  BaseCollectingExportedDataRunnerResult,
38
41
  )
39
- from edu_rdm_integration.consts import (
40
- REGIONAL_DATA_MART_INTEGRATION_COLLECTING_DATA,
41
- )
42
42
 
43
43
 
44
44
  class CollectingCalculatedExportedDataFunctionImplementationStrategy(
45
45
  WebEduSyncBaseRunnerLazySavingPredefinedQueueFunctionImplementationStrategy,
46
46
  ):
47
- """
48
- Стратегия создания функции с отложенным сохранением и предустановленной очередью объектов на сохранение.
47
+ """Стратегия создания функции с отложенным сохранением и предустановленной очередью объектов на сохранение.
49
48
 
50
49
  Используется для функций сбора расчетных данных для выгрузки в "Региональная витрина данных".
51
50
  """
52
51
 
53
52
  @classmethod
54
53
  def _prepare_uuid(cls):
55
- """
56
- Получение UUID класса. Используется при регистрации сущности в базе данных.
54
+ """Получение UUID класса. Используется при регистрации сущности в базе данных.
57
55
 
58
56
  Если ничего не возвращает, то регистрация в БД не будет произведена.
59
57
  """
@@ -61,9 +59,7 @@ class CollectingCalculatedExportedDataFunctionImplementationStrategy(
61
59
 
62
60
  @classmethod
63
61
  def _prepare_verbose_name(cls) -> str:
64
- """
65
- Полное наименование для дальнейшей регистрации и отображения пользователю.
66
- """
62
+ """Полное наименование для дальнейшей регистрации и отображения пользователю."""
67
63
  return (
68
64
  'Стратегия создания функции с отложенным сохранением и предустановленной очередью объектов на сохранение '
69
65
  'функций сбора расчетных данных для выгрузки в "Региональная витрина данных"'
@@ -71,23 +67,17 @@ class CollectingCalculatedExportedDataFunctionImplementationStrategy(
71
67
 
72
68
  @classmethod
73
69
  def _prepare_tags(cls) -> list[str]:
74
- """
75
- Список тегов, по которым сущность можно будет осуществлять поиск.
76
- """
70
+ """Список тегов, по которым сущность можно будет осуществлять поиск."""
77
71
  return [REGIONAL_DATA_MART_INTEGRATION_COLLECTING_DATA]
78
72
 
79
73
  @classmethod
80
74
  def _prepare_key(cls) -> str:
81
- """
82
- Возвращает уникальный идентификатор стратегии создания функции.
83
- """
75
+ """Возвращает уникальный идентификатор стратегии создания функции."""
84
76
  return 'REGIONAL_DATA_MART_INTEGRATION_COLLECTING_CALCULATED_DATA'
85
77
 
86
78
  @classmethod
87
79
  def _prepare_title(cls) -> str:
88
- """
89
- Возвращает название стратегии создания функции.
90
- """
80
+ """Возвращает название стратегии создания функции."""
91
81
  return (
92
82
  'Стратегия создания функции с отложенным сохранением и предустановленной очередью объектов на сохранение '
93
83
  'функций сбора расчетных данных для выгрузки в "Региональная витрина данных". Сохранение производится '
@@ -96,85 +86,57 @@ class CollectingCalculatedExportedDataFunctionImplementationStrategy(
96
86
 
97
87
  @classmethod
98
88
  def _prepare_function_template_name(cls) -> Optional[str]:
99
- """
100
- Формирование названия шаблона создания функции.
101
- """
89
+ """Формирование названия шаблона создания функции."""
102
90
  return 'function_collect_data_template'
103
91
 
104
92
  def _prepare_manager_class(self):
105
- """
106
- Устанавливает класс менеджера.
107
- """
93
+ """Устанавливает класс менеджера."""
108
94
  self._manager_class = BaseCollectingCalculatedExportedDataRunnerManager
109
95
 
110
96
  def _prepare_runner_class(self):
111
- """
112
- Устанавливает класс ранера.
113
- """
97
+ """Устанавливает класс ранера."""
114
98
  self._runner_class = BaseCollectingCalculatedExportedDataRunner
115
99
 
116
100
  def _prepare_function_class(self):
117
- """
118
- Устанавливает класс Функции.
119
- """
101
+ """Устанавливает класс Функции."""
120
102
  self._function_class = BaseCollectingCalculatedExportedDataFunction
121
103
 
122
104
  def _prepare_runner_helper_class(self):
123
- """
124
- Устанавливает класс помощника ранера.
125
- """
105
+ """Устанавливает класс помощника ранера."""
126
106
  self._runner_helper_class = BaseCollectingCalculatedExportedDataRunnerHelper
127
107
 
128
108
  def _prepare_function_helper_class(self):
129
- """
130
- Устанавливает класс помощника функции.
131
- """
109
+ """Устанавливает класс помощника функции."""
132
110
  self._function_helper_class = BaseCollectingCalculatedExportedDataFunctionHelper
133
111
 
134
112
  def _prepare_runner_validator_class(self):
135
- """
136
- Устанавливает класс валидатора ранера.
137
- """
113
+ """Устанавливает класс валидатора ранера."""
138
114
  self._runner_validator_class = BaseCollectingCalculatedExportedDataRunnerValidator
139
115
 
140
116
  def _prepare_function_validator_class(self):
141
- """
142
- Устанавливает класс валидатора Функции.
143
- """
117
+ """Устанавливает класс валидатора Функции."""
144
118
  self._function_validator_class = BaseCollectingCalculatedExportedDataFunctionValidator
145
119
 
146
120
  def _prepare_runner_cache_storage_class(self):
147
- """
148
- Устанавливает класс хранилища кешей ранера.
149
- """
121
+ """Устанавливает класс хранилища кешей ранера."""
150
122
  self._runner_cache_storage_class = BaseCollectingExportedDataRunnerCacheStorage
151
123
 
152
124
  def _prepare_function_cache_storage_class(self):
153
- """
154
- Устанавливает класс хранилища кешей Функции.
155
- """
125
+ """Устанавливает класс хранилища кешей Функции."""
156
126
  self._function_cache_storage_class = BaseCollectingExportedDataFunctionCacheStorage
157
127
 
158
128
  def _prepare_error_class(self):
159
- """
160
- Устанавливает класс ошибки.
161
- """
129
+ """Устанавливает класс ошибки."""
162
130
  self._error_class = BaseCollectingExportedDataError
163
131
 
164
132
  def _prepare_runner_result_class(self):
165
- """
166
- Устанавливает класс результата.
167
- """
133
+ """Устанавливает класс результата."""
168
134
  self._runner_result_class = BaseCollectingExportedDataRunnerResult
169
135
 
170
136
  def _prepare_function_result_class(self):
171
- """
172
- Устанавливает класс результата.
173
- """
137
+ """Устанавливает класс результата."""
174
138
  self._function_result_class = BaseCollectingExportedDataFunctionResult
175
139
 
176
140
  def _prepare_result_presenter_class(self):
177
- """
178
- Устанавливает класс презентера результата.
179
- """
141
+ """Устанавливает класс презентера результата."""
180
142
  self._result_presenter_class = BaseCollectingExportedDataResultPresenter
@@ -25,24 +25,20 @@ from edu_rdm_integration.adapters.caches import (
25
25
  WebEduFunctionCacheStorage,
26
26
  WebEduRunnerCacheStorage,
27
27
  )
28
- from edu_rdm_integration.collect_data.base.caches import (
29
- LogChange,
30
- )
31
- from edu_rdm_integration.mapping import (
28
+ from edu_rdm_integration.core.mapping import (
32
29
  MODEL_FIELDS_LOG_FILTER,
33
30
  )
31
+ from edu_rdm_integration.stages.collect_data.functions.base.caches import (
32
+ LogChange,
33
+ )
34
34
 
35
35
 
36
36
  class BaseCollectingExportedDataRunnerCacheStorage(WebEduRunnerCacheStorage):
37
- """
38
- Базовый кеш помощников ранеров функций сбора данных для интеграции с "Региональная витрина данных".
39
- """
37
+ """Базовый кеш помощников ранеров функций сбора данных для интеграции с "Региональная витрина данных"."""
40
38
 
41
39
 
42
40
  class BaseCollectingExportedDataFunctionCacheStorage(WebEduFunctionCacheStorage):
43
- """
44
- Базовый кеш помощников функций сбора данных для интеграции с "Региональная витрина данных".
45
- """
41
+ """Базовый кеш помощников функций сбора данных для интеграции с "Региональная витрина данных"."""
46
42
 
47
43
  def __init__(self, raw_logs, is_merge_logs=False, *args, **kwargs):
48
44
  super().__init__(*args, **kwargs)
@@ -69,9 +65,7 @@ class BaseCollectingExportedDataFunctionCacheStorage(WebEduFunctionCacheStorage)
69
65
 
70
66
  @staticmethod
71
67
  def _filter_log(model: str, log_change: LogChange) -> bool:
72
- """
73
- Производится проверка изменений на отслеживаемые поля.
74
- """
68
+ """Производится проверка изменений на отслеживаемые поля."""
75
69
  is_filtered = False
76
70
 
77
71
  if model in MODEL_FIELDS_LOG_FILTER[log_change.operation]:
@@ -98,8 +92,7 @@ class BaseCollectingExportedDataFunctionCacheStorage(WebEduFunctionCacheStorage)
98
92
  ids.add(_id)
99
93
 
100
94
  def _reformat_logs(self):
101
- """
102
- Производится преобразование логов к удобному для работы виду.
95
+ """Производится преобразование логов к удобному для работы виду.
103
96
 
104
97
  Предполагается вложенные словари. На первом уровне ключом будет название модели, на втором идентификатор записи.
105
98
  """
@@ -128,7 +121,9 @@ class BaseCollectingExportedDataFunctionCacheStorage(WebEduFunctionCacheStorage)
128
121
  continue
129
122
 
130
123
  if log_change.operation == EntityLogOperation.DELETE:
131
- self.logs[model][log.object_id] = [log_change, ]
124
+ self.logs[model][log.object_id] = [
125
+ log_change,
126
+ ]
132
127
  else:
133
128
  if self.is_merge_logs:
134
129
  self._merge_logs(self.logs[model][log.object_id], log_change)
@@ -137,9 +132,7 @@ class BaseCollectingExportedDataFunctionCacheStorage(WebEduFunctionCacheStorage)
137
132
 
138
133
  @staticmethod
139
134
  def _merge_logs(log_changes: list[LogChange], log_change: LogChange):
140
- """
141
- Производит объединение (накопление) изменений полей в рамках одного объекта.
142
- """
135
+ """Производит объединение (накопление) изменений полей в рамках одного объекта."""
143
136
  if log_changes:
144
137
  log_changes[0].fields.update(log_change.fields)
145
138
  else:
@@ -149,9 +142,7 @@ class BaseCollectingExportedDataFunctionCacheStorage(WebEduFunctionCacheStorage)
149
142
  """Исключение логов из обработки на основании описанных правил."""
150
143
 
151
144
  def _prepare_logs(self):
152
- """
153
- Подготовка логов для дальнейшей работы.
154
- """
145
+ """Подготовка логов для дальнейшей работы."""
155
146
  self._reformat_logs()
156
147
  self._ignore_logs()
157
148
 
@@ -0,0 +1,7 @@
1
+ from edu_rdm_integration.adapters.errors import (
2
+ WebEduError,
3
+ )
4
+
5
+
6
+ class BaseCollectingExportedDataError(WebEduError):
7
+ """Базовая ошибка функций сбора данных для интеграции с "Региональная витрина данных"."""
@@ -2,39 +2,31 @@ from abc import (
2
2
  ABCMeta,
3
3
  )
4
4
 
5
- from edu_rdm_integration.collect_data.base.functions import (
5
+ from edu_rdm_integration.stages.collect_data.functions.base.functions import (
6
6
  BaseCollectingCalculatedDataFunction,
7
7
  )
8
- from edu_rdm_integration.collect_data.non_calculated.base.helpers import (
8
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.helpers import (
9
9
  BaseCollectingExportedDataFunctionHelper,
10
10
  )
11
- from edu_rdm_integration.collect_data.non_calculated.base.results import (
11
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.results import (
12
12
  BaseCollectingExportedDataFunctionResult,
13
13
  )
14
- from edu_rdm_integration.collect_data.non_calculated.base.validators import (
14
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.validators import (
15
15
  BaseCollectingExportedDataFunctionValidator,
16
16
  )
17
17
 
18
18
 
19
19
  class BaseCollectingExportedDataFunction(BaseCollectingCalculatedDataFunction, metaclass=ABCMeta):
20
- """
21
- Базовый класс функций сбора данных для интеграции с "Региональная витрина данных".
22
- """
20
+ """Базовый класс функций сбора данных для интеграции с "Региональная витрина данных"."""
23
21
 
24
22
  def _prepare_helper_class(self) -> type[BaseCollectingExportedDataFunctionHelper]:
25
- """
26
- Возвращает класс помощника функции.
27
- """
23
+ """Возвращает класс помощника функции."""
28
24
  return BaseCollectingExportedDataFunctionHelper
29
25
 
30
26
  def _prepare_validator_class(self) -> type[BaseCollectingExportedDataFunctionValidator]:
31
- """
32
- Возвращает класс валидатора функции.
33
- """
27
+ """Возвращает класс валидатора функции."""
34
28
  return BaseCollectingExportedDataFunctionValidator
35
29
 
36
30
  def _prepare_result_class(self) -> type[BaseCollectingExportedDataFunctionResult]:
37
- """
38
- Возвращает класс результата функции.
39
- """
31
+ """Возвращает класс результата функции."""
40
32
  return BaseCollectingExportedDataFunctionResult
@@ -0,0 +1,24 @@
1
+ from edu_rdm_integration.stages.collect_data.functions.base.helpers import (
2
+ BaseCollectingDataFunctionHelper,
3
+ BaseCollectingDataRunnerHelper,
4
+ )
5
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.caches import (
6
+ BaseCollectingExportedDataFunctionCacheStorage,
7
+ BaseCollectingExportedDataRunnerCacheStorage,
8
+ )
9
+
10
+
11
+ class BaseCollectingExportedDataRunnerHelper(BaseCollectingDataRunnerHelper):
12
+ """Базовый класс помощников ранеров функций сбора данных для интеграции с "Региональная витрина данных"."""
13
+
14
+ def _prepare_cache_class(self) -> type[BaseCollectingExportedDataRunnerCacheStorage]:
15
+ """Возвращает класс кеша помощника ранера."""
16
+ return BaseCollectingExportedDataRunnerCacheStorage
17
+
18
+
19
+ class BaseCollectingExportedDataFunctionHelper(BaseCollectingDataFunctionHelper):
20
+ """Базовый класс помощников функций сбора данных для интеграции с "Региональная витрина данных"."""
21
+
22
+ def _prepare_cache_class(self) -> type[BaseCollectingExportedDataFunctionCacheStorage]:
23
+ """Возвращает класс кеша помощника функции."""
24
+ return BaseCollectingExportedDataFunctionCacheStorage
@@ -0,0 +1,19 @@
1
+ from abc import (
2
+ ABCMeta,
3
+ )
4
+
5
+ from edu_rdm_integration.stages.collect_data.functions.base.managers import (
6
+ BaseCollectingDataRunnerManager,
7
+ )
8
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.runners import (
9
+ BaseCollectingExportedDataRunner,
10
+ )
11
+
12
+
13
+ class BaseCollectingExportedDataRunnerManager(BaseCollectingDataRunnerManager, metaclass=ABCMeta):
14
+ """Менеджер ранеров функций сбора данных для интеграции с "Региональная витрина данных"."""
15
+
16
+ @classmethod
17
+ def _prepare_runner_class(cls) -> type[BaseCollectingExportedDataRunner]:
18
+ """Возвращает класс ранера."""
19
+ return BaseCollectingExportedDataRunner
@@ -8,6 +8,4 @@ from edu_rdm_integration.adapters.presenters import (
8
8
 
9
9
 
10
10
  class BaseCollectingExportedDataResultPresenter(WebEduResultPresenter, metaclass=ABCMeta):
11
- """
12
- Презентер результата работы функций сбора данных для интеграции с "Региональная витрина данных".
13
- """
11
+ """Презентер результата работы функций сбора данных для интеграции с "Региональная витрина данных"."""
@@ -0,0 +1,12 @@
1
+ from edu_rdm_integration.adapters.results import (
2
+ WebEduFunctionResult,
3
+ WebEduRunnerResult,
4
+ )
5
+
6
+
7
+ class BaseCollectingExportedDataRunnerResult(WebEduRunnerResult):
8
+ """Базовый класс результатов работы ранеров функций сбора данных для интеграции с "Региональная витрина данных"."""
9
+
10
+
11
+ class BaseCollectingExportedDataFunctionResult(WebEduFunctionResult):
12
+ """Базовый класс результатов работы функций сбора данных для интеграции с "Региональная витрина данных"."""
@@ -0,0 +1,28 @@
1
+ from edu_rdm_integration.stages.collect_data.functions.base.runners import (
2
+ BaseCollectingDataRunner,
3
+ )
4
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.helpers import (
5
+ BaseCollectingExportedDataRunnerHelper,
6
+ )
7
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.results import (
8
+ BaseCollectingExportedDataRunnerResult,
9
+ )
10
+ from edu_rdm_integration.stages.collect_data.functions.non_calculated.base.validators import (
11
+ BaseCollectingExportedDataRunnerValidator,
12
+ )
13
+
14
+
15
+ class BaseCollectingExportedDataRunner(BaseCollectingDataRunner):
16
+ """Базовый класс ранеров функций сбора данных для интеграции с "Региональная витрина данных"."""
17
+
18
+ def _prepare_helper_class(self) -> type[BaseCollectingExportedDataRunnerHelper]:
19
+ """Возвращает класс помощника ранера функции."""
20
+ return BaseCollectingExportedDataRunnerHelper
21
+
22
+ def _prepare_validator_class(self) -> type[BaseCollectingExportedDataRunnerValidator]:
23
+ """Возвращает класс валидатора ранера функции."""
24
+ return BaseCollectingExportedDataRunnerValidator
25
+
26
+ def _prepare_result_class(self) -> type[BaseCollectingExportedDataRunnerResult]:
27
+ """Возвращает класс результата ранера функции."""
28
+ return BaseCollectingExportedDataRunnerResult
@@ -0,0 +1,20 @@
1
+ from edu_rdm_integration.adapters.validators import (
2
+ WebEduFunctionValidator,
3
+ WebEduRunnerValidator,
4
+ )
5
+
6
+
7
+ class BaseCollectingExportedDataRunnerValidator(WebEduRunnerValidator):
8
+ """Базовый класс валидаторов ранеров функций сбора данных для интеграции с "Региональная витрина данных"."""
9
+
10
+ def validate(self, runnable):
11
+ """Выполнение валидации."""
12
+ super().validate(runnable=runnable)
13
+
14
+
15
+ class BaseCollectingExportedDataFunctionValidator(WebEduFunctionValidator):
16
+ """Базовый класс валидаторов функций сбора данных для интеграции с "Региональная витрина данных"."""
17
+
18
+ def validate(self, runnable):
19
+ """Выполнение валидации."""
20
+ super().validate(runnable=runnable)