edu-rdm-integration 3.9.1__py3-none-any.whl → 3.10.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/__init__.py +0 -1
- edu_rdm_integration/adapters/apps.py +15 -2
- edu_rdm_integration/adapters/caches.py +25 -12
- edu_rdm_integration/adapters/errors.py +13 -2
- edu_rdm_integration/adapters/functions.py +53 -14
- edu_rdm_integration/adapters/helpers.py +34 -8
- edu_rdm_integration/adapters/managers.py +41 -5
- edu_rdm_integration/adapters/presenters.py +26 -2
- edu_rdm_integration/adapters/receivers.py +16 -2
- edu_rdm_integration/adapters/results.py +50 -4
- edu_rdm_integration/adapters/runners.py +79 -20
- edu_rdm_integration/adapters/strategies.py +56 -54
- edu_rdm_integration/adapters/validators.py +43 -4
- edu_rdm_integration/apps.py +3 -23
- edu_rdm_integration/collect_and_export_data/__init__.py +1 -1
- edu_rdm_integration/collect_and_export_data/apps.py +1 -0
- edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +107 -17
- edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +4 -2
- edu_rdm_integration/{consts.py → core/consts.py} +0 -11
- edu_rdm_integration/{enums.py → core/enums.py} +7 -54
- edu_rdm_integration/core/helpers.py +331 -0
- edu_rdm_integration/core/operations.py +71 -0
- edu_rdm_integration/core/redis_cache.py +20 -0
- edu_rdm_integration/{collect_and_export_data → core/registry}/actions.py +6 -12
- edu_rdm_integration/core/registry/apps.py +11 -0
- edu_rdm_integration/{collect_and_export_data → core/registry}/ui.py +1 -1
- edu_rdm_integration/{storages.py → core/storages.py} +8 -17
- edu_rdm_integration/{utils.py → core/utils.py} +29 -91
- edu_rdm_integration/migrations/0001_initial.py +294 -44
- edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +1 -3
- edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -1
- edu_rdm_integration/migrations/0004_uploaderclientlog.py +1 -2
- edu_rdm_integration/migrations/0005_auto_20231204_1224.py +16 -4
- edu_rdm_integration/migrations/0006_request_status_data.py +60 -58
- edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -1
- edu_rdm_integration/migrations/0009_auto_20240522_1619.py +1 -5
- edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -1
- edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +16 -3
- edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -1
- edu_rdm_integration/migrations/0013_set_attachment_size.py +8 -12
- edu_rdm_integration/migrations/0014_uploaddatacommand.py +33 -6
- edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +1 -5
- edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +2 -2
- edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +3 -2
- edu_rdm_integration/migrations/__init__.py +1 -0
- edu_rdm_integration/{registry → pipelines/transfer}/actions.py +13 -26
- edu_rdm_integration/pipelines/transfer/app_meta.py +18 -0
- edu_rdm_integration/pipelines/transfer/apps.py +19 -0
- edu_rdm_integration/pipelines/transfer/enums.py +34 -0
- edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +57 -0
- edu_rdm_integration/{base.py → pipelines/transfer/mixins.py} +29 -53
- edu_rdm_integration/pipelines/transfer/models.py +48 -0
- edu_rdm_integration/{tasks.py → pipelines/transfer/tasks.py} +51 -150
- edu_rdm_integration/{registry → pipelines/transfer}/ui.py +4 -10
- edu_rdm_integration/rdm_entities/apps.py +11 -0
- edu_rdm_integration/{entities.py → rdm_entities/entities.py} +67 -57
- edu_rdm_integration/rdm_entities/migrations/0001_initial.py +44 -0
- edu_rdm_integration/{enum_register → rdm_entities}/mixins.py +8 -59
- edu_rdm_integration/rdm_entities/models.py +63 -0
- edu_rdm_integration/rdm_entities/utils.py +33 -0
- edu_rdm_integration/rdm_models/apps.py +16 -0
- edu_rdm_integration/rdm_models/migrations/0001_initial.py +40 -0
- edu_rdm_integration/rdm_models/mixins.py +67 -0
- edu_rdm_integration/rdm_models/models.py +73 -0
- edu_rdm_integration/rdm_models/utils.py +23 -0
- edu_rdm_integration/stages/collect_data/apps.py +11 -0
- edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/functions.py-tpl +2 -2
- edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/managers.py-tpl +1 -1
- edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/runners.py-tpl +1 -1
- edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/tests.py-tpl +2 -1
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/caches.py +2 -2
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/functions.py +15 -18
- edu_rdm_integration/stages/collect_data/functions/base/helpers.py +20 -0
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/managers.py +20 -27
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/mixins.py +38 -55
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/runners.py +2 -5
- edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/caches.py +3 -7
- edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +7 -0
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/functions.py +8 -16
- edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +24 -0
- edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +19 -0
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/presenters.py +1 -3
- edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +12 -0
- edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +28 -0
- edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +20 -0
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/strategies.py +32 -70
- edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/caches.py +13 -22
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +7 -0
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/functions.py +8 -16
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +24 -0
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +19 -0
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/presenters.py +1 -3
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +12 -0
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +28 -0
- edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +20 -0
- edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/strategies.py +32 -70
- edu_rdm_integration/{collect_data → stages/collect_data}/generators.py +9 -14
- edu_rdm_integration/stages/collect_data/helpers.py +154 -0
- edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
- edu_rdm_integration/stages/collect_data/management/base.py +100 -0
- edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
- edu_rdm_integration/{management → stages/collect_data/management}/commands/collect_latest_models_data.py +5 -7
- edu_rdm_integration/{management → stages/collect_data/management}/commands/collect_models_data.py +5 -7
- edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +187 -0
- edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +105 -0
- edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
- edu_rdm_integration/stages/collect_data/mixins.py +56 -0
- edu_rdm_integration/stages/collect_data/models.py +318 -0
- edu_rdm_integration/{collect_data/collect.py → stages/collect_data/operations.py} +30 -43
- edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
- edu_rdm_integration/{collect_data → stages/collect_data/registry}/actions.py +17 -20
- edu_rdm_integration/stages/collect_data/registry/apps.py +11 -0
- edu_rdm_integration/{collect_data → stages/collect_data/registry}/ui.py +8 -15
- edu_rdm_integration/{collect_data → stages/collect_data}/tests.py +2 -2
- edu_rdm_integration/stages/export_data/__init__.py +0 -0
- edu_rdm_integration/stages/export_data/apps.py +11 -0
- edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
- edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/functions.py-tpl +2 -2
- edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/managers.py-tpl +2 -2
- edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/runners.py-tpl +2 -2
- edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
- edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
- edu_rdm_integration/{export_data → stages/export_data/functions}/base/caches.py +3 -8
- edu_rdm_integration/stages/export_data/functions/base/errors.py +7 -0
- edu_rdm_integration/{export_data → stages/export_data/functions}/base/functions.py +28 -59
- edu_rdm_integration/{export_data → stages/export_data/functions}/base/helpers.py +7 -17
- edu_rdm_integration/{export_data → stages/export_data/functions}/base/managers.py +19 -28
- edu_rdm_integration/stages/export_data/functions/base/presenters.py +11 -0
- edu_rdm_integration/{export_data → stages/export_data/functions}/base/requests.py +13 -40
- edu_rdm_integration/stages/export_data/functions/base/results.py +12 -0
- edu_rdm_integration/{export_data → stages/export_data/functions}/base/runners.py +9 -21
- edu_rdm_integration/stages/export_data/functions/base/validators.py +20 -0
- edu_rdm_integration/{export_data → stages/export_data}/generators.py +7 -6
- edu_rdm_integration/stages/export_data/helpers.py +203 -0
- edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
- edu_rdm_integration/stages/export_data/management/base.py +101 -0
- edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
- edu_rdm_integration/{management → stages/export_data/management}/commands/export_entities_data.py +5 -7
- edu_rdm_integration/{management → stages/export_data/management}/commands/export_latest_entities_data.py +5 -7
- edu_rdm_integration/stages/export_data/migrations/0001_initial.py +324 -0
- edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
- edu_rdm_integration/stages/export_data/mixins.py +50 -0
- edu_rdm_integration/stages/export_data/models.py +362 -0
- edu_rdm_integration/{export_data/export.py → stages/export_data/operations.py} +30 -192
- edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
- edu_rdm_integration/{export_data → stages/export_data/registry}/actions.py +18 -18
- edu_rdm_integration/stages/export_data/registry/apps.py +11 -0
- edu_rdm_integration/{export_data → stages/export_data/registry}/ui.py +5 -7
- edu_rdm_integration/{export_data → stages/export_data}/strategies.py +30 -68
- edu_rdm_integration/stages/service/__init__.py +0 -0
- edu_rdm_integration/stages/service/apps.py +19 -0
- edu_rdm_integration/stages/service/tasks.py +63 -0
- edu_rdm_integration/stages/upload_data/__init__.py +0 -0
- edu_rdm_integration/stages/upload_data/apps.py +19 -0
- edu_rdm_integration/stages/upload_data/consts.py +10 -0
- edu_rdm_integration/{export_data → stages/upload_data}/dataclasses.py +1 -0
- edu_rdm_integration/stages/upload_data/enums.py +17 -0
- edu_rdm_integration/{export_data/export_manager.py → stages/upload_data/export_managers.py} +73 -68
- edu_rdm_integration/stages/upload_data/helpers.py +164 -0
- edu_rdm_integration/stages/upload_data/management/__init__.py +0 -0
- edu_rdm_integration/stages/upload_data/management/base.py +134 -0
- edu_rdm_integration/stages/upload_data/management/commands/__init__.py +0 -0
- edu_rdm_integration/{management → stages/upload_data/management}/commands/async_fix_attachment_size.py +32 -54
- edu_rdm_integration/{management → stages/upload_data/management}/commands/check_upload_status.py +7 -6
- edu_rdm_integration/{management → stages/upload_data/management}/commands/datamart_status.py +3 -3
- edu_rdm_integration/{management → stages/upload_data/management}/commands/datamart_upload.py +4 -4
- edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +161 -0
- edu_rdm_integration/stages/upload_data/migrations/__init__.py +0 -0
- edu_rdm_integration/stages/upload_data/models.py +175 -0
- edu_rdm_integration/stages/upload_data/operations.py +156 -0
- edu_rdm_integration/{export_data/queue.py → stages/upload_data/queues.py} +10 -8
- edu_rdm_integration/stages/upload_data/tasks.py +103 -0
- edu_rdm_integration/stages/upload_data/uploader_log/__init__.py +0 -0
- edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/actions.py +14 -16
- edu_rdm_integration/stages/upload_data/uploader_log/apps.py +11 -0
- edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/managers.py +15 -30
- edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +31 -0
- edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
- edu_rdm_integration/stages/upload_data/uploader_log/models.py +86 -0
- edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/ui.py +8 -6
- {edu_rdm_integration-3.9.1.dist-info → edu_rdm_integration-3.10.0.dist-info}/METADATA +238 -238
- edu_rdm_integration-3.10.0.dist-info/RECORD +255 -0
- edu_rdm_integration/app_meta.py +0 -16
- edu_rdm_integration/app_settings.py +0 -77
- edu_rdm_integration/collect_and_export_data/models.py +0 -67
- edu_rdm_integration/collect_and_export_data/utils.py +0 -224
- edu_rdm_integration/collect_data/base/helpers.py +0 -26
- edu_rdm_integration/collect_data/calculated/base/errors.py +0 -9
- edu_rdm_integration/collect_data/calculated/base/helpers.py +0 -32
- edu_rdm_integration/collect_data/calculated/base/managers.py +0 -23
- edu_rdm_integration/collect_data/calculated/base/results.py +0 -16
- edu_rdm_integration/collect_data/calculated/base/runners.py +0 -36
- edu_rdm_integration/collect_data/calculated/base/validators.py +0 -28
- edu_rdm_integration/collect_data/helpers.py +0 -92
- edu_rdm_integration/collect_data/non_calculated/base/errors.py +0 -9
- edu_rdm_integration/collect_data/non_calculated/base/helpers.py +0 -32
- edu_rdm_integration/collect_data/non_calculated/base/managers.py +0 -23
- edu_rdm_integration/collect_data/non_calculated/base/results.py +0 -16
- edu_rdm_integration/collect_data/non_calculated/base/runners.py +0 -36
- edu_rdm_integration/collect_data/non_calculated/base/validators.py +0 -28
- edu_rdm_integration/enum_register/register.py +0 -79
- edu_rdm_integration/export_data/base/errors.py +0 -9
- edu_rdm_integration/export_data/base/presenters.py +0 -13
- edu_rdm_integration/export_data/base/results.py +0 -16
- edu_rdm_integration/export_data/base/validators.py +0 -28
- edu_rdm_integration/export_data/helpers.py +0 -92
- edu_rdm_integration/helpers.py +0 -412
- edu_rdm_integration/management/general.py +0 -327
- edu_rdm_integration/models.py +0 -982
- edu_rdm_integration/redis_cache.py +0 -51
- edu_rdm_integration/uploader_log/apps.py +0 -10
- edu_rdm_integration-3.9.1.dist-info/RECORD +0 -198
- /edu_rdm_integration/{collect_and_export_data/migrations → core}/__init__.py +0 -0
- /edu_rdm_integration/{mapping.py → core/mapping.py} +0 -0
- /edu_rdm_integration/{collect_data → core/registry}/__init__.py +0 -0
- /edu_rdm_integration/{templates → core/registry/templates}/ui-js/start-task.js +0 -0
- /edu_rdm_integration/{signals.py → core/signals.py} +0 -0
- /edu_rdm_integration/{typing.py → core/typing.py} +0 -0
- /edu_rdm_integration/{collect_data/base → pipelines}/__init__.py +0 -0
- /edu_rdm_integration/{collect_data/calculated → pipelines/transfer}/__init__.py +0 -0
- /edu_rdm_integration/{collect_data/calculated/base → pipelines/transfer/migrations}/__init__.py +0 -0
- /edu_rdm_integration/{templates → pipelines/transfer/templates}/ui-js/transferred-entity-list.js +0 -0
- /edu_rdm_integration/{collect_data/non_calculated → rdm_entities}/__init__.py +0 -0
- /edu_rdm_integration/{collect_data/non_calculated/base → rdm_entities/migrations}/__init__.py +0 -0
- /edu_rdm_integration/{enum_register → rdm_models}/__init__.py +0 -0
- /edu_rdm_integration/{export_data → rdm_models/migrations}/__init__.py +0 -0
- /edu_rdm_integration/{export_data/base → stages}/__init__.py +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data}/__init__.py +0 -0
- /edu_rdm_integration/{collect_data/const.py → stages/collect_data/consts.py} +0 -0
- /edu_rdm_integration/{management → stages/collect_data/function_templates}/__init__.py +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/__init__.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/apps.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/caches.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/consts.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/enums.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/errors.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/helpers.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/presenters.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/results.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/strings.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/collect_data/function_templates}/function_collect_data_template/validators.py-tpl +0 -0
- /edu_rdm_integration/{management/commands → stages/collect_data/functions}/__init__.py +0 -0
- /edu_rdm_integration/{registry → stages/collect_data/functions/base}/__init__.py +0 -0
- /edu_rdm_integration/{collect_data → stages/collect_data/functions}/base/consts.py +0 -0
- /edu_rdm_integration/{uploader_log → stages/collect_data/functions/calculated}/__init__.py +0 -0
- /edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/consts.py +0 -0
- /edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/enums.py +0 -0
- /edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/strings.py +0 -0
- /edu_rdm_integration/{collect_data → stages/collect_data/functions}/calculated/base/tests.py +0 -0
- /edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/consts.py +0 -0
- /edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/enums.py +0 -0
- /edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/strings.py +0 -0
- /edu_rdm_integration/{collect_data → stages/collect_data/functions}/non_calculated/base/tests.py +0 -0
- /edu_rdm_integration/{export_data → stages/export_data}/consts.py +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/__init__.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/apps.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/caches.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/consts.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/enums.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/errors.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/helpers.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/presenters.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/results.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/strings.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/tests.py-tpl +0 -0
- /edu_rdm_integration/{function_templates → stages/export_data/function_templates}/function_export_data_template/validators.py-tpl +0 -0
- /edu_rdm_integration/{export_data → stages/export_data/functions}/base/consts.py +0 -0
- /edu_rdm_integration/{export_data → stages/export_data/functions}/base/enums.py +0 -0
- /edu_rdm_integration/{export_data → stages/export_data/functions}/base/strings.py +0 -0
- /edu_rdm_integration/{export_data → stages/export_data/functions}/base/tests.py +0 -0
- /edu_rdm_integration/{templates → stages/export_data/registry/templates}/ui-js/stage_for_export.js +0 -0
- /edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/enums.py +0 -0
- /edu_rdm_integration/{uploader_log → stages/upload_data/uploader_log}/templates/ui-js/object-grid-buttons.js +0 -0
- {edu_rdm_integration-3.9.1.dist-info → edu_rdm_integration-3.10.0.dist-info}/WHEEL +0 -0
- {edu_rdm_integration-3.9.1.dist-info → edu_rdm_integration-3.10.0.dist-info}/licenses/LICENSE +0 -0
- {edu_rdm_integration-3.9.1.dist-info → edu_rdm_integration-3.10.0.dist-info}/top_level.txt +0 -0
@@ -31,37 +31,37 @@ from educommon.utils.ui import (
|
|
31
31
|
DatetimeFilterCreator,
|
32
32
|
)
|
33
33
|
|
34
|
-
from edu_rdm_integration.
|
34
|
+
from edu_rdm_integration.core.enums import (
|
35
|
+
CommandType,
|
36
|
+
)
|
37
|
+
from edu_rdm_integration.core.helpers import (
|
38
|
+
make_download_link,
|
39
|
+
)
|
40
|
+
from edu_rdm_integration.core.registry.actions import (
|
35
41
|
BaseCommandProgressPack,
|
36
42
|
BaseStartTaskAction,
|
37
43
|
)
|
38
|
-
from edu_rdm_integration.
|
39
|
-
|
40
|
-
)
|
41
|
-
from edu_rdm_integration.enums import (
|
42
|
-
CommandType,
|
44
|
+
from edu_rdm_integration.rdm_entities.models import (
|
45
|
+
RegionalDataMartEntityEnum,
|
43
46
|
)
|
44
|
-
from edu_rdm_integration.export_data.generators import (
|
47
|
+
from edu_rdm_integration.stages.export_data.generators import (
|
45
48
|
BaseFirstExportEntitiesDataCommandsGenerator,
|
46
49
|
)
|
47
|
-
from edu_rdm_integration.export_data.
|
48
|
-
|
49
|
-
DetailExportCommandWindow,
|
50
|
-
ExportCommandProgressListWindow,
|
51
|
-
)
|
52
|
-
from edu_rdm_integration.helpers import (
|
53
|
-
make_download_link,
|
54
|
-
)
|
55
|
-
from edu_rdm_integration.models import (
|
50
|
+
from edu_rdm_integration.stages.export_data.models import (
|
51
|
+
EduRdmExportDataCommandProgress,
|
56
52
|
ExportingDataStageStatus,
|
57
53
|
ExportingDataSubStage,
|
58
54
|
ExportingDataSubStageStatus,
|
59
|
-
|
55
|
+
)
|
56
|
+
from edu_rdm_integration.stages.export_data.registry.ui import (
|
57
|
+
CreateExportCommandWindow,
|
58
|
+
DetailExportCommandWindow,
|
59
|
+
ExportCommandProgressListWindow,
|
60
60
|
)
|
61
61
|
|
62
62
|
|
63
63
|
class BaseExportingDataProgressPack(BaseCommandProgressPack):
|
64
|
-
"""
|
64
|
+
"""Базовый пак команд экспорта данных сущностей РВД."""
|
65
65
|
|
66
66
|
model = EduRdmExportDataCommandProgress
|
67
67
|
title = 'Экспорт данных сущностей РВД'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from django.apps import (
|
2
|
+
AppConfig,
|
3
|
+
)
|
4
|
+
|
5
|
+
|
6
|
+
class RDMExportDataRegistryAppConfig(AppConfig):
|
7
|
+
"""Приложение для организации экспорта данных моделей РВД из интерфейса."""
|
8
|
+
|
9
|
+
name = 'edu_rdm_integration.stages.export_data.registry'
|
10
|
+
label = 'edu_rdm_integration_export_data_registry'
|
11
|
+
verbose_name = 'Экспорт данных моделей РВД из интерфейса'
|
@@ -29,16 +29,14 @@ from educommon.utils.ui import (
|
|
29
29
|
append_template_globals,
|
30
30
|
)
|
31
31
|
|
32
|
-
from edu_rdm_integration.
|
33
|
-
|
32
|
+
from edu_rdm_integration.core.consts import (
|
33
|
+
BATCH_SIZE,
|
34
34
|
)
|
35
|
-
from edu_rdm_integration.
|
35
|
+
from edu_rdm_integration.core.registry.ui import (
|
36
36
|
BaseCreateCommandWindow,
|
37
|
+
CommandProgressListWindow,
|
37
38
|
)
|
38
|
-
from edu_rdm_integration.
|
39
|
-
BATCH_SIZE,
|
40
|
-
)
|
41
|
-
from edu_rdm_integration.models import (
|
39
|
+
from edu_rdm_integration.rdm_entities.models import (
|
42
40
|
RegionalDataMartEntityEnum,
|
43
41
|
)
|
44
42
|
|
@@ -5,37 +5,37 @@ from typing import (
|
|
5
5
|
from edu_rdm_integration.adapters.strategies import (
|
6
6
|
WebEduSyncBaseRunnerLazySavingPredefinedQueueFunctionImplementationStrategy,
|
7
7
|
)
|
8
|
-
from edu_rdm_integration.consts import (
|
8
|
+
from edu_rdm_integration.core.consts import (
|
9
9
|
REGIONAL_DATA_MART_INTEGRATION_EXPORTING_DATA,
|
10
10
|
)
|
11
|
-
from edu_rdm_integration.export_data.base.caches import (
|
11
|
+
from edu_rdm_integration.stages.export_data.functions.base.caches import (
|
12
12
|
BaseExportDataFunctionCacheStorage,
|
13
13
|
BaseExportDataRunnerCacheStorage,
|
14
14
|
)
|
15
|
-
from edu_rdm_integration.export_data.base.errors import (
|
15
|
+
from edu_rdm_integration.stages.export_data.functions.base.errors import (
|
16
16
|
BaseExportDataError,
|
17
17
|
)
|
18
|
-
from edu_rdm_integration.export_data.base.functions import (
|
18
|
+
from edu_rdm_integration.stages.export_data.functions.base.functions import (
|
19
19
|
BaseExportDataFunction,
|
20
20
|
)
|
21
|
-
from edu_rdm_integration.export_data.base.helpers import (
|
21
|
+
from edu_rdm_integration.stages.export_data.functions.base.helpers import (
|
22
22
|
BaseExportDataFunctionHelper,
|
23
23
|
BaseExportDataRunnerHelper,
|
24
24
|
)
|
25
|
-
from edu_rdm_integration.export_data.base.managers import (
|
25
|
+
from edu_rdm_integration.stages.export_data.functions.base.managers import (
|
26
26
|
BaseExportDataRunnerManager,
|
27
27
|
)
|
28
|
-
from edu_rdm_integration.export_data.base.presenters import (
|
28
|
+
from edu_rdm_integration.stages.export_data.functions.base.presenters import (
|
29
29
|
BaseExportDataResultPresenter,
|
30
30
|
)
|
31
|
-
from edu_rdm_integration.export_data.base.results import (
|
31
|
+
from edu_rdm_integration.stages.export_data.functions.base.results import (
|
32
32
|
BaseExportDataFunctionResult,
|
33
33
|
BaseExportDataRunnerResult,
|
34
34
|
)
|
35
|
-
from edu_rdm_integration.export_data.base.runners import (
|
35
|
+
from edu_rdm_integration.stages.export_data.functions.base.runners import (
|
36
36
|
BaseExportDataRunner,
|
37
37
|
)
|
38
|
-
from edu_rdm_integration.export_data.base.validators import (
|
38
|
+
from edu_rdm_integration.stages.export_data.functions.base.validators import (
|
39
39
|
BaseExportDataFunctionValidator,
|
40
40
|
BaseExportDataRunnerValidator,
|
41
41
|
)
|
@@ -44,8 +44,7 @@ from edu_rdm_integration.export_data.base.validators import (
|
|
44
44
|
class ExportDataFunctionImplementationStrategy(
|
45
45
|
WebEduSyncBaseRunnerLazySavingPredefinedQueueFunctionImplementationStrategy,
|
46
46
|
):
|
47
|
-
"""
|
48
|
-
Стратегия создания функций выгрузки данных.
|
47
|
+
"""Стратегия создания функций выгрузки данных.
|
49
48
|
|
50
49
|
Стратегия создания функции с отложенным сохранением и предустановленной очередью объектов на сохранение функций
|
51
50
|
выгрузки данных для выгрузки в "Региональная витрина данных".
|
@@ -53,8 +52,7 @@ class ExportDataFunctionImplementationStrategy(
|
|
53
52
|
|
54
53
|
@classmethod
|
55
54
|
def _prepare_uuid(cls):
|
56
|
-
"""
|
57
|
-
Получение UUID класса. Используется при регистрации сущности в базе данных.
|
55
|
+
"""Получение UUID класса. Используется при регистрации сущности в базе данных.
|
58
56
|
|
59
57
|
Если ничего не возвращает, то регистрация в БД не будет произведена.
|
60
58
|
"""
|
@@ -62,30 +60,22 @@ class ExportDataFunctionImplementationStrategy(
|
|
62
60
|
|
63
61
|
@classmethod
|
64
62
|
def _prepare_verbose_name(cls) -> str:
|
65
|
-
"""
|
66
|
-
Полное наименование для дальнейшей регистрации и отображения пользователю.
|
67
|
-
"""
|
63
|
+
"""Полное наименование для дальнейшей регистрации и отображения пользователю."""
|
68
64
|
return 'Стратегия создания функций выгрузки данных'
|
69
65
|
|
70
66
|
@classmethod
|
71
67
|
def _prepare_tags(cls) -> list[str]:
|
72
|
-
"""
|
73
|
-
Список тегов, по которым сущность можно будет осуществлять поиск.
|
74
|
-
"""
|
68
|
+
"""Список тегов, по которым сущность можно будет осуществлять поиск."""
|
75
69
|
return [REGIONAL_DATA_MART_INTEGRATION_EXPORTING_DATA]
|
76
70
|
|
77
71
|
@classmethod
|
78
72
|
def _prepare_key(cls) -> str:
|
79
|
-
"""
|
80
|
-
Возвращает уникальный идентификатор стратегии создания функции.
|
81
|
-
"""
|
73
|
+
"""Возвращает уникальный идентификатор стратегии создания функции."""
|
82
74
|
return 'REGIONAL_DATA_MART_INTEGRATION_EXPORTING_DATA'
|
83
75
|
|
84
76
|
@classmethod
|
85
77
|
def _prepare_title(cls) -> str:
|
86
|
-
"""
|
87
|
-
Возвращает название стратегии создания функции.
|
88
|
-
"""
|
78
|
+
"""Возвращает название стратегии создания функции."""
|
89
79
|
return (
|
90
80
|
'Стратегия создания функции с отложенным сохранением и предустановленной очередью объектов на сохранение '
|
91
81
|
'функций выгрузки данных в "Региональная витрина данных". Сохранение производится после удачной работы '
|
@@ -94,85 +84,57 @@ class ExportDataFunctionImplementationStrategy(
|
|
94
84
|
|
95
85
|
@classmethod
|
96
86
|
def _prepare_function_template_name(cls) -> Optional[str]:
|
97
|
-
"""
|
98
|
-
Формирование названия шаблона создания функции.
|
99
|
-
"""
|
87
|
+
"""Формирование названия шаблона создания функции."""
|
100
88
|
return 'function_export_data_template'
|
101
89
|
|
102
90
|
def _prepare_manager_class(self):
|
103
|
-
"""
|
104
|
-
Устанавливает класс менеджера.
|
105
|
-
"""
|
91
|
+
"""Устанавливает класс менеджера."""
|
106
92
|
self._manager_class = BaseExportDataRunnerManager
|
107
93
|
|
108
94
|
def _prepare_runner_class(self):
|
109
|
-
"""
|
110
|
-
Устанавливает класс ранера.
|
111
|
-
"""
|
95
|
+
"""Устанавливает класс ранера."""
|
112
96
|
self._runner_class = BaseExportDataRunner
|
113
97
|
|
114
98
|
def _prepare_function_class(self):
|
115
|
-
"""
|
116
|
-
Устанавливает класс Функции.
|
117
|
-
"""
|
99
|
+
"""Устанавливает класс Функции."""
|
118
100
|
self._function_class = BaseExportDataFunction
|
119
101
|
|
120
102
|
def _prepare_runner_helper_class(self):
|
121
|
-
"""
|
122
|
-
Устанавливает класс помощника ранера.
|
123
|
-
"""
|
103
|
+
"""Устанавливает класс помощника ранера."""
|
124
104
|
self._runner_helper_class = BaseExportDataRunnerHelper
|
125
105
|
|
126
106
|
def _prepare_function_helper_class(self):
|
127
|
-
"""
|
128
|
-
Устанавливает класс помощника функции.
|
129
|
-
"""
|
107
|
+
"""Устанавливает класс помощника функции."""
|
130
108
|
self._function_helper_class = BaseExportDataFunctionHelper
|
131
109
|
|
132
110
|
def _prepare_runner_validator_class(self):
|
133
|
-
"""
|
134
|
-
Устанавливает класс валидатора ранера.
|
135
|
-
"""
|
111
|
+
"""Устанавливает класс валидатора ранера."""
|
136
112
|
self._runner_validator_class = BaseExportDataRunnerValidator
|
137
113
|
|
138
114
|
def _prepare_function_validator_class(self):
|
139
|
-
"""
|
140
|
-
Устанавливает класс валидатора Функции.
|
141
|
-
"""
|
115
|
+
"""Устанавливает класс валидатора Функции."""
|
142
116
|
self._function_validator_class = BaseExportDataFunctionValidator
|
143
117
|
|
144
118
|
def _prepare_runner_cache_storage_class(self):
|
145
|
-
"""
|
146
|
-
Устанавливает класс хранилища кешей ранера.
|
147
|
-
"""
|
119
|
+
"""Устанавливает класс хранилища кешей ранера."""
|
148
120
|
self._runner_cache_storage_class = BaseExportDataRunnerCacheStorage
|
149
121
|
|
150
122
|
def _prepare_function_cache_storage_class(self):
|
151
|
-
"""
|
152
|
-
Устанавливает класс хранилища кешей Функции.
|
153
|
-
"""
|
123
|
+
"""Устанавливает класс хранилища кешей Функции."""
|
154
124
|
self._function_cache_storage_class = BaseExportDataFunctionCacheStorage
|
155
125
|
|
156
126
|
def _prepare_error_class(self):
|
157
|
-
"""
|
158
|
-
Устанавливает класс ошибки.
|
159
|
-
"""
|
127
|
+
"""Устанавливает класс ошибки."""
|
160
128
|
self._error_class = BaseExportDataError
|
161
129
|
|
162
130
|
def _prepare_runner_result_class(self):
|
163
|
-
"""
|
164
|
-
Устанавливает класс результата.
|
165
|
-
"""
|
131
|
+
"""Устанавливает класс результата."""
|
166
132
|
self._runner_result_class = BaseExportDataRunnerResult
|
167
133
|
|
168
134
|
def _prepare_function_result_class(self):
|
169
|
-
"""
|
170
|
-
Устанавливает класс результата.
|
171
|
-
"""
|
135
|
+
"""Устанавливает класс результата."""
|
172
136
|
self._function_result_class = BaseExportDataFunctionResult
|
173
137
|
|
174
138
|
def _prepare_result_presenter_class(self):
|
175
|
-
"""
|
176
|
-
Устанавливает класс презентера результата.
|
177
|
-
"""
|
139
|
+
"""Устанавливает класс презентера результата."""
|
178
140
|
self._result_presenter_class = BaseExportDataResultPresenter
|
File without changes
|
@@ -0,0 +1,19 @@
|
|
1
|
+
from django.apps import (
|
2
|
+
AppConfig,
|
3
|
+
)
|
4
|
+
|
5
|
+
|
6
|
+
class RDMServiceStageAppConfig(AppConfig):
|
7
|
+
"""Приложение для организации этапа сервисного обслуживания интеграции с РВД."""
|
8
|
+
|
9
|
+
name = 'edu_rdm_integration.stages.service'
|
10
|
+
label = 'edu_rdm_integration_service_stage'
|
11
|
+
verbose_name = 'Этап сервисного обслуживания'
|
12
|
+
|
13
|
+
def ready(self):
|
14
|
+
"""Готовность приложения."""
|
15
|
+
if self.name == 'edu_rdm_integration.stages.service':
|
16
|
+
# ruff: noqa: F401
|
17
|
+
from . import (
|
18
|
+
tasks,
|
19
|
+
)
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import celery
|
2
|
+
from celery.schedules import (
|
3
|
+
crontab,
|
4
|
+
)
|
5
|
+
from django.conf import (
|
6
|
+
settings,
|
7
|
+
)
|
8
|
+
|
9
|
+
from educommon.async_task.models import (
|
10
|
+
AsyncTaskType,
|
11
|
+
)
|
12
|
+
from educommon.async_task.tasks import (
|
13
|
+
UniquePeriodicAsyncTask,
|
14
|
+
)
|
15
|
+
|
16
|
+
from edu_rdm_integration.core.consts import (
|
17
|
+
TASK_QUEUE_NAME,
|
18
|
+
)
|
19
|
+
from edu_rdm_integration.stages.collect_data.helpers import (
|
20
|
+
set_failed_status_suspended_collecting_data_stages,
|
21
|
+
)
|
22
|
+
from edu_rdm_integration.stages.export_data.helpers import (
|
23
|
+
set_failed_status_suspended_exporting_data_stages,
|
24
|
+
)
|
25
|
+
|
26
|
+
|
27
|
+
class CheckSuspendedExportedStagePeriodicTask(UniquePeriodicAsyncTask):
|
28
|
+
"""Периодическая задача поиска зависших этапов/подэтапов экспорта."""
|
29
|
+
|
30
|
+
queue = TASK_QUEUE_NAME
|
31
|
+
routing_key = TASK_QUEUE_NAME
|
32
|
+
description = 'Поиск зависших этапов/подэтапов экспорта в "Региональная витрина данных"'
|
33
|
+
lock_expire_seconds = settings.RDM_CHECK_SUSPEND_TASK_LOCK_EXPIRE_SECONDS
|
34
|
+
task_type = AsyncTaskType.SYSTEM
|
35
|
+
run_every = crontab(
|
36
|
+
minute=settings.RDM_CHECK_SUSPEND_TASK_MINUTE,
|
37
|
+
hour=settings.RDM_CHECK_SUSPEND_TASK_HOUR,
|
38
|
+
day_of_week=settings.RDM_CHECK_SUSPEND_TASK_DAY_OF_WEEK,
|
39
|
+
)
|
40
|
+
|
41
|
+
def process(self, *args, **kwargs):
|
42
|
+
"""Выполнение задачи."""
|
43
|
+
super().process(*args, **kwargs)
|
44
|
+
|
45
|
+
change_status_collecting_result = set_failed_status_suspended_collecting_data_stages()
|
46
|
+
change_status_exporting_result = set_failed_status_suspended_exporting_data_stages()
|
47
|
+
|
48
|
+
task_result = {
|
49
|
+
'Прервано сборок': (
|
50
|
+
f'Этапов {change_status_collecting_result["change_stage_count"]}'
|
51
|
+
f' и подэтапов {change_status_collecting_result["change_sub_stage_count"]}'
|
52
|
+
),
|
53
|
+
'Прервано выгрузок': (
|
54
|
+
f'Этапов {change_status_exporting_result["change_stage_count"]}'
|
55
|
+
f' и подэтапов {change_status_exporting_result["change_sub_stage_count"]}'
|
56
|
+
),
|
57
|
+
}
|
58
|
+
|
59
|
+
self.set_progress(values=task_result)
|
60
|
+
|
61
|
+
|
62
|
+
celery_app = celery.app.app_or_default()
|
63
|
+
celery_app.register_task(CheckSuspendedExportedStagePeriodicTask)
|
File without changes
|
@@ -0,0 +1,19 @@
|
|
1
|
+
from django.apps import (
|
2
|
+
AppConfig,
|
3
|
+
)
|
4
|
+
|
5
|
+
|
6
|
+
class RDMUploadDataStageAppConfig(AppConfig):
|
7
|
+
"""Приложение для организации этапа выгрузки файлов в РВД."""
|
8
|
+
|
9
|
+
name = 'edu_rdm_integration.stages.upload_data'
|
10
|
+
label = 'edu_rdm_integration_upload_data_stage'
|
11
|
+
verbose_name = 'Этап выгрузки файлов в РВД'
|
12
|
+
|
13
|
+
def ready(self):
|
14
|
+
"""Готовность приложения."""
|
15
|
+
if self.name == 'edu_rdm_integration.stages.upload_data':
|
16
|
+
# ruff: noqa: F401
|
17
|
+
from . import (
|
18
|
+
tasks,
|
19
|
+
)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from m3.db import (
|
2
|
+
BaseEnumerate,
|
3
|
+
)
|
4
|
+
|
5
|
+
|
6
|
+
class FileUploadStatusEnum(BaseEnumerate):
|
7
|
+
"""Действие по отслеживаемым данным."""
|
8
|
+
|
9
|
+
IN_PROGRESS = 1
|
10
|
+
FINISHED = 2
|
11
|
+
ERROR = 3
|
12
|
+
|
13
|
+
values = {
|
14
|
+
IN_PROGRESS: 'В процессе загрузки в витрину',
|
15
|
+
FINISHED: 'Загрузка в витрину закончена',
|
16
|
+
ERROR: 'Ошибка загрузки в витрину',
|
17
|
+
}
|