edu-rdm-integration 3.11.2__py3-none-any.whl → 3.13.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 (60) hide show
  1. edu_rdm_integration/core/storages.py +11 -11
  2. edu_rdm_integration/pipelines/transfer/mixins.py +4 -4
  3. edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl +4 -4
  4. edu_rdm_integration/stages/collect_data/functions/base/functions.py +3 -3
  5. edu_rdm_integration/stages/collect_data/functions/base/helpers.py +5 -5
  6. edu_rdm_integration/stages/collect_data/functions/base/managers.py +6 -6
  7. edu_rdm_integration/stages/collect_data/functions/base/mixins.py +6 -6
  8. edu_rdm_integration/stages/collect_data/functions/base/runners.py +3 -3
  9. edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py +5 -5
  10. edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +3 -3
  11. edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py +3 -3
  12. edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +5 -5
  13. edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +5 -5
  14. edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +3 -3
  15. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py +5 -5
  16. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +3 -3
  17. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py +3 -3
  18. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +5 -5
  19. edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +5 -5
  20. edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py +3 -3
  21. edu_rdm_integration/stages/collect_data/models.py +3 -3
  22. edu_rdm_integration/stages/collect_data/operations.py +3 -3
  23. edu_rdm_integration/stages/collect_data/tests.py +10 -10
  24. edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl +3 -3
  25. edu_rdm_integration/stages/export_data/functions/base/caches.py +5 -5
  26. edu_rdm_integration/stages/export_data/functions/base/consts.py +3 -0
  27. edu_rdm_integration/stages/export_data/functions/base/errors.py +3 -3
  28. edu_rdm_integration/stages/export_data/functions/base/functions.py +24 -10
  29. edu_rdm_integration/stages/export_data/functions/base/helpers.py +5 -5
  30. edu_rdm_integration/stages/export_data/functions/base/managers.py +3 -3
  31. edu_rdm_integration/stages/export_data/functions/base/presenters.py +3 -3
  32. edu_rdm_integration/stages/export_data/functions/base/results.py +5 -5
  33. edu_rdm_integration/stages/export_data/functions/base/runners.py +3 -3
  34. edu_rdm_integration/stages/export_data/functions/base/tests.py +161 -0
  35. edu_rdm_integration/stages/export_data/functions/base/validators.py +5 -5
  36. edu_rdm_integration/stages/export_data/models.py +4 -4
  37. edu_rdm_integration/stages/export_data/operations.py +4 -4
  38. edu_rdm_integration/stages/export_data/strategies.py +3 -3
  39. {edu_rdm_integration-3.11.2.dist-info → edu_rdm_integration-3.13.0.dist-info}/METADATA +3 -3
  40. {edu_rdm_integration-3.11.2.dist-info → edu_rdm_integration-3.13.0.dist-info}/RECORD +43 -60
  41. edu_rdm_integration/adapters/__init__.py +0 -1
  42. edu_rdm_integration/adapters/apps.py +0 -26
  43. edu_rdm_integration/adapters/caches.py +0 -56
  44. edu_rdm_integration/adapters/consts.py +0 -1
  45. edu_rdm_integration/adapters/enums.py +0 -1
  46. edu_rdm_integration/adapters/errors.py +0 -24
  47. edu_rdm_integration/adapters/functions.py +0 -99
  48. edu_rdm_integration/adapters/helpers.py +0 -63
  49. edu_rdm_integration/adapters/managers.py +0 -61
  50. edu_rdm_integration/adapters/presenters.py +0 -37
  51. edu_rdm_integration/adapters/receivers.py +0 -35
  52. edu_rdm_integration/adapters/results.py +0 -65
  53. edu_rdm_integration/adapters/runners.py +0 -140
  54. edu_rdm_integration/adapters/strategies.py +0 -166
  55. edu_rdm_integration/adapters/strings.py +0 -1
  56. edu_rdm_integration/adapters/tests.py +0 -1
  57. edu_rdm_integration/adapters/validators.py +0 -58
  58. {edu_rdm_integration-3.11.2.dist-info → edu_rdm_integration-3.13.0.dist-info}/WHEEL +0 -0
  59. {edu_rdm_integration-3.11.2.dist-info → edu_rdm_integration-3.13.0.dist-info}/licenses/LICENSE +0 -0
  60. {edu_rdm_integration-3.11.2.dist-info → edu_rdm_integration-3.13.0.dist-info}/top_level.txt +0 -0
@@ -1,23 +1,6 @@
1
1
  edu_rdm_integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  edu_rdm_integration/apps.py,sha256=Rrwr04Q-fFmr-2nivyKmfdKj5tB3o_8T82CvVFMnswY,3094
3
3
  edu_rdm_integration/models.py,sha256=p0QBlNTn3y106bDtbbKhK1xkMnMUCBuMVJ50Qk63Bak,14
