edu-rdm-integration 3.2.7__py3-none-any.whl → 3.3.3__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/app_settings.py +5 -0
- edu_rdm_integration/apps.py +1 -1
- edu_rdm_integration/collect_data/collect.py +4 -54
- edu_rdm_integration/consts.py +0 -1
- edu_rdm_integration/export_data/base/functions.py +15 -108
- edu_rdm_integration/export_data/consts.py +5 -0
- edu_rdm_integration/export_data/dataclasses.py +11 -0
- edu_rdm_integration/export_data/export_manger.py +246 -0
- edu_rdm_integration/export_data/queue.py +172 -0
- edu_rdm_integration/helpers.py +19 -2
- edu_rdm_integration/management/general.py +0 -12
- edu_rdm_integration/migrations/0009_auto_20240522_1619.py +25 -0
- edu_rdm_integration/migrations/{0009_transferredentity_export_enabled.py → 0010_transferredentity_export_enabled.py} +2 -2
- edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +30 -0
- edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +21 -0
- edu_rdm_integration/migrations/0013_set_attachment_size.py +48 -0
- edu_rdm_integration/models.py +35 -4
- edu_rdm_integration/redis_cache.py +52 -0
- edu_rdm_integration/tasks.py +69 -33
- edu_rdm_integration/utils.py +1 -0
- {edu_rdm_integration-3.2.7.dist-info → edu_rdm_integration-3.3.3.dist-info}/METADATA +59 -1
- {edu_rdm_integration-3.2.7.dist-info → edu_rdm_integration-3.3.3.dist-info}/RECORD +26 -18
- {edu_rdm_integration-3.2.7.dist-info → edu_rdm_integration-3.3.3.dist-info}/LICENSE +0 -0
- {edu_rdm_integration-3.2.7.dist-info → edu_rdm_integration-3.3.3.dist-info}/WHEEL +0 -0
- {edu_rdm_integration-3.2.7.dist-info → edu_rdm_integration-3.3.3.dist-info}/namespace_packages.txt +0 -0
- {edu_rdm_integration-3.2.7.dist-info → edu_rdm_integration-3.3.3.dist-info}/top_level.txt +0 -0
edu_rdm_integration/tasks.py
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
from collections import (
|
2
|
+
defaultdict,
|
3
|
+
)
|
1
4
|
from typing import (
|
2
5
|
TYPE_CHECKING,
|
3
6
|
Dict,
|
@@ -15,6 +18,9 @@ from celery.schedules import (
|
|
15
18
|
from django.conf import (
|
16
19
|
settings,
|
17
20
|
)
|
21
|
+
from django.core.cache import (
|
22
|
+
cache,
|
23
|
+
)
|
18
24
|
from django.utils import (
|
19
25
|
timezone,
|
20
26
|
)
|
@@ -58,9 +64,16 @@ from edu_rdm_integration.enums import (
|
|
58
64
|
from edu_rdm_integration.export_data.export import (
|
59
65
|
ExportLatestEntitiesData,
|
60
66
|
)
|
67
|
+
from edu_rdm_integration.export_data.export_manger import (
|
68
|
+
ExportQueueSender,
|
69
|
+
WorkerSender,
|
70
|
+
)
|
61
71
|
from edu_rdm_integration.export_data.helpers import (
|
62
72
|
set_failed_status_suspended_exporting_data_stages,
|
63
73
|
)
|
74
|
+
from edu_rdm_integration.export_data.queue import (
|
75
|
+
RdmRedisSubStageAttachmentQueue,
|
76
|
+
)
|
64
77
|
from edu_rdm_integration.helpers import (
|
65
78
|
UploadStatusHelper,
|
66
79
|
get_collecting_managers_max_period_ended_dates,
|
@@ -142,9 +155,9 @@ class RDMCheckUploadStatus(UniquePeriodicAsyncTask):
|
|
142
155
|
in_progress_uploads = ExportingDataSubStageUploaderClientLog.objects.filter(
|
143
156
|
file_upload_status=FileUploadStatusEnum.IN_PROGRESS,
|
144
157
|
is_emulation=False,
|
145
|
-
)
|
158
|
+
).select_related('attachment')
|
146
159
|
|
147
|
-
UploadStatusHelper(in_progress_uploads).run()
|
160
|
+
UploadStatusHelper(in_progress_uploads, cache).run()
|
148
161
|
|
149
162
|
|
150
163
|
class CheckSuspendedExportedStagePeriodicTask(UniquePeriodicAsyncTask):
|
@@ -208,6 +221,7 @@ class TransferLatestEntitiesDataPeriodicTask(UniquePeriodicAsyncTask):
|
|
208
221
|
self._exporting_data_manager_to_period_end: Dict[str, 'datetime'] = {}
|
209
222
|
|
210
223
|
self._transferred_entities = []
|
224
|
+
self._entites_models_map = defaultdict(list)
|
211
225
|
|
212
226
|
def process(self, *args, **kwargs):
|
213
227
|
"""Выполняет задачу."""
|
@@ -222,15 +236,20 @@ class TransferLatestEntitiesDataPeriodicTask(UniquePeriodicAsyncTask):
|
|
222
236
|
pk=self.request.id,
|
223
237
|
).values_list('pk', flat=True).first()
|
224
238
|
|
225
|
-
|
226
|
-
|
227
|
-
|
239
|
+
collected_entity_models = set()
|
240
|
+
|
241
|
+
for entity_enum, export_enabled in sorted(
|
242
|
+
self._transferred_entities, key=lambda entity: entity[0].order_number
|
243
|
+
):
|
244
|
+
entity_models = self._entites_models_map.get(entity_enum.key, ())
|
245
|
+
for model_enum_value in entity_models:
|
246
|
+
if model_enum_value.key not in collected_entity_models:
|
247
|
+
self._run_collect_model_data(model_enum_value.key, task_id)
|
248
|
+
collected_entity_models.add(model_enum_value.key)
|
228
249
|
|
229
|
-
# Перехватывем ошибку экспорта для того, чтобы не останавливать сборку и экспорт остальных сущностей
|
230
250
|
try:
|
231
|
-
|
232
|
-
|
233
|
-
self._run_export_entity_data(entity_enum_value.key, task_id)
|
251
|
+
if export_enabled:
|
252
|
+
self._run_export_entity_data(entity_enum.key, task_id)
|
234
253
|
except Exception:
|
235
254
|
continue
|
236
255
|
|
@@ -255,24 +274,17 @@ class TransferLatestEntitiesDataPeriodicTask(UniquePeriodicAsyncTask):
|
|
255
274
|
|
256
275
|
def _collect_transferred_entities(self) -> None:
|
257
276
|
"""Собирает сущности РВД, по которым будет произведен сбор и экспорт данных."""
|
258
|
-
|
277
|
+
self._transferred_entities = [
|
259
278
|
(RegionalDataMartEntityEnum.get_model_enum_value(key=entity), export_enabled)
|
260
279
|
for entity, export_enabled in TransferredEntity.objects.values_list('entity', 'export_enabled')
|
261
280
|
]
|
262
|
-
|
263
|
-
# Собираем словарь по сущностям с
|
264
|
-
for
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
]
|
270
|
-
entity_data = {
|
271
|
-
'collected_models': model_enums,
|
272
|
-
'exported_entity': entity_enum if export_enabled else None,
|
273
|
-
}
|
274
|
-
self._transferred_entities.append(entity_data)
|
275
|
-
collected_entity_models.update(model_enums)
|
281
|
+
|
282
|
+
# Собираем словарь по сущностям с моделями для сборки
|
283
|
+
for entity, _ in self._transferred_entities:
|
284
|
+
self._entites_models_map[entity.key].extend(
|
285
|
+
(model_enum for model_enum in (entity.main_model_enum, *entity.additional_model_enums)
|
286
|
+
if model_enum.order_number != DEFAULT_ORDER_NUMBER)
|
287
|
+
)
|
276
288
|
|
277
289
|
def _collect_managers(self) -> None:
|
278
290
|
"""Собирает менеджеры Функций для сбора и выгрузки данных."""
|
@@ -286,17 +298,15 @@ class TransferLatestEntitiesDataPeriodicTask(UniquePeriodicAsyncTask):
|
|
286
298
|
tags={REGIONAL_DATA_MART_INTEGRATION_EXPORTING_DATA},
|
287
299
|
)
|
288
300
|
|
289
|
-
for
|
290
|
-
for
|
291
|
-
collect_manager_class = collecting_models_data_managers_map.get(
|
301
|
+
for entity_key, entity_models in self._entites_models_map.items():
|
302
|
+
for entity_model in entity_models:
|
303
|
+
collect_manager_class = collecting_models_data_managers_map.get(entity_model.key)
|
292
304
|
if collect_manager_class:
|
293
|
-
self._collecting_data_managers[
|
305
|
+
self._collecting_data_managers[entity_model.key] = collect_manager_class
|
294
306
|
|
295
|
-
|
296
|
-
if
|
297
|
-
|
298
|
-
if export_manager_class:
|
299
|
-
self._exporting_data_managers[entity.key] = export_manager_class
|
307
|
+
export_manager_class = exporting_entities_data_managers_map.get(entity_key)
|
308
|
+
if export_manager_class:
|
309
|
+
self._exporting_data_managers[entity_key] = export_manager_class
|
300
310
|
|
301
311
|
def _calculate_collecting_managers_logs_period_ended_at(self) -> None:
|
302
312
|
"""Определяет дату последнего успешного этапа сбора у менеджеров Функций сбора."""
|
@@ -374,7 +384,33 @@ class TransferLatestEntitiesDataPeriodicTask(UniquePeriodicAsyncTask):
|
|
374
384
|
)
|
375
385
|
|
376
386
|
|
387
|
+
class UploadDataAsyncTask(PeriodicAsyncTask):
|
388
|
+
"""Формирование очереди файлов и их отправка."""
|
389
|
+
queue = TASK_QUEUE_NAME
|
390
|
+
routing_key = TASK_QUEUE_NAME
|
391
|
+
description = 'Отправка данных в витрину "Региональная витрина данных"'
|
392
|
+
lock_expire_seconds = settings.RDM_UPLOAD_STATUS_TASK_LOCK_EXPIRE_SECONDS
|
393
|
+
task_type = AsyncTaskType.SYSTEM
|
394
|
+
run_every = crontab(
|
395
|
+
minute=settings.RDM_UPLOAD_STATUS_TASK_MINUTE,
|
396
|
+
hour=settings.RDM_UPLOAD_STATUS_TASK_HOUR,
|
397
|
+
day_of_week=settings.RDM_UPLOAD_STATUS_TASK_DAY_OF_WEEK,
|
398
|
+
)
|
399
|
+
|
400
|
+
def process(self, *args, **kwargs):
|
401
|
+
"""Выполнение."""
|
402
|
+
super().process(*args, **kwargs)
|
403
|
+
|
404
|
+
queue = RdmRedisSubStageAttachmentQueue()
|
405
|
+
exporter = ExportQueueSender(cache, queue)
|
406
|
+
exporter.run()
|
407
|
+
sender = WorkerSender(queue)
|
408
|
+
sender.run()
|
409
|
+
|
410
|
+
|
377
411
|
celery_app = celery.app.app_or_default()
|
378
412
|
celery_app.register_task(RDMCheckUploadStatus)
|
379
413
|
celery_app.register_task(CheckSuspendedExportedStagePeriodicTask)
|
380
414
|
celery_app.register_task(TransferLatestEntitiesDataPeriodicTask)
|
415
|
+
celery_app.register_task(UploadDataAsyncTask)
|
416
|
+
|
edu_rdm_integration/utils.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: edu-rdm-integration
|
3
|
-
Version: 3.
|
3
|
+
Version: 3.3.3
|
4
4
|
Summary: Интеграция с Региональной витриной данных
|
5
5
|
Home-page:
|
6
6
|
Download-URL:
|
@@ -301,6 +301,54 @@ Requires-Dist: uploader-client <1,>=0.2.1
|
|
301
301
|
|
302
302
|
### Удалено
|
303
303
|
|
304
|
+
## 3.3.3 - 2024-08-19
|
305
|
+
Изменен порядок запуска сбора и экспорта по сущностям в периодической задаче TransferLatestEntitiesDataPeriodicTask
|
306
|
+
с учетом многопоточности, скорректированы номера миграций
|
307
|
+
|
308
|
+
### Изменено
|
309
|
+
- [EDUSCHL-21965](https://jira.bars.group/browse/EDUSCHL-21965)
|
310
|
+
PATCH Добавлен параметр export_off в модель TransferredEntity и изменен порядок запуска сбора и экспорта в
|
311
|
+
TransferLatestEntitiesDataPeriodicTask. Скорректированы номера миграций
|
312
|
+
|
313
|
+
|
314
|
+
## 3.3.2 - 2024-07-16
|
315
|
+
Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
|
316
|
+
|
317
|
+
### Изменено
|
318
|
+
- [EDUSCHL-22070](https://jira.bars.group/browse/EDUSCHL-22070)
|
319
|
+
PATCH Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
|
320
|
+
|
321
|
+
|
322
|
+
## 3.3.1 - 2024-06-13
|
323
|
+
Удалён устаревший параметр logs_sub_period_days у базового класса команды сбора данных BaseCollectModelsDataByGeneratingLogsCommand.
|
324
|
+
Добавлен таймаут для сохранения информации об объемах файла в кеш.
|
325
|
+
|
326
|
+
### Изменено
|
327
|
+
- [EDUSCHL-20649](https://jira.bars.group/browse/EDUSCHL-20649)
|
328
|
+
MINOR Удалён устаревший параметр logs_sub_period_days у базового класса команды сбора данных BaseCollectModelsDataByGeneratingLogsCommand
|
329
|
+
|
330
|
+
### Исправлено
|
331
|
+
- [EDUSCHL-21835](https://jira.bars.group/browse/EDUSCHL-21835)
|
332
|
+
PATCH Реализация многопоточной выгрузки
|
333
|
+
|
334
|
+
|
335
|
+
## 3.3.0 - 2024-06-06
|
336
|
+
Отправка файлов в РВД вынесена в отдельную задачу UploadDataAsyncTask, добавлен кеш файлов и очередь подэтапов отправки,
|
337
|
+
а также расчет объемов отправляемых файлов
|
338
|
+
|
339
|
+
### Изменено
|
340
|
+
- [EDUSCHL-21835](https://jira.bars.group/browse/EDUSCHL-21835)
|
341
|
+
MINOR Реализация многопоточной выгрузки
|
342
|
+
|
343
|
+
|
344
|
+
## 3.2.8 - 2024-08-02
|
345
|
+
Исправлена ошибка задвоения сборки и экспорта в периодической задаче TransferLatestEntitiesDataPeriodicTask.
|
346
|
+
|
347
|
+
### Изменено
|
348
|
+
- [EDUSCHL-21965](https://jira.bars.group/browse/EDUSCHL-21965)
|
349
|
+
PATCH Исправлена ошибка задвоения сборки и экспорта в периодической задаче TransferLatestEntitiesDataPeriodicTask.
|
350
|
+
|
351
|
+
|
304
352
|
## 3.2.7 - 2024-07-31
|
305
353
|
Исправлен файл MANIFEST.in для включения в сборку js-шаблонов.
|
306
354
|
|
@@ -308,6 +356,7 @@ Requires-Dist: uploader-client <1,>=0.2.1
|
|
308
356
|
- [EDUSCHL-21965](https://jira.bars.group/browse/EDUSCHL-21965)
|
309
357
|
PATCH Добавлено включение js-шаблонов в сборку в файл MANIFEST.in
|
310
358
|
|
359
|
+
|
311
360
|
## 3.2.6 - 2024-07-23
|
312
361
|
Добавлен параметр export_off (Отключение экспорта для сущности) в модель TransferredEntity
|
313
362
|
Изменен порядок запуска сбора и экспорта по сущностям в периодической задаче TransferLatestEntitiesDataPeriodicTask
|
@@ -325,6 +374,15 @@ Requires-Dist: uploader-client <1,>=0.2.1
|
|
325
374
|
- [EDUSCHL-22070](https://jira.bars.group/browse/EDUSCHL-22070)
|
326
375
|
PATCH Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
|
327
376
|
|
377
|
+
|
378
|
+
## 3.2.5 - 2024-07-16
|
379
|
+
Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
|
380
|
+
|
381
|
+
### Изменено
|
382
|
+
- [EDUSCHL-22070](https://jira.bars.group/browse/EDUSCHL-22070)
|
383
|
+
PATCH Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
|
384
|
+
|
385
|
+
|
328
386
|
## 3.2.4 - 2024-07-16
|
329
387
|
Внесены корректировки в запросы используемые в функциях get_collecting_managers_max_period_ended_dates и get_exporting_managers_max_period_ended_dates.
|
330
388
|
|
@@ -1,18 +1,19 @@
|
|
1
1
|
edu_rdm_integration/__init__.py,sha256=fVCvQ7QGI_iCyAeE8dMapyY8gOM617ye5GQqAVGPlZI,72
|
2
2
|
edu_rdm_integration/app_meta.py,sha256=v5IU69yaeLbyHF0Ln6iPN_IfizbtF3rCWrz2n71m8dU,337
|
3
|
-
edu_rdm_integration/app_settings.py,sha256=
|
4
|
-
edu_rdm_integration/apps.py,sha256=
|
3
|
+
edu_rdm_integration/app_settings.py,sha256=bR8zGz2fJPSia5LO4KDUENIlxdqHmKkTAg92-q0qhew,2398
|
4
|
+
edu_rdm_integration/apps.py,sha256=BoXiTr8B04ZtDxHNXc1Jy2xzRoaq8CMBQ9cfmBK73j4,3571
|
5
5
|
edu_rdm_integration/base.py,sha256=_G0qPTAXe6bXfgDHNiZMSsYt3sMuUhLKnHuQCWSFttU,1341
|
6
|
-
edu_rdm_integration/consts.py,sha256=
|
6
|
+
edu_rdm_integration/consts.py,sha256=Qt52SOCQ-3wOet-_6inJih_W9nToORKXbkxb3jVSjEo,1079
|
7
7
|
edu_rdm_integration/entities.py,sha256=qNVWUhjwvX298Ak86_AKmqBZioP0czGwBcAz_4dtUUE,14552
|
8
8
|
edu_rdm_integration/enums.py,sha256=T3Mu5D-CbKO3BSg16MPPnIPlcc_YGLYR-ThS8dzl9gg,4246
|
9
|
-
edu_rdm_integration/helpers.py,sha256=
|
9
|
+
edu_rdm_integration/helpers.py,sha256=m98k8nichw5AIoPuXNPsI-ZFN9OYX5Wt2MU6ml_pg88,14615
|
10
10
|
edu_rdm_integration/mapping.py,sha256=bwa2fJCbV4YjQcAgRrgT3hgM6dJhr_uBtQgx3L3F2Ck,473
|
11
|
-
edu_rdm_integration/models.py,sha256=
|
11
|
+
edu_rdm_integration/models.py,sha256=Fwt2O2j_aPI9owRZprreGQ2t7op-YmIYpZoq5HHjL3M,30692
|
12
|
+
edu_rdm_integration/redis_cache.py,sha256=GZhtM1d0cVr5TEqxh15K7dS371Msit6wRemIiYb2rzk,1548
|
12
13
|
edu_rdm_integration/signals.py,sha256=3eRlpkDcFCF6TN80-QM8yBYLcyozzcmoPjz6r4_ApWg,73
|
13
14
|
edu_rdm_integration/storages.py,sha256=o5WqUG7SnkeuMt-z8spUi-IraivST-7KHzfY-M3v7FA,6807
|
14
|
-
edu_rdm_integration/tasks.py,sha256=
|
15
|
-
edu_rdm_integration/utils.py,sha256
|
15
|
+
edu_rdm_integration/tasks.py,sha256=1CbqE7kU23GWbaaym9TMal95zrYDInn8Dw9EEudm1gU,16437
|
16
|
+
edu_rdm_integration/utils.py,sha256=NIOxlH4JiTOOxYgqcwtfqT5UAtNG24GLq_tsnBUtp8E,10370
|
16
17
|
edu_rdm_integration/adapters/__init__.py,sha256=cU0swn4Ny5ZQz5buWRcWsT1mpWuUFJaUlHf2l7TtEBo,83
|
17
18
|
edu_rdm_integration/adapters/apps.py,sha256=TyJTkSPs2qAHJ11fqbwLGk3Ea7ujtqWwbxqmvYNQxG8,363
|
18
19
|
edu_rdm_integration/adapters/caches.py,sha256=OxSqeXySUN42LxEeHBLtC1ZBt-7aicbRbmP1EJYTvV4,1505
|
@@ -37,7 +38,7 @@ edu_rdm_integration/collect_and_export_data/utils.py,sha256=lBWqqhLgMyz2IQN7r9zu
|
|
37
38
|
edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py,sha256=UkoaXzh3tokZ8QdCdB09v3rRZfcHhvEwNMuj3mQIB74,4714
|
38
39
|
edu_rdm_integration/collect_and_export_data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
39
40
|
edu_rdm_integration/collect_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
40
|
-
edu_rdm_integration/collect_data/collect.py,sha256=
|
41
|
+
edu_rdm_integration/collect_data/collect.py,sha256=HIKO8Kvw9NY9Nt5M5w9XfcZ9E5IVue_4mT7ESYJ6n4I,11909
|
41
42
|
edu_rdm_integration/collect_data/generators.py,sha256=f34AAwdEcQNIokX0ypqYgjRD1XolwBVLER_HYv9ibNw,9075
|
42
43
|
edu_rdm_integration/collect_data/helpers.py,sha256=gAFZAm9YhMtQhvlwSF3LMthPPa8LsqG_zbVe7vnW_Ag,2995
|
43
44
|
edu_rdm_integration/collect_data/tests.py,sha256=-UNX3-GL0H9i89GXRfICT0ABltn_9aN_I_cmn1gQcDA,5367
|
@@ -84,17 +85,20 @@ edu_rdm_integration/enum_register/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
84
85
|
edu_rdm_integration/enum_register/mixins.py,sha256=nmHue9-9bqKZn9_MFiL0E-5wBUBIZPZwk3DWVir5pKk,4021
|
85
86
|
edu_rdm_integration/enum_register/register.py,sha256=5OWOjK-M0Erd_5CENpBaXhVtfL0pEaDl3Bev5QKNDJc,2218
|
86
87
|
edu_rdm_integration/export_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
87
|
-
edu_rdm_integration/export_data/consts.py,sha256=
|
88
|
+
edu_rdm_integration/export_data/consts.py,sha256=rmJ_18wHCE54j0VABxfo7Zu01EPFYSjYrj5L79hVW2Y,333
|
89
|
+
edu_rdm_integration/export_data/dataclasses.py,sha256=IhftRopP4lS-m3ygdBU5Bz0HF71VSBP4JQ6-8VIVgtY,260
|
88
90
|
edu_rdm_integration/export_data/export.py,sha256=3d1POl4xzyh4GVXJYdkXkcyfiUIqsrlPKPO-apw30Uk,16405
|
91
|
+
edu_rdm_integration/export_data/export_manger.py,sha256=_8gkFH380zZVJ9LVxqeZOXphS-RjeIoSbq0eUbXnIMA,9657
|
89
92
|
edu_rdm_integration/export_data/generators.py,sha256=yLDOcHB1PoilJwXtKGxZQhDjpeKBzEWoosahbJJ4Ba4,4020
|
90
93
|
edu_rdm_integration/export_data/helpers.py,sha256=hU346RmQ17Ra2etFvxXI7JQlLyp_0KxH1jm-eeCqejc,2933
|
94
|
+
edu_rdm_integration/export_data/queue.py,sha256=NiWm7e59zOcGT8s87BxiyU4-nA02fH94oVKnhc8htQ4,6159
|
91
95
|
edu_rdm_integration/export_data/strategies.py,sha256=ocHskG-x54U-ESX56OlZPgOibkGkuv7VKmK7hVmqj_0,6725
|
92
96
|
edu_rdm_integration/export_data/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
93
97
|
edu_rdm_integration/export_data/base/caches.py,sha256=dj8LGB7TMtX3cSfp-1UB3dnzcTGMt8aLtOn0YdNPsyQ,1541
|
94
98
|
edu_rdm_integration/export_data/base/consts.py,sha256=jLuy2y7YQ921OrEuzDld3F0k6YxgCnr5yorWBQJiLLw,519
|
95
99
|
edu_rdm_integration/export_data/base/enums.py,sha256=BSmwrkzYwEQhz9NbZCJsldY532PqgZJzxzsVk6ue0bM,93
|
96
100
|
edu_rdm_integration/export_data/base/errors.py,sha256=SaxXgKWNGG8RZQ8soFlzbX8d2_j58gWVmikzNZG1s74,291
|
97
|
-
edu_rdm_integration/export_data/base/functions.py,sha256=
|
101
|
+
edu_rdm_integration/export_data/base/functions.py,sha256=3Za3P7Idrx4LB7i-PMn5hbhvEMojInQNaTEW1-xQeCs,8940
|
98
102
|
edu_rdm_integration/export_data/base/helpers.py,sha256=h0S_fItbaygZfNZb9oUUPNF4dmeOojNx2nHCv3m3TWU,4609
|
99
103
|
edu_rdm_integration/export_data/base/managers.py,sha256=AJBBOmQbW-cnVEa3d2DCpyoNbnRxXmgpAcUCBu1rDiI,6075
|
100
104
|
edu_rdm_integration/export_data/base/presenters.py,sha256=JXh8nwyezaC-2h_TYfPPYUZRitFr9Y9Ifp-j7CaUCL0,403
|
@@ -136,7 +140,7 @@ edu_rdm_integration/function_templates/function_export_data_template/strings.py-
|
|
136
140
|
edu_rdm_integration/function_templates/function_export_data_template/tests.py-tpl,sha256=MoRY-a75Ow-7EjeQYxkXWunwqTGuBMaUyEkEV2oy05I,59
|
137
141
|
edu_rdm_integration/function_templates/function_export_data_template/validators.py-tpl,sha256=TIPYLk-rPGE9A1hViZ1Mym8XVJjk1qRlG67YTGZHcIE,587
|
138
142
|
edu_rdm_integration/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
139
|
-
edu_rdm_integration/management/general.py,sha256=
|
143
|
+
edu_rdm_integration/management/general.py,sha256=hmZGp9EKpSAm-VuhXNpW_ETA5TWi3Y-caSj7XB2vtuM,12957
|
140
144
|
edu_rdm_integration/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
145
|
edu_rdm_integration/management/commands/check_upload_status.py,sha256=jGqFMLMgrirG_H2OxzxNG3Z3d1xvORIzWqzKBUtr22Y,3843
|
142
146
|
edu_rdm_integration/management/commands/collect_latest_models_data.py,sha256=4ObBFqYMkX5v1saV9V7PivYBm0RMcDCGNlMGx77UAjs,750
|
@@ -153,7 +157,11 @@ edu_rdm_integration/migrations/0005_auto_20231204_1224.py,sha256=YXWiwTImGg8FAO_
|
|
153
157
|
edu_rdm_integration/migrations/0006_request_status_data.py,sha256=g5JZtP0q0fOrbKCooGmCeGgtcqd9ZLIBP56h-ZH8IS8,3448
|
154
158
|
edu_rdm_integration/migrations/0007_delete_upload_status.py,sha256=GAQKX6N1vDDWiCTXLGg--0gzLQr7VveAPFYzC9QpUpU,457
|
155
159
|
edu_rdm_integration/migrations/0008_transferredentity.py,sha256=rE5av85AIYKGDy7nuFKLrHAhj0uaeUTRsFfIsXPtaxo,1427
|
156
|
-
edu_rdm_integration/migrations/
|
160
|
+
edu_rdm_integration/migrations/0009_auto_20240522_1619.py,sha256=hz8cBq6m18XK5PbDUH4-bJESpGZdaP1jAqP7mWAB_qA,775
|
161
|
+
edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py,sha256=LJH7QY_1GLWSHLRPB--9PPypPiQd4pAT2-oIOEF84DY,507
|
162
|
+
edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py,sha256=2BfIif_hkFv1h6VEfe0Ys4J_uk6LR9YtO711ocDYPso,1263
|
163
|
+
edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py,sha256=y_JQO69k9pEfrJyimaRiAOBmhaJmssIyepCGd-Sy9hs,511
|
164
|
+
edu_rdm_integration/migrations/0013_set_attachment_size.py,sha256=Pj_n-ytsC0lhyU67qvH8UHHQ-c-TH5MZFfy-UF6y6M4,1809
|
157
165
|
edu_rdm_integration/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
158
166
|
edu_rdm_integration/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
159
167
|
edu_rdm_integration/registry/actions.py,sha256=YUtCkpcc3DedM_x8rwJ6Aos-8HKkDCrOUdKnGhztfUU,5223
|
@@ -166,9 +174,9 @@ edu_rdm_integration/uploader_log/enums.py,sha256=rgSO3BL2rh2xpfm0Pt4waQW8fB1VMJL
|
|
166
174
|
edu_rdm_integration/uploader_log/managers.py,sha256=y5wTSMzF9hpOpIU_A7nIafL_LBU3QEie6LAYWoB-pBQ,3203
|
167
175
|
edu_rdm_integration/uploader_log/ui.py,sha256=YM9Buqp2wxE95Wf5gvAATBzuYzDOossK1sEmvFk07cI,2110
|
168
176
|
edu_rdm_integration/uploader_log/templates/ui-js/object-grid-buttons.js,sha256=2xyGe0wdVokM0RhpzRzcRvJPBkBmPe3SlZry4oP4Nzs,6201
|
169
|
-
edu_rdm_integration-3.
|
170
|
-
edu_rdm_integration-3.
|
171
|
-
edu_rdm_integration-3.
|
172
|
-
edu_rdm_integration-3.
|
173
|
-
edu_rdm_integration-3.
|
174
|
-
edu_rdm_integration-3.
|
177
|
+
edu_rdm_integration-3.3.3.dist-info/LICENSE,sha256=uw43Gjjj-1vXWCItfSrNDpbejnOwZMrNerUh8oWbq8Q,3458
|
178
|
+
edu_rdm_integration-3.3.3.dist-info/METADATA,sha256=C-G1C603filvIvr5n8TAqnKxKE-oEWOO44mEUCOPQ5c,71260
|
179
|
+
edu_rdm_integration-3.3.3.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
180
|
+
edu_rdm_integration-3.3.3.dist-info/namespace_packages.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
181
|
+
edu_rdm_integration-3.3.3.dist-info/top_level.txt,sha256=nRJV0O14UtNE-jGIYG03sohgFnZClvf57H5m6VBXe9Y,20
|
182
|
+
edu_rdm_integration-3.3.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
{edu_rdm_integration-3.2.7.dist-info → edu_rdm_integration-3.3.3.dist-info}/namespace_packages.txt
RENAMED
File without changes
|
File without changes
|