edu-rdm-integration 3.12.0__py3-none-any.whl → 3.13.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of edu-rdm-integration might be problematic. Click here for more details.

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/errors.py +3 -3
  27. edu_rdm_integration/stages/export_data/functions/base/functions.py +3 -3
  28. edu_rdm_integration/stages/export_data/functions/base/helpers.py +5 -5
  29. edu_rdm_integration/stages/export_data/functions/base/managers.py +3 -3
  30. edu_rdm_integration/stages/export_data/functions/base/presenters.py +3 -3
  31. edu_rdm_integration/stages/export_data/functions/base/results.py +5 -5
  32. edu_rdm_integration/stages/export_data/functions/base/runners.py +3 -3
  33. edu_rdm_integration/stages/export_data/functions/base/tests.py +17 -17
  34. edu_rdm_integration/stages/export_data/functions/base/validators.py +5 -5
  35. edu_rdm_integration/stages/export_data/models.py +4 -4
  36. edu_rdm_integration/stages/export_data/operations.py +4 -4
  37. edu_rdm_integration/stages/export_data/strategies.py +3 -3
  38. edu_rdm_integration/stages/upload_data/export_managers.py +5 -5
  39. {edu_rdm_integration-3.12.0.dist-info → edu_rdm_integration-3.13.1.dist-info}/METADATA +3 -3
  40. {edu_rdm_integration-3.12.0.dist-info → edu_rdm_integration-3.13.1.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.12.0.dist-info → edu_rdm_integration-3.13.1.dist-info}/WHEEL +0 -0
  59. {edu_rdm_integration-3.12.0.dist-info → edu_rdm_integration-3.13.1.dist-info}/licenses/LICENSE +0 -0
  60. {edu_rdm_integration-3.12.0.dist-info → edu_rdm_integration-3.13.1.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
- """