4
- edu_rdm_integration/adapters/__init__.py,sha256=cU0swn4Ny5ZQz5buWRcWsT1mpWuUFJaUlHf2l7TtEBo,83
5
- edu_rdm_integration/adapters/apps.py,sha256=cpxPCXtdT1X7pXx9ZddaofceqNb2r-CN7Mt9L2A_s3I,1188
6
- edu_rdm_integration/adapters/caches.py,sha256=jQJw6P6iJNFo3Y17lNtfRFrk0BVsn5iagyz2qR6PPSI,2706
7
- edu_rdm_integration/adapters/consts.py,sha256=pds1t4eHzovm7Yz2o5je3UHqRE8gqfT2sL-IwpoBN_o,66
8
- edu_rdm_integration/adapters/enums.py,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
9
- edu_rdm_integration/adapters/errors.py,sha256=2ofS3Vf16AcVDfGr-a1wrB7A0QsCIjc49IVllx9hWys,1056
10
- edu_rdm_integration/adapters/functions.py,sha256=WqgNupgspI3JyDRogU3LzEYSgNiN3JLvFsYQ758Eji4,5096
11
- edu_rdm_integration/adapters/helpers.py,sha256=AmlPd9Etofi1sHFGBGwvBl9JQZnffYLB6Ffww-V_Wlo,2468
12
- edu_rdm_integration/adapters/managers.py,sha256=u24BZGJ6n6Boqg9AWpG6YmoSERhDj_HkXGLaRGYCOEs,3210
13
- edu_rdm_integration/adapters/presenters.py,sha256=p6czJ6bd0akJFNEq5AKbUjks6xFuW0VGxUCdqeJMjUI,2042
14
- edu_rdm_integration/adapters/receivers.py,sha256=5Lvg3IySIqya5ewmSH5c_zW7D-PChsj1Wo0p-o2Q7gg,1547
15
- edu_rdm_integration/adapters/results.py,sha256=1x6dWyv0yTJ-n32Yu1wg6h0AUFzYe4pf4ENhcPoA0Rs,3857
16
- edu_rdm_integration/adapters/runners.py,sha256=fgXzoN1wRU6YZX63hXNx-TCdQiC886PHjQpPi_1jlAk,6597
17
- edu_rdm_integration/adapters/strategies.py,sha256=A4XFYCWG2m_g4UuS5v_8yoh1goPK6PQ1c_B0GzWL4B0,8068
18
- edu_rdm_integration/adapters/strings.py,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
19
- edu_rdm_integration/adapters/tests.py,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
20
- edu_rdm_integration/adapters/validators.py,sha256=-vkfBpS3y-8muwaxJMQhaDwFxAw3Mfj5aqJ6JkwV4MI,2601
21
4
  edu_rdm_integration/collect_and_export_data/__init__.py,sha256=LXkkpOw-CudTwly71opsc50LvknVTbylr4RRgEoRJ80,79
22
5
  edu_rdm_integration/collect_and_export_data/apps.py,sha256=xzvyL8jwloAFff_SurVWbjJ3TAk5Z2ala51eqwz6Y0k,336
23
6
  edu_rdm_integration/collect_and_export_data/models.py,sha256=yOhOu4Ma74WtPFEoTfqKsU1SWsv6m80YcltFPbvsRT4,55
@@ -33,7 +16,7 @@ edu_rdm_integration/core/mapping.py,sha256=1B6TsC4Os9wiM8L8BChnCNv_iWqjeWu3bdDsq
33
16
  edu_rdm_integration/core/operations.py,sha256=w4WOQyHL9mP0GOi4X29ycEyGbXl1Xdyj5HytHUVvLlg,2135
34
17
  edu_rdm_integration/core/redis_cache.py,sha256=R9_C1H8XbCHxZUoPbr7lfepI7Ic7td_NQ_IgQyT6_NI,616
35
18
  edu_rdm_integration/core/signals.py,sha256=3eRlpkDcFCF6TN80-QM8yBYLcyozzcmoPjz6r4_ApWg,73
36
- edu_rdm_integration/core/storages.py,sha256=M00U03L5R61dLTbb0LMEVEPY5u7Z9segSGKyn72RmcI,6625
19
+ edu_rdm_integration/core/storages.py,sha256=9nlRfHe4DJMNVgr0N4DGIEnsYLsEGDEO9KFvNac-B_E,6635
37
20
  edu_rdm_integration/core/typing.py,sha256=2asD8biX0l_DVqJSU4y19-zzEBJMk967PUj3UhzICzs,785
38
21
  edu_rdm_integration/core/utils.py,sha256=L6uBwKESr9zc5f1XF38XXvcEooA5bjxjEviHbE9nRvA,9918
39
22
  edu_rdm_integration/core/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -66,7 +49,7 @@ edu_rdm_integration/pipelines/transfer/actions.py,sha256=e94NVtTcFIqBBTZ9vbSfh_0
66
49
  edu_rdm_integration/pipelines/transfer/app_meta.py,sha256=jshfepDDJrbCACtJBJBPuidAVJ6rcziQiet27wqOIjk,373
67
50
  edu_rdm_integration/pipelines/transfer/apps.py,sha256=mf8voFbMU3FWOwbyisgUUrnUBpp__GfiGhU1lMfeGcY,795
68
51
  edu_rdm_integration/pipelines/transfer/enums.py,sha256=7eaCcR_SQD_xz3DXywwZivxfcn0s2BsAddS9LsXlujE,787
69
- edu_rdm_integration/pipelines/transfer/mixins.py,sha256=OlS6iWtcifYx5JKSuUdoUkh7TkX_aiRgrslHwaS8PTg,4959
52
+ edu_rdm_integration/pipelines/transfer/mixins.py,sha256=tG-04PHYFWZBcVKDx3IejRJq4DsG3WSYeeGg_AnJTR0,4972
70
53
  edu_rdm_integration/pipelines/transfer/models.py,sha256=_ZxNVhTntJe07K5P56mzp_sfhNykn-_Zbe7xtktmhNY,1584
71
54
  edu_rdm_integration/pipelines/transfer/tasks.py,sha256=6jSJl4aNugKG45Sxb2cWAtS1R_y8LmLT7PHtRZ0GZrk,10936
72
55
  edu_rdm_integration/pipelines/transfer/ui.py,sha256=GLRy_oWO50ZbWcb9vnhP5nVuS8pImtw9APyV4tgm7sg,2543
@@ -97,9 +80,9 @@ edu_rdm_integration/stages/collect_data/consts.py,sha256=tzaK9oxzdMRq3oTEocPz4um
97
80
  edu_rdm_integration/stages/collect_data/generators.py,sha256=k6An9y3_3mzopYkoudmhspHB6sIUSDdLv6JPdMdMwWo,12075
98
81
  edu_rdm_integration/stages/collect_data/helpers.py,sha256=xy8z9yJKEMjNUPNhrsRRtnYy6RVbwDoD5zSDAX7y_6U,5260
99
82
  edu_rdm_integration/stages/collect_data/mixins.py,sha256=izioaiPC26BDODgi_Lhy33IaH207945tGjFnbFLMQyI,2072
