edu-rdm-integration 3.12.0__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/errors.py +3 -3
- edu_rdm_integration/stages/export_data/functions/base/functions.py +3 -3
- 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 +17 -17
- 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.12.0.dist-info → edu_rdm_integration-3.13.0.dist-info}/METADATA +2 -2
- {edu_rdm_integration-3.12.0.dist-info → edu_rdm_integration-3.13.0.dist-info}/RECORD +42 -59
- 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.12.0.dist-info → edu_rdm_integration-3.13.0.dist-info}/WHEEL +0 -0
- {edu_rdm_integration-3.12.0.dist-info → edu_rdm_integration-3.13.0.dist-info}/licenses/LICENSE +0 -0
- {edu_rdm_integration-3.12.0.dist-info → edu_rdm_integration-3.13.0.dist-info}/top_level.txt +0 -0
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
"""Стратегии реализации функций для интеграции с продуктами Образования.
|
|
2
|
-
|
|
3
|
-
Этот модуль содержит классы стратегий, определяющие способы реализации функций
|
|
4
|
-
для работы с продуктами Образования. Стратегии определяют конфигурацию классов
|
|
5
|
-
для различных компонентов системы: менеджеров, исполнителей, валидаторов и т.д.
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
from abc import (
|
|
9
|
-
ABCMeta,
|
|
10
|
-
)
|
|
11
|
-
from typing import (
|
|
12
|
-
Optional,
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
from function_tools.strategies import (
|
|
16
|
-
FunctionImplementationStrategy,
|
|
17
|
-
)
|
|
18
|
-
|
|
19
|
-
from edu_rdm_integration.adapters.caches import (
|
|
20
|
-
WebEduFunctionCacheStorage,
|
|
21
|
-
WebEduRunnerCacheStorage,
|
|
22
|
-
)
|
|
23
|
-
from edu_rdm_integration.adapters.errors import (
|
|
24
|
-
WebEduError,
|
|
25
|
-
)
|
|
26
|
-
from edu_rdm_integration.adapters.functions import (
|
|
27
|
-
WebEduFunction,
|
|
28
|
-
WebEduLazySavingPredefinedQueueFunction,
|
|
29
|
-
)
|
|
30
|
-
from edu_rdm_integration.adapters.helpers import (
|
|
31
|
-
WebEduFunctionHelper,
|
|
32
|
-
WebEduRunnerHelper,
|
|
33
|
-
)
|
|
34
|
-
from edu_rdm_integration.adapters.managers import (
|
|
35
|
-
WebEduRunnerManager,
|
|
36
|
-
)
|
|
37
|
-
from edu_rdm_integration.adapters.presenters import (
|
|
38
|
-
WebEduResultPresenter,
|
|
39
|
-
)
|
|
40
|
-
from edu_rdm_integration.adapters.results import (
|
|
41
|
-
WebEduFunctionResult,
|
|
42
|
-
WebEduRunnerResult,
|
|
43
|
-
)
|
|
44
|
-
from edu_rdm_integration.adapters.runners import (
|
|
45
|
-
WebEduRunner,
|
|
46
|
-
)
|
|
47
|
-
from edu_rdm_integration.adapters.validators import (
|
|
48
|
-
WebEduFunctionValidator,
|
|
49
|
-
WebEduRunnerValidator,
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
class WebEduFunctionImplementationStrategy(FunctionImplementationStrategy, metaclass=ABCMeta):
|
|
54
|
-
"""Базовая стратегия реализации функций для продуктов Образования.
|
|
55
|
-
|
|
56
|
-
Определяет основную конфигурацию классов для всех компонентов системы:
|
|
57
|
-
- Менеджеры для управления выполнением функций
|
|
58
|
-
- Исполнители (runners) для запуска функций
|
|
59
|
-
- Помощники (helpers) для вспомогательных операций
|
|
60
|
-
- Валидаторы для проверки данных
|
|
61
|
-
- Кэши для хранения промежуточных результатов
|
|
62
|
-
- Обработчики ошибок и результатов
|
|
63
|
-
|
|
64
|
-
Все методы в этом классе отвечают за установку конкретных реализаций
|
|
65
|
-
различных компонентов системы.
|
|
66
|
-
"""
|
|
67
|
-
|
|
68
|
-
def _prepare_manager_class(self):
|
|
69
|
-
"""Устанавливает класс менеджера для управления выполнением функций."""
|
|
70
|
-
self._manager_class = WebEduRunnerManager
|
|
71
|
-
|
|
72
|
-
def _prepare_runner_class(self):
|
|
73
|
-
"""Устанавливает класс исполнителя для запуска функций."""
|
|
74
|
-
self._runner_class = WebEduRunner
|
|
75
|
-
|
|
76
|
-
def _prepare_function_class(self):
|
|
77
|
-
"""Устанавливает базовый класс функции для обработки данных."""
|
|
78
|
-
self._function_class = WebEduFunction
|
|
79
|
-
|
|
80
|
-
def _prepare_runner_helper_class(self):
|
|
81
|
-
"""Устанавливает класс помощника для исполнителя функций."""
|
|
82
|
-
self._runner_helper_class = WebEduRunnerHelper
|
|
83
|
-
|
|
84
|
-
def _prepare_function_helper_class(self):
|
|
85
|
-
"""Устанавливает класс помощника для функций обработки данных."""
|
|
86
|
-
self._function_helper_class = WebEduFunctionHelper
|
|
87
|
-
|
|
88
|
-
def _prepare_runner_validator_class(self):
|
|
89
|
-
"""Устанавливает класс валидатора для проверки параметров исполнителя."""
|
|
90
|
-
self._runner_validator_class = WebEduRunnerValidator
|
|
91
|
-
|
|
92
|
-
def _prepare_function_validator_class(self):
|
|
93
|
-
"""Устанавливает класс валидатора для проверки данных функции."""
|
|
94
|
-
self._function_validator_class = WebEduFunctionValidator
|
|
95
|
-
|
|
96
|
-
def _prepare_runner_cache_storage_class(self):
|
|
97
|
-
"""Устанавливает класс хранилища кэша для исполнителя."""
|
|
98
|
-
self._runner_cache_storage_class = WebEduRunnerCacheStorage
|
|
99
|
-
|
|
100
|
-
def _prepare_function_cache_storage_class(self):
|
|
101
|
-
"""Устанавливает класс хранилища кэша для функции."""
|
|
102
|
-
self._function_cache_storage_class = WebEduFunctionCacheStorage
|
|
103
|
-
|
|
104
|
-
def _prepare_error_class(self):
|
|
105
|
-
"""Устанавливает класс для обработки ошибок."""
|
|
106
|
-
self._error_class = WebEduError
|
|
107
|
-
|
|
108
|
-
def _prepare_runner_result_class(self):
|
|
109
|
-
"""Устанавливает класс для хранения результатов работы исполнителя."""
|
|
110
|
-
self._runner_result_class = WebEduRunnerResult
|
|
111
|
-
|
|
112
|
-
def _prepare_function_result_class(self):
|
|
113
|
-
"""Устанавливает класс для хранения результатов работы функции."""
|
|
114
|
-
self._function_result_class = WebEduFunctionResult
|
|
115
|
-
|
|
116
|
-
def _prepare_result_presenter_class(self):
|
|
117
|
-
"""Устанавливает класс для представления результатов."""
|
|
118
|
-
self._result_presenter_class = WebEduResultPresenter
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
class WebEduSyncBaseRunnerLazySavingPredefinedQueueFunctionImplementationStrategy(
|
|
122
|
-
WebEduFunctionImplementationStrategy, metaclass=ABCMeta
|
|
123
|
-
):
|
|
124
|
-
"""Стратегия создания функции с отложенным сохранением и предустановленной очередью.
|
|
125
|
-
|
|
126
|
-
Расширяет базовую стратегию, добавляя специфическую логику для:
|
|
127
|
-
- Отложенного сохранения данных (lazy saving)
|
|
128
|
-
- Работы с предустановленной очередью объектов
|
|
129
|
-
- Синхронного выполнения операций
|
|
130
|
-
|
|
131
|
-
Сохранение данных производится только после успешного выполнения всех операций
|
|
132
|
-
функции, что обеспечивает целостность данных и атомарность операций.
|
|
133
|
-
"""
|
|
134
|
-
|
|
135
|
-
def _prepare_key(self) -> str:
|
|
136
|
-
"""Возвращает уникальный идентификатор стратегии.
|
|
137
|
-
|
|
138
|
-
Returns:
|
|
139
|
-
str: Ключ для идентификации стратегии в системе
|
|
140
|
-
"""
|
|
141
|
-
return 'WEB_EDU_SYNC_LAZY_SAVING_FUNCTION'
|
|
142
|
-
|
|
143
|
-
def _prepare_title(self) -> str:
|
|
144
|
-
"""Возвращает название стратегии.
|
|
145
|
-
|
|
146
|
-
Returns:
|
|
147
|
-
str: Человекочитаемое описание стратегии
|
|
148
|
-
"""
|
|
149
|
-
return (
|
|
150
|
-
'Стратегия создания функции с отложенным сохранением и предустановленной очередью объектов на сохранение '
|
|
151
|
-
'продуктов Образования. Сохранение производится после удачной работы функции'
|
|
152
|
-
)
|
|
153
|
-
|
|
154
|
-
@classmethod
|
|
155
|
-
def _prepare_function_template_name(cls) -> Optional[str]:
|
|
156
|
-
"""Формирование названия шаблона создания функции.
|
|
157
|
-
|
|
158
|
-
Returns:
|
|
159
|
-
Optional[str]: Имя шаблона для создания функции или None,
|
|
160
|
-
если шаблон не требуется
|
|
161
|
-
"""
|
|
162
|
-
return 'function_sync_template'
|
|
163
|
-
|
|
164
|
-
def _prepare_function_class(self):
|
|
165
|
-
"""Устанавливает класс функции с поддержкой отложенного сохранения."""
|
|
166
|
-
self._function_class = WebEduLazySavingPredefinedQueueFunction
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# В этом модуле должны располагаться все сообщения пользователю, сообщения для формирования логов
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# Реализуйте свои unit-тесты здесь
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"""Классы для валидации данных в системе интеграции.
|
|
2
|
-
|
|
3
|
-
Этот модуль содержит базовые классы валидаторов, которые обеспечивают
|
|
4
|
-
проверку корректности данных на разных уровнях системы:
|
|
5
|
-
- Валидация входных параметров функций
|
|
6
|
-
- Проверка состояния исполнителей
|
|
7
|
-
- Валидация результатов обработки
|
|
8
|
-
- Проверка бизнес-правил
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
from abc import (
|
|
12
|
-
ABCMeta,
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
from function_tools.validators import (
|
|
16
|
-
BaseValidator,
|
|
17
|
-
)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class WebEduRunnerValidator(BaseValidator, metaclass=ABCMeta):
|
|
21
|
-
"""Базовый класс для валидации исполнителей функций.
|
|
22
|
-
|
|
23
|
-
Предоставляет механизмы проверки:
|
|
24
|
-
- Корректности конфигурации исполнителя
|
|
25
|
-
- Доступности необходимых ресурсов
|
|
26
|
-
- Состояния исполнителя перед запуском
|
|
27
|
-
- Валидности результатов выполнения
|
|
28
|
-
|
|
29
|
-
Note:
|
|
30
|
-
Конкретные реализации должны определить специфичные
|
|
31
|
-
правила валидации для каждого типа исполнителя.
|
|
32
|
-
|
|
33
|
-
Attributes:
|
|
34
|
-
errors (list): Список обнаруженных ошибок
|
|
35
|
-
warnings (list): Список предупреждений
|
|
36
|
-
"""
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
class WebEduFunctionValidator(BaseValidator, metaclass=ABCMeta):
|
|
40
|
-
"""Базовый класс для валидации функций обработки данных.
|
|
41
|
-
|
|
42
|
-
Предоставляет механизмы проверки:
|
|
43
|
-
- Входных параметров функции
|
|
44
|
-
- Формата данных
|
|
45
|
-
- Бизнес-правил
|
|
46
|
-
- Результатов обработки
|
|
47
|
-
|
|
48
|
-
Note:
|
|
49
|
-
При реализации валидаторов для конкретных функций следует:
|
|
50
|
-
- Определить специфичные правила проверки
|
|
51
|
-
- Добавить проверку бизнес-ограничений
|
|
52
|
-
- Реализовать валидацию форматов данных
|
|
53
|
-
|
|
54
|
-
Attributes:
|
|
55
|
-
errors (list): Список обнаруженных ошибок
|
|
56
|
-
warnings (list): Список предупреждений
|
|
57
|
-
context (dict): Контекст валидации
|
|
58
|
-
"""
|
|
File without changes
|
{edu_rdm_integration-3.12.0.dist-info → edu_rdm_integration-3.13.0.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|