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.
- edu_rdm_integration/core/storages.py +11 -11
- edu_rdm_integration/pipelines/transfer/mixins.py +4 -4
- edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl +4 -4
- edu_rdm_integration/stages/collect_data/functions/base/functions.py +3 -3
- edu_rdm_integration/stages/collect_data/functions/base/helpers.py +5 -5
- edu_rdm_integration/stages/collect_data/functions/base/managers.py +6 -6
- edu_rdm_integration/stages/collect_data/functions/base/mixins.py +6 -6
- edu_rdm_integration/stages/collect_data/functions/base/runners.py +3 -3
- edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py +5 -5
- edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +3 -3
- edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py +3 -3
- edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +5 -5
- edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +5 -5
- edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +3 -3
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py +5 -5
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +3 -3
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py +3 -3
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +5 -5
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +5 -5
- edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py +3 -3
- edu_rdm_integration/stages/collect_data/models.py +3 -3
- edu_rdm_integration/stages/collect_data/operations.py +3 -3
- edu_rdm_integration/stages/collect_data/tests.py +10 -10
- edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl +3 -3
- edu_rdm_integration/stages/export_data/functions/base/caches.py +5 -5
- edu_rdm_integration/stages/export_data/functions/base/consts.py +3 -0
- edu_rdm_integration/stages/export_data/functions/base/errors.py +3 -3
- edu_rdm_integration/stages/export_data/functions/base/functions.py +24 -10
- edu_rdm_integration/stages/export_data/functions/base/helpers.py +5 -5
- edu_rdm_integration/stages/export_data/functions/base/managers.py +3 -3
- edu_rdm_integration/stages/export_data/functions/base/presenters.py +3 -3
- edu_rdm_integration/stages/export_data/functions/base/results.py +5 -5
- edu_rdm_integration/stages/export_data/functions/base/runners.py +3 -3
- edu_rdm_integration/stages/export_data/functions/base/tests.py +161 -0
- edu_rdm_integration/stages/export_data/functions/base/validators.py +5 -5
- edu_rdm_integration/stages/export_data/models.py +4 -4
- edu_rdm_integration/stages/export_data/operations.py +4 -4
- edu_rdm_integration/stages/export_data/strategies.py +3 -3
- {edu_rdm_integration-3.11.2.dist-info → edu_rdm_integration-3.13.0.dist-info}/METADATA +3 -3
- {edu_rdm_integration-3.11.2.dist-info → edu_rdm_integration-3.13.0.dist-info}/RECORD +43 -60
- edu_rdm_integration/adapters/__init__.py +0 -1
- edu_rdm_integration/adapters/apps.py +0 -26
- edu_rdm_integration/adapters/caches.py +0 -56
- edu_rdm_integration/adapters/consts.py +0 -1
- edu_rdm_integration/adapters/enums.py +0 -1
- edu_rdm_integration/adapters/errors.py +0 -24
- edu_rdm_integration/adapters/functions.py +0 -99
- edu_rdm_integration/adapters/helpers.py +0 -63
- edu_rdm_integration/adapters/managers.py +0 -61
- edu_rdm_integration/adapters/presenters.py +0 -37
- edu_rdm_integration/adapters/receivers.py +0 -35
- edu_rdm_integration/adapters/results.py +0 -65
- edu_rdm_integration/adapters/runners.py +0 -140
- edu_rdm_integration/adapters/strategies.py +0 -166
- edu_rdm_integration/adapters/strings.py +0 -1
- edu_rdm_integration/adapters/tests.py +0 -1
- edu_rdm_integration/adapters/validators.py +0 -58
- {edu_rdm_integration-3.11.2.dist-info → edu_rdm_integration-3.13.0.dist-info}/WHEEL +0 -0
- {edu_rdm_integration-3.11.2.dist-info → edu_rdm_integration-3.13.0.dist-info}/licenses/LICENSE +0 -0
- {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=
|
|
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=
|
|
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=
|
|
101
|
-
edu_rdm_integration/stages/collect_data/operations.py,sha256=
|
|
102
|
-
edu_rdm_integration/stages/collect_data/tests.py,sha256=
|
|
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=
|
|
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=
|
|
124
|
-
edu_rdm_integration/stages/collect_data/functions/base/helpers.py,sha256=
|
|
125
|
-
edu_rdm_integration/stages/collect_data/functions/base/managers.py,sha256=
|
|
126
|
-
edu_rdm_integration/stages/collect_data/functions/base/mixins.py,sha256=
|
|
127
|
-
edu_rdm_integration/stages/collect_data/functions/base/runners.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
139
|
-
edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
155
|
-
edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py,sha256=
|
|
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=
|
|
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=
|
|
181
|
-
edu_rdm_integration/stages/export_data/operations.py,sha256=
|
|
182
|
-
edu_rdm_integration/stages/export_data/strategies.py,sha256=
|
|
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=
|
|
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=
|
|
202
|
-
edu_rdm_integration/stages/export_data/functions/base/consts.py,sha256=
|
|
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=
|
|
205
|
-
edu_rdm_integration/stages/export_data/functions/base/functions.py,sha256=
|
|
206
|
-
edu_rdm_integration/stages/export_data/functions/base/helpers.py,sha256=
|
|
207
|
-
edu_rdm_integration/stages/export_data/functions/base/managers.py,sha256=
|
|
208
|
-
edu_rdm_integration/stages/export_data/functions/base/presenters.py,sha256=
|
|
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=
|
|
211
|
-
edu_rdm_integration/stages/export_data/functions/base/runners.py,sha256=
|
|
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=
|
|
214
|
-
edu_rdm_integration/stages/export_data/functions/base/validators.py,sha256=
|
|
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.
|
|
263
|
-
edu_rdm_integration-3.
|
|
264
|
-
edu_rdm_integration-3.
|
|
265
|
-
edu_rdm_integration-3.
|
|
266
|
-
edu_rdm_integration-3.
|
|
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
|
-
)
|