100
- edu_rdm_integration/stages/collect_data/models.py,sha256=wnrgkjJaCyqeVdlopfwkCbdPQKUNTAJIieuvyy7zHqw,8906
101
- edu_rdm_integration/stages/collect_data/operations.py,sha256=t144UybIrmdZVlV8IoF7YaAEA4UWxy5VonN6X8HyQ5c,11839
102
- edu_rdm_integration/stages/collect_data/tests.py,sha256=JWWQZkEdYSmRXUE45Jb3Eo9rwxtmloPzT_CO60MezWw,5515
83
+ edu_rdm_integration/stages/collect_data/models.py,sha256=hxB2JUF0U0d7Gr8UcPDEhONLACTuqA63SFPEK5qn2Mo,8916
84
+ edu_rdm_integration/stages/collect_data/operations.py,sha256=eqE_npV6Z72UYatwncaxYhSCwoHv4H09uLtEg19dQ08,11849
85
+ edu_rdm_integration/stages/collect_data/tests.py,sha256=qVSeJYWMCQkOVXP1sMe8XzCgdvRFXs9KdcOA_USLteQ,5550
103
86
  edu_rdm_integration/stages/collect_data/function_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
87
  edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/__init__.py-tpl,sha256=wnHVZJb9qLDSBrWBNWKNd3vSwHfHl2QHB-WH_iN-OtQ,107
105
88
  edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/apps.py-tpl,sha256=PU5vgYdhtqu440mRAtIzZ78eIc-no3CsPS3rr1kPpOU,319
@@ -114,49 +97,49 @@ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data
114
97
  edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/results.py-tpl,sha256=2iyHuzzS0YPZ688hAhSnPKnkY5BZNRNiZpLRcrn40CE,589
115
98
  edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/runners.py-tpl,sha256=AdT5V8Ohs44zIiO1uR6wm5CcAvGeArd8Ul-aBt-BT0k,2914
116
99
  edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/strings.py-tpl,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
117
- edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl,sha256=Juw5_GYqxzSFrcliu3YZTK9UHISmsDb0BKXbrOWRWB0,721
100
+ edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl,sha256=cN2TUo6RM0xSlzK1t5ppmPWTVb9iXAVE8CdOdEWbPZ8,734
118
101
  edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/validators.py-tpl,sha256=TIPYLk-rPGE9A1hViZ1Mym8XVJjk1qRlG67YTGZHcIE,587
119
102
  edu_rdm_integration/stages/collect_data/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
103
  edu_rdm_integration/stages/collect_data/functions/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
104
  edu_rdm_integration/stages/collect_data/functions/base/caches.py,sha256=uFArwPl71zdZxwQPfBNNj3D8D6zOdMHQUJYSV8mZiGg,2138
122
105
  edu_rdm_integration/stages/collect_data/functions/base/consts.py,sha256=nzP7973d-YG29l-JxJcq7dF81QDLP7FRtTq0dSq46GM,304
123
- edu_rdm_integration/stages/collect_data/functions/base/functions.py,sha256=OG6g6WtxItGQDXS39imaXv94IxUrkIG2OAgbbNRf_tg,3018
124
- edu_rdm_integration/stages/collect_data/functions/base/helpers.py,sha256=0bTIdj0_iKpZ30qB65e8L9ytCHMqRMWOhsOog0wB3XY,953
125
- edu_rdm_integration/stages/collect_data/functions/base/managers.py,sha256=PNBLdKl0sHMJ92evIsoaXKMdTEuVVwkkgyY-gXlE6QI,6134
126
- edu_rdm_integration/stages/collect_data/functions/base/mixins.py,sha256=Cz9KVpS5HVg-vk7n1M9ZSH3Rx2s2nlKP5_wUVjn4pUw,18258
127
- edu_rdm_integration/stages/collect_data/functions/base/runners.py,sha256=7neHnsvU2Sdq_wfi7tY1-A_rjoo6tUaiRY3v8xs120w,1542
106
+ edu_rdm_integration/stages/collect_data/functions/base/functions.py,sha256=GipTVAmoXJlAf1UDCBHagq9ZRUCO4cNNBMf7Os8b0bk,3002
107
+ edu_rdm_integration/stages/collect_data/functions/base/helpers.py,sha256=3k5ZWjloFzFPnySbckmjGBmOrKfdhtdyX0pWXRBuvwg,931
108
+ edu_rdm_integration/stages/collect_data/functions/base/managers.py,sha256=q9U0MpcI8lyEcAuK4-zlRzs8FSsYODfW3mlsB75u_gQ,6120
109
+ edu_rdm_integration/stages/collect_data/functions/base/mixins.py,sha256=LAGrtYpor2lKTPRop1LBllwPg_t4zra3e6VD1BjDqwk,18233
110
+ edu_rdm_integration/stages/collect_data/functions/base/runners.py,sha256=OnQbbjsCx8O_EVz_Ga2JvpOCDzBJe5ASXdDgaCEwluo,1526
128
111
  edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py,sha256=RderGFT2kOlgtbd0uUAkD5dOVoekOfBcKHf_QEBSjs4,7439
112
+ edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py,sha256=X3vVPpNGK30GHqvq6rq0dkYbLPwFcDAzCLWbM91M2Dc,7423
130
113
  edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
- edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py,sha256=FwTrhJ_24Mx5svJzmhmEfqBtzmE0bsKkBRdSuOIp1Bo,2835
114
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py,sha256=ovWtVQVShPMO1KgWRVD-t_L1AG1F3_paM9ae4QZrqnQ,2813
132
115
  edu_rdm_integration/stages/collect_data/functions/calculated/base/consts.py,sha256=DsgPOF_2iCzZTPity27oDDkpS6Axdhd5C94uSkIwA1g,84
133
116
  edu_rdm_integration/stages/collect_data/functions/calculated/base/enums.py,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
134
- edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py,sha256=oJlLuhtpwxD-dZF5r-NxAakSpfQD-a42ou-1TjbSXAg,316
117
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py,sha256=Yjcp4gPO0F4j43_NSmbaIapK9RBCiUMgphviF4QO100,300
135
118
  edu_rdm_integration/stages/collect_data/functions/calculated/base/functions.py,sha256=1zngP23OZuMSZp_bcjb5P_nZkh6wvsHDtV-6_quBaCY,1641
136
119
  edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py,sha256=s9Aw7ggdSP6_TZgqTTS1fybqJlmA4-cLBeDby1nJmU0,1395
137
120
  edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py,sha256=SlK0Y6lBIJ7IpkLU31xUNVMxtE7Ar2GtiXb3_J59hhM,811
138
- edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py,sha256=ibrhKzP_DFCFVnHWnTp_VF6bztg4hIVMd00WvxN_XhI,428
139
- edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py,sha256=T-lVfcsNEUQ7bCmrCQqXZGcfGo0Be0r1ZpidZBdJtLo,592
121
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py,sha256=7OIEuSGPC148K7qI-eMZNHQpOcozq4ymvVWU4k5LTDA,412
122
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py,sha256=88woLTOkaJsvuxnkw32j2vdVoQsQD0nsoXv_rSbYUMA,570
140
123
  edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py,sha256=qGC2ner5NKymPagB6UlNxu7ika2pFe4q6ZAtjiBSXF4,1596
141
124
  edu_rdm_integration/stages/collect_data/functions/calculated/base/strings.py,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
142
125
  edu_rdm_integration/stages/collect_data/functions/calculated/base/tests.py,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
143
- edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py,sha256=B3otJdwvB5-7tYcu-UnOy-jNYRSqM1tHmpJ2uvAping,905
126
+ edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py,sha256=RJUDhzGsxOoyiHeAcUyUVuo25D7cnE9PVaJQObMFH0U,883
144
127
  edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
- edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py,sha256=JvwXge08XqAFKUWYBYymjGf4oZaSdeEy4-9DR8ycINQ,7241
128
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py,sha256=7jqATwupQ_X-xR4C7D1dfHZGXVsorb4JfyqJNpV5L5g,7225
146
129
  edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py,sha256=n1yAsx6SJK6dO6i9w7CRdVLuBqPuHOWTPsj6jfbfMBA,6545
130
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py,sha256=QvFXGIPRdtJMqPBcnx1J_SejzmhgVXBSfUxpXNUmciA,6523
148
131
  edu_rdm_integration/stages/collect_data/functions/non_calculated/base/consts.py,sha256=pds1t4eHzovm7Yz2o5je3UHqRE8gqfT2sL-IwpoBN_o,66
149
132
  edu_rdm_integration/stages/collect_data/functions/non_calculated/base/enums.py,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
150
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py,sha256=1869TEc2RMNyQyewxyDcZqNfNiSVJkhQE2pTd0rHUuM,287
133
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py,sha256=F1CbAT-IbAhb8MlVl-Q9foBya5RbDglzAT_Mr06gV3w,271
151
134
  edu_rdm_integration/stages/collect_data/functions/non_calculated/base/functions.py,sha256=3aB2vrwAI1f1dvgAvO-YRS5pV_ChNX8hx0d3A3N3rs4,1534
152
135
  edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py,sha256=5-MXE-L8l-sXZRZp3UrEKHEdYPIqSQHadcETr0rNu2o,1377
153
136
  edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py,sha256=geMCnX8FJCuLlMGQocezfiYM_SMFCbpwdB0rz8yXxQY,756
154
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py,sha256=ZWX8MGVNShv_-OpskiAmYwNM8H1K_Bzts-b3kG9LxDA,399
155
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py,sha256=A_IOFMXZGkjdZyfUDkPWfS6OySOQUb7vTOkkpcpyDvg,654
137
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py,sha256=bECBBWVyG7Vfr0B1nrOs64UrgdzLOCxhTm7HMrhPll8,383
138
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py,sha256=tg6ckMxP5q6Bet1S6UdKp5l8n2mbwy74qLESJnSp1Yc,632
156
139
  edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py,sha256=yJ-2myK2Npayj_eMXG_ow5L5wR7AKfpn4NVPldd8_sc,1489
157
140
  edu_rdm_integration/stages/collect_data/functions/non_calculated/base/strings.py,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
158
141
  edu_rdm_integration/stages/collect_data/functions/non_calculated/base/tests.py,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
159
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py,sha256=Rh0bAxzp-3aRZyXkSEVLIeQfK9SIDiUD8UoPlVaCl8o,917
142
+ edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py,sha256=6ApkD9WLdzIDeTBn1j7SSONm4F7AioV4ARxrD7NaXEE,895
160
143
  edu_rdm_integration/stages/collect_data/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
144
  edu_rdm_integration/stages/collect_data/management/base.py,sha256=8GE9v0snak8Fn_y2qymI9K3CxOQcfo2-Z3ABHh_TA7k,4636
162
145
  edu_rdm_integration/stages/collect_data/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -177,9 +160,9 @@ edu_rdm_integration/stages/export_data/consts.py,sha256=ZEi1kXMs-54KFKxkyGIQVwZ4
177
160
  edu_rdm_integration/stages/export_data/generators.py,sha256=XsTGcKm0oDgE3fUVDxRMkNFriOeuPDBAWi32nx5ASuc,3974
178
161
  edu_rdm_integration/stages/export_data/helpers.py,sha256=uBl85AWS-V0usHeLf7VeAsy0ywvqXL_zT1Kgho-MRTM,6537
179
162
  edu_rdm_integration/stages/export_data/mixins.py,sha256=YCr5aNcZmDx07JIr-vMietQQ3sZ82caWc7SWOMfdSjY,1772
180
- edu_rdm_integration/stages/export_data/models.py,sha256=IWQgwFX5ptRneDK4mmaRu3z0j78JoCmqEHGw4FsnMEU,11244
181
- edu_rdm_integration/stages/export_data/operations.py,sha256=bEQNJjcZAtLz8zSe7m01LQ1Ktusx_NPkqli6iGn3XiY,13175
182
- edu_rdm_integration/stages/export_data/strategies.py,sha256=tU4wLn64fmFafPVQFlhBIeQjemH4eiBD6HXRGP12-GY,6535
163
+ edu_rdm_integration/stages/export_data/models.py,sha256=eFu6R5SY5aTRXxMSUMn7JxgqsLmLoDWECSYRZtXufrs,11257
164
+ edu_rdm_integration/stages/export_data/operations.py,sha256=g8rj4TaFnkRkaBD4omckBTGwsTlYpuBydOwwxY9hEiI,13188
165
+ edu_rdm_integration/stages/export_data/strategies.py,sha256=l_KXWbYanhhdJ1ldf_pSGO7IkUoXpOOPKhaOzTcqiJY,6519
183
166
  edu_rdm_integration/stages/export_data/function_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
167
  edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/__init__.py-tpl,sha256=wnHVZJb9qLDSBrWBNWKNd3vSwHfHl2QHB-WH_iN-OtQ,107
185
168
  edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/apps.py-tpl,sha256=PU5vgYdhtqu440mRAtIzZ78eIc-no3CsPS3rr1kPpOU,319
@@ -192,26 +175,26 @@ edu_rdm_integration/stages/export_data/function_templates/function_export_data_t
192
175
  edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/managers.py-tpl,sha256=1yoRyk1D0zXLFx_4wMvRRYVvNciCP0mN0LCBTPpQ7lU,2649
193
176
  edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/presenters.py-tpl,sha256=2Jv_xfrz1Qxj-NXEIaa08uWrIhb5QVZEr9uRxVXczAA,316
194
177
  edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/results.py-tpl,sha256=2iyHuzzS0YPZ688hAhSnPKnkY5BZNRNiZpLRcrn40CE,589
195
- edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl,sha256=FT5709zNJj71jpCLXe6xLgt0YGvcKBo_Rb_CzCpNvAU,3649
178
+ edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl,sha256=Q9sn7iRF2Do5u8WRmfblbJqOd-zHHs6G1UXGqf2XAeI,3659
196
179
  edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/strings.py-tpl,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
197
180
  edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/tests.py-tpl,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
198
181
  edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/validators.py-tpl,sha256=TIPYLk-rPGE9A1hViZ1Mym8XVJjk1qRlG67YTGZHcIE,587
199
182
  edu_rdm_integration/stages/export_data/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
200
183
  edu_rdm_integration/stages/export_data/functions/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
- edu_rdm_integration/stages/export_data/functions/base/caches.py,sha256=WsZY0hUzhydCuC0KO-04norF9qTmncdX_Txk5HTgiFc,1478
202
- edu_rdm_integration/stages/export_data/functions/base/consts.py,sha256=jLuy2y7YQ921OrEuzDld3F0k6YxgCnr5yorWBQJiLLw,519
184
+ edu_rdm_integration/stages/export_data/functions/base/caches.py,sha256=ovJnyagYnyV7BjqZJ7YbdAgXz-3qwNUZT-gbVBZDkt0,1456
185
+ edu_rdm_integration/stages/export_data/functions/base/consts.py,sha256=wRwgxRhQ21uFm9vF0Ub_R7cmep2nYWqGFQDxsIiM2ys,544
203
186
  edu_rdm_integration/stages/export_data/functions/base/enums.py,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
204
- edu_rdm_integration/stages/export_data/functions/base/errors.py,sha256=LusnB7wDkF8upSAgnxPb2c9N51QiTfp3G1l2-3J2AnM,281
205
- edu_rdm_integration/stages/export_data/functions/base/functions.py,sha256=91xQKvvfBvuicEYgSup7xWaec9DlZ0m80ZD-M0-U5zs,8694
206
- edu_rdm_integration/stages/export_data/functions/base/helpers.py,sha256=f2CFUd6Efu7ZIljjjMi71UxWRFJr3q2mn4nyZPQVCLU,4517
207
- edu_rdm_integration/stages/export_data/functions/base/managers.py,sha256=RvUjBYl8e6akA0hD7Qlaa_foGB5r0AfsyAFzyGL8o38,6098
208
- edu_rdm_integration/stages/export_data/functions/base/presenters.py,sha256=83BvbpXlR8Pn7EyyWOuJJneQyWs5F8U0ugZK0FoRDUE,393
187
+ edu_rdm_integration/stages/export_data/functions/base/errors.py,sha256=hd1iXftfJa9oXV2ahBaxu-mfFHsRLSyq_nqAVCLseeA,265
188
+ edu_rdm_integration/stages/export_data/functions/base/functions.py,sha256=018Tq8jccGGXuZbbzmYIrlr5CCkSi_OZ2YCE1Q4swBM,9468
189
+ edu_rdm_integration/stages/export_data/functions/base/helpers.py,sha256=e5oc1YH1fqUQMsIQmseAZTe_UNhb63aPHdk3dw7Q_rI,4495
190
+ edu_rdm_integration/stages/export_data/functions/base/managers.py,sha256=Td5iQ8xq62kar1l8p49DPw1NlFt_Wft4XqmoVenFodM,6082
191
+ edu_rdm_integration/stages/export_data/functions/base/presenters.py,sha256=DiraTz-aYLzdbz2JKDPBVPPNJpWW376DCBuJwvQQ9bQ,377
209
192
  edu_rdm_integration/stages/export_data/functions/base/requests.py,sha256=kZkjuNBvAUraNFN0nxMBD4yHMpN3I0qKnLgJJthq1Ug,2342
210
- edu_rdm_integration/stages/export_data/functions/base/results.py,sha256=asAaDbbm9REFit7HweqdEZPvYUPH8GP-wh4FHJo5B4U,527
211
- edu_rdm_integration/stages/export_data/functions/base/runners.py,sha256=QK5WjWK-nnOJ1MdEGCVosFpuRFWpPWOzYQfJN5cIBl0,2438
193
+ edu_rdm_integration/stages/export_data/functions/base/results.py,sha256=GGVrgemlyyRmyjxovC6jRTRkJSoed-gfBu9LVknRxgs,505
194
+ edu_rdm_integration/stages/export_data/functions/base/runners.py,sha256=0OvibNyzTfvnud_WUn5Bo99iHYjqiFA4xrgf9ED2oyw,2422
212
195
  edu_rdm_integration/stages/export_data/functions/base/strings.py,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
213
- edu_rdm_integration/stages/export_data/functions/base/tests.py,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
214
- edu_rdm_integration/stages/export_data/functions/base/validators.py,sha256=s6Ne37zMS5UOyB-Od2fFQDmvD2c0jBWZ_XFUaaYX-6I,905
196
+ edu_rdm_integration/stages/export_data/functions/base/tests.py,sha256=ANnqlap_ZvKh0BU-QQcQUjFRQUioVJLAUSU6AyKEm5c,5818
197
+ edu_rdm_integration/stages/export_data/functions/base/validators.py,sha256=THOLA-9fG5-187O9UkoUgTlJ_7gLLmM9adhEKao1mg8,883
215
198
  edu_rdm_integration/stages/export_data/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
199
  edu_rdm_integration/stages/export_data/management/base.py,sha256=u_4Oc6F5OoMiYH7BHYD42Vv7c56vnHxFVqNyPaPv6MI,4068
217
200
  edu_rdm_integration/stages/export_data/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -259,8 +242,8 @@ edu_rdm_integration/stages/upload_data/uploader_log/ui.py,sha256=mU3XA9zVKHGqzNk
259
242
  edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py,sha256=r5oOB7DBK9-mfuqPAgjXUJY5-hEcmMdILCwDTpaLnBc,753
260
243
  edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
261
244
  edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js,sha256=2xyGe0wdVokM0RhpzRzcRvJPBkBmPe3SlZry4oP4Nzs,6201
262
- edu_rdm_integration-3.11.2.dist-info/licenses/LICENSE,sha256=uw43Gjjj-1vXWCItfSrNDpbejnOwZMrNerUh8oWbq8Q,3458
263
- edu_rdm_integration-3.11.2.dist-info/METADATA,sha256=E1PGnAGKTioSlieb3FurjAYNEjDK0PXtgsUb3Y9bQLo,39698
264
- edu_rdm_integration-3.11.2.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
265
- edu_rdm_integration-3.11.2.dist-info/top_level.txt,sha256=nRJV0O14UtNE-jGIYG03sohgFnZClvf57H5m6VBXe9Y,20
266
- edu_rdm_integration-3.11.2.dist-info/RECORD,,
245
+ edu_rdm_integration-3.13.0.dist-info/licenses/LICENSE,sha256=uw43Gjjj-1vXWCItfSrNDpbejnOwZMrNerUh8oWbq8Q,3458
246
+ edu_rdm_integration-3.13.0.dist-info/METADATA,sha256=f7HDSRu472EvSWFnIruLfecC8mCWFvwJ8zfJJDpfxTk,39702
247
+ edu_rdm_integration-3.13.0.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
248
+ edu_rdm_integration-3.13.0.dist-info/top_level.txt,sha256=nRJV0O14UtNE-jGIYG03sohgFnZClvf57H5m6VBXe9Y,20
249
+ edu_rdm_integration-3.13.0.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- default_app_config = 'edu_rdm_integration.adapters.apps.WebEduFunctionToolsConfig'
@@ -1,26 +0,0 @@
1
- from django.apps import (
2
- AppConfig,
3
- )
4
-
5
-
6
- class WebEduFunctionToolsConfig(AppConfig):
7
- """Конфигурация приложения для интеграции с function_tools.
8
-
9
- Определяет основные параметры Django-приложения, которое
10
- обеспечивает работу с библиотекой function_tools в контексте
11
- продуктов Образования.
12
-
13
- Attributes:
14
- name (str): Полное имя приложения в системе Django
15
- verbose_name (str): Человекочитаемое название приложения
16
- label (str): Уникальная метка приложения для Django
17
-
18
- Note:
19
- Приложение автоматически регистрируется в Django при старте
20
- и обеспечивает всю необходимую инфраструктуру для работы
21
- с function_tools.
22
- """
23
-
24
- name = 'edu_rdm_integration.adapters.function_tools'
25
- verbose_name = 'Приложение для работы с function_tools'
26
- label = 'web_edu_function_tools'
@@ -1,56 +0,0 @@
1
- from abc import (
2
- ABCMeta,
3
- )
4
-
5
- from function_tools.caches import (
6
- CacheStorage,
7
- EntityCache,
8
- PatchedGlobalCacheStorage,
9
- PeriodicalEntityCache,
10
- )
11
-
12
-
13
- class WebEduEntityCache(EntityCache, metaclass=ABCMeta):
14
- """Базовый класс кэша для сущностей продуктов Образования.
15
-
16
- Предоставляет механизм кэширования отдельных сущностей системы.
17
- Используется для:
18
- - Хранения часто запрашиваемых объектов
19
- - Снижения нагрузки на базу данных
20
- - Ускорения доступа к данным
21
-
22
- Note:
23
- Конкретные реализации должны определить специфику кэширования
24
- для каждого типа сущности.
25
- """
26
-
27
-
28
- class WebEduPeriodicalEntityCache(PeriodicalEntityCache, metaclass=ABCMeta):
29
- """Базовый класс периодического кеша продуктов Образования.
30
-
31
- Кеш создается для определенной модели с указанием двух дат, на которые
32
- должны быть собраны кеши актуальных объектов модели.
33
- """
34
-
35
-
36
- class WebEduRunnerCacheStorage(CacheStorage, metaclass=ABCMeta):
37
- """Базовый класс кешей помощников ранеров функций продуктов Образования."""
38
-
39
-
40
- class WebEduFunctionCacheStorage(CacheStorage, metaclass=ABCMeta):
41
- """Базовый класс кешей функций продуктов Образования."""
42
-
43
-
44
- class WebEduFunctionPatchedGlobalCacheStorage(PatchedGlobalCacheStorage, metaclass=ABCMeta):
45
- """Базовый класс глобального хранилища кэша с поддержкой патчинга.
46
-
47
- Расширяет стандартное хранилище кэша, добавляя возможность
48
- модификации данных через механизм патчинга. Это позволяет:
49
- - Обновлять кэшированные данные без полной перезагрузки
50
- - Синхронизировать кэш между разными компонентами
51
- - Эффективно управлять общими данными
52
-
53
- Note:
54
- Патчинг должен использоваться с осторожностью, чтобы избежать
55
- несогласованности данных между разными частями системы.
56
- """
@@ -1 +0,0 @@
1
- # Модуль должен содержать константы
@@ -1 +0,0 @@
1
- # Модуль предназначен для размещения перечислений
@@ -1,24 +0,0 @@
1
- from abc import (
2
- ABCMeta,
3
- )
4
-
5
- from function_tools.errors import (
6
- BaseError,
7
- )
8
-
9
-
10
- class WebEduError(BaseError, metaclass=ABCMeta):
11
- """Базовый класс для ошибок в системе интеграции с продуктами Образования.
12
-
13
- Предоставляет основную функциональность для обработки ошибок:
14
- - Форматирование сообщений об ошибках
15
- - Сохранение контекста возникновения ошибки
16
- - Классификация типов ошибок
17
- - Механизм обработки вложенных ошибок
18
-
19
- Note:
20
- При создании конкретных типов ошибок рекомендуется:
21
- - Определять специфичные коды ошибок
22
- - Предоставлять информативные сообщения
23
- - Включать контекстную информацию в details
24
- """
@@ -1,99 +0,0 @@
1
- """Базовые классы функций для интеграции с продуктами Образования.
2
-
3
- Этот модуль содержит базовые классы функций, которые используются для создания
4
- конкретных реализаций функций обработки данных в системе. Модуль предоставляет
5
- различные варианты базовых классов с разными стратегиями сохранения данных
6
- и управления очередями объектов.
7
- """
8
-
9
- from abc import (
10
- ABCMeta,
11
- )
12
-
13
- from function_tools.functions import (
14
- BaseFunction,
15
- LazySavingPredefinedQueueFunction,
16
- LazySavingPredefinedQueueGlobalHelperFunction,
17
- )
18
-
19
- from edu_rdm_integration.adapters.helpers import (
20
- WebEduFunctionHelper,
21
- )
22
- from edu_rdm_integration.adapters.results import (
23
- WebEduFunctionResult,
24
- )
25
- from edu_rdm_integration.adapters.validators import (
26
- WebEduFunctionValidator,
27
- )
28
-
29
-
30
- class WebEduFunction(BaseFunction, metaclass=ABCMeta):
31
- """Базовый класс для создания функций продуктов Образования.
32
-
33
- Предоставляет основной интерфейс для создания функций обработки данных.
34
- Наследуется от BaseFunction и добавляет специфичную для продуктов
35
- Образования функциональность.
36
-
37
- Note:
38
- Этот класс является абстрактным и должен быть расширен конкретными
39
- реализациями функций.
40
- """
41
-
42
-
43
- class WebEduLazySavingPredefinedQueueFunction(LazySavingPredefinedQueueFunction, metaclass=ABCMeta):
44
- """Базовый класс для создания функций с отложенным сохранением.
45
-
46
- Реализует паттерн отложенного сохранения (lazy saving) с предустановленной
47
- очередью объектов. Это позволяет:
48
- - Накапливать объекты для сохранения в течение выполнения функции
49
- - Сохранять все объекты атомарно после успешного выполнения всех операций
50
- - Откатывать все изменения в случае ошибки
51
- - Оптимизировать производительность за счет пакетного сохранения
52
-
53
- Attributes:
54
- helper (WebEduFunctionHelper): Помощник функции для вспомогательных операций
55
- validator (WebEduFunctionValidator): Валидатор для проверки данных
56
- result (WebEduFunctionResult): Объект для хранения результатов работы
57
- """
58
-
59
- def _prepare_helper_class(self) -> type[WebEduFunctionHelper]:
60
- """Возвращает класс помощника функции.
61
-
62
- Returns:
63
- type[WebEduFunctionHelper]: Класс помощника для работы с данными
64
- """
65
- return WebEduFunctionHelper
66
-
67
- def _prepare_validator_class(self) -> type[WebEduFunctionValidator]:
68
- """Возвращает класс валидатора функции.
69
-
70
- Returns:
71
- type[WebEduFunctionValidator]: Класс для валидации входных данных
72
- """
73
- return WebEduFunctionValidator
74
-
75
- def _prepare_result_class(self) -> type[WebEduFunctionResult]:
76
- """Возвращает класс результата функции.
77
-
78
- Returns:
79
- type[WebEduFunctionResult]: Класс для хранения результатов выполнения
80
- """
81
- return WebEduFunctionResult
82
-
83
-
84
- class WebEduLazySavingPredefinedQueueGlobalHelperFunction(
85
- LazySavingPredefinedQueueGlobalHelperFunction,
86
- metaclass=ABCMeta,
87
- ):
88
- """Базовый класс для создания функций с глобальным помощником.
89
-
90
- Расширяет функциональность WebEduLazySavingPredefinedQueueFunction,
91
- добавляя поддержку глобального помощника. Это позволяет:
92
- - Использовать общие вспомогательные методы между разными функциями
93
- - Кэшировать часто используемые данные на уровне всего приложения
94
- - Оптимизировать использование ресурсов при массовой обработке данных
95
-
96
- Note:
97
- Глобальный помощник должен быть потокобезопасным, так как может
98
- использоваться одновременно несколькими функциями.
99
- """
@@ -1,63 +0,0 @@
1
- from abc import (
2
- ABCMeta,
3
- )
4
-
5
- from function_tools.helpers import (
6
- BaseFunctionHelper,
7
- BaseRunnerHelper,
8
- )
9
-
10
- from edu_rdm_integration.adapters.caches import (
11
- WebEduFunctionCacheStorage,
12
- WebEduRunnerCacheStorage,
13
- )
14
-
15
-
16
- class WebEduRunnerHelper(BaseRunnerHelper, metaclass=ABCMeta):
17
- """Базовый класс помощников для исполнителей функций.
18
-
19
- Предоставляет вспомогательную функциональность для исполнителей,
20
- включая:
21
- - Кэширование данных исполнителя
22
- - Общие утилиты для работы с функциями
23
- - Доступ к разделяемым ресурсам
24
-
25
- Attributes:
26
- cache (WebEduRunnerCacheStorage): Хранилище кэша для исполнителя
27
- """
28
-
29
- def _prepare_cache_class(self) -> type[WebEduRunnerCacheStorage]:
30
- """Возвращает класс хранилища кэша для исполнителя.
31
-
32
- Returns:
33
- type[WebEduRunnerCacheStorage]: Класс для кэширования данных
34
- исполнителя
35
- """
36
- return WebEduRunnerCacheStorage
37
-
38
-
39
- class WebEduFunctionHelper(BaseFunctionHelper, metaclass=ABCMeta):
40
- """Базовый класс помощников для функций обработки данных.
41
-
42
- Предоставляет вспомогательную функциональность для функций,
43
- включая:
44
- - Кэширование данных функции
45
- - Общие утилиты для обработки данных
46
- - Доступ к разделяемым ресурсам
47
-
48
- Note:
49
- Каждая конкретная функция может расширить этот класс,
50
- добавив специфичные для неё вспомогательные методы.
51
-
52
- Attributes:
53
- cache (WebEduFunctionCacheStorage): Хранилище кэша для функции
54
- """
55
-
56
- def _prepare_cache_class(self) -> type[WebEduFunctionCacheStorage]:
57
- """Возвращает класс хранилища кэша для функции.
58
-
59
- Returns:
60
- type[WebEduFunctionCacheStorage]: Класс для кэширования данных
61
- функции
62
- """
63
- return WebEduFunctionCacheStorage
@@ -1,61 +0,0 @@
1
- from abc import (
2
- ABCMeta,
3
- )
4
-
5
- from function_tools.managers import (
6
- RunnerManager,
7
- )
8
-
9
- from edu_rdm_integration.adapters.runners import (
10
- WebEduRunner,
11
- )
12
-
13
-
14
- class WebEduRunnerManager(RunnerManager, metaclass=ABCMeta):
15
- """Базовый класс менеджеров исполнителей функций продуктов Образования.
16
-
17
- Предоставляет базовую функциональность для управления исполнителями
18
- (runners) функций в контексте образовательных продуктов. Наследует
19
- возможности RunnerManager и адаптирует их для специфики образовательной
20
- системы.
21
-
22
- Основные возможности:
23
- - Создание и инициализация исполнителей функций
24
- - Управление жизненным циклом исполнителей
25
- - Конфигурация исполнителей для образовательных задач
26
- - Интеграция с системой образовательных продуктов
27
-
28
- Note:
29
- - Является абстрактным классом
30
- - Требует реализации в конкретных менеджерах
31
- - Использует WebEduRunner как базовый класс исполнителей
32
- - Интегрируется с другими компонентами системы образования
33
- - Обеспечивает единообразное управление исполнителями
34
-
35
- See Also:
36
- - RunnerManager: базовый класс для управления исполнителями
37
- - WebEduRunner: базовый класс исполнителей
38
- - WebEduRunnerCacheStorage: хранилище кеша для исполнителей
39
- """
40
-
41
- @classmethod
42
- def _prepare_runner_class(cls) -> type[WebEduRunner]:
43
- """Возвращает класс исполнителя для образовательных функций.
44
-
45
- Определяет WebEduRunner как базовый класс для всех исполнителей
46
- в системе образовательных продуктов. Этот метод вызывается при
47
- создании новых исполнителей.
48
-
49
- Returns:
50
- type[WebEduRunner]: Класс исполнителя WebEduRunner
51
-
52
- Note:
53
- - Метод является частью инициализации исполнителей
54
- - Переопределяет метод базового класса RunnerManager
55
- - Гарантирует использование правильного типа исполнителя
56
- - Может быть переопределен в наследниках для специфических исполнителей
57
-
58
- See Also:
59
- - WebEduRunner: базовый класс исполнителей
60
- """
61
- return WebEduRunner
@@ -1,37 +0,0 @@
1
- from abc import (
2
- ABCMeta,
3
- )
4
-
5
- from function_tools.presenters import (
6
- ResultPresenter,
7
- )
8
-
9
-
10
- class WebEduResultPresenter(ResultPresenter, metaclass=ABCMeta):
11
- """Базовый класс презентеров результатов работы функций продуктов Образования.
12
-
13
- Предоставляет базовую функциональность для форматирования и представления
14
- результатов выполнения функций в контексте образовательных продуктов.
15
- Наследует возможности ResultPresenter и адаптирует их для специфики
16
- образовательной системы.
17
-
18
- Основные возможности:
19
- - Форматирование результатов выполнения функций
20
- - Адаптация данных для различных потребителей
21
- - Поддержка различных форматов вывода
22
- - Интеграция с системой отчетности
23
-
24
- Note:
25
- - Является абстрактным классом
26
- - Требует реализации в конкретных презентерах
27
- - Поддерживает различные форматы представления данных
28
- - Учитывает специфику образовательных данных
29
- - Интегрируется с другими компонентами системы
30
- - Обеспечивает единообразное представление результатов
31
-
32
-
33
- See Also:
34
- - ResultPresenter: базовый класс для презентеров результатов
35
- - WebEduRunner: исполнитель функций образовательных продуктов
36
- - WebEduRunnerManager: менеджер исполнителей функций
37
- """
@@ -1,35 +0,0 @@
1
- from sys import (
2
- stdout,
3
- )
4
-
5
-
6
- def m3_edu_function_tools_after_migrate_receiver(sender, **kwargs):
7
- """Обработчик сигнала, выполняющийся после применения миграций.
8
-
9
- Автоматически регистрирует сущности в системе после успешного
10
- выполнения миграций базы данных. Это обеспечивает:
11
- - Синхронизацию моделей с системой регистрации
12
- - Корректную инициализацию новых сущностей
13
- - Обновление существующих регистраций
14
-
15
- Args:
16
- sender: Отправитель сигнала (обычно приложение Django)
17
- **kwargs: Дополнительные параметры сигнала
18
-
19
- Note:
20
- В случае возникновения ошибок при регистрации, они будут
21
- перехвачены и залогированы, но не будут прерывать процесс
22
- миграции.
23
- """
24
- from function_tools.management.commands.register_entities import (
25
- EntityRegistrar,
26
- )
27
-
28
- try:
29
- registrar = EntityRegistrar(logger=stdout)
30
- registrar.run()
31
- except Exception as e:
32
- stdout.write(
33
- f'Register function_tools_entities exception. ----- START IGNORING EXCEPTION\n{e}\n----- '
34
- f'FINISH IGNORING EXCEPTION\n'
35
- )