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
@@ -1,224 +0,0 @@
|
|
1
|
-
from abc import (
|
2
|
-
ABC,
|
3
|
-
abstractmethod,
|
4
|
-
)
|
5
|
-
from typing import (
|
6
|
-
Dict,
|
7
|
-
Iterable,
|
8
|
-
Optional,
|
9
|
-
)
|
10
|
-
|
11
|
-
from django.db.models import (
|
12
|
-
QuerySet,
|
13
|
-
)
|
14
|
-
|
15
|
-
from educommon.async_task.exceptions import (
|
16
|
-
TaskUniqueException,
|
17
|
-
)
|
18
|
-
from educommon.async_task.models import (
|
19
|
-
AsyncTaskType,
|
20
|
-
)
|
21
|
-
from educommon.async_task.tasks import (
|
22
|
-
AsyncTask,
|
23
|
-
)
|
24
|
-
|
25
|
-
from edu_rdm_integration.collect_and_export_data.models import (
|
26
|
-
EduRdmCollectDataCommandProgress,
|
27
|
-
EduRdmExportDataCommandProgress,
|
28
|
-
)
|
29
|
-
from edu_rdm_integration.collect_data.collect import (
|
30
|
-
BaseCollectModelsDataByGeneratingLogs,
|
31
|
-
)
|
32
|
-
from edu_rdm_integration.consts import (
|
33
|
-
TASK_QUEUE_NAME,
|
34
|
-
)
|
35
|
-
from edu_rdm_integration.enums import (
|
36
|
-
EntityLevelQueueTypeEnum,
|
37
|
-
)
|
38
|
-
from edu_rdm_integration.export_data.export import (
|
39
|
-
ExportEntitiesData,
|
40
|
-
)
|
41
|
-
from edu_rdm_integration.helpers import (
|
42
|
-
save_command_log_link,
|
43
|
-
)
|
44
|
-
|
45
|
-
|
46
|
-
class CollectCommandMixin:
|
47
|
-
"""Класс-примесь для запуска команды сборки моделей."""
|
48
|
-
|
49
|
-
queue = TASK_QUEUE_NAME
|
50
|
-
routing_key = TASK_QUEUE_NAME
|
51
|
-
description = 'Сбор данных моделей РВД'
|
52
|
-
task_type = AsyncTaskType.SYSTEM
|
53
|
-
|
54
|
-
def get_collect_command(self, command_id: int) -> EduRdmCollectDataCommandProgress:
|
55
|
-
"""Возвращает экземпляр модели команды запуска."""
|
56
|
-
command = EduRdmCollectDataCommandProgress.objects.get(id=command_id)
|
57
|
-
|
58
|
-
return command
|
59
|
-
|
60
|
-
def get_collect_models_class(self):
|
61
|
-
"""Возвращает класс для сбора данных."""
|
62
|
-
return BaseCollectModelsDataByGeneratingLogs
|
63
|
-
|
64
|
-
def run_collect_command(self, command) -> None:
|
65
|
-
"""Запуск команды сбора."""
|
66
|
-
collect_models_data_class = self.get_collect_models_class()
|
67
|
-
collect_models_data_class(
|
68
|
-
models=(command.model_id,),
|
69
|
-
logs_period_started_at=command.logs_period_started_at,
|
70
|
-
logs_period_ended_at=command.logs_period_ended_at,
|
71
|
-
command_id=command.id,
|
72
|
-
institute_ids=tuple(command.institute_ids or ()),
|
73
|
-
).collect()
|
74
|
-
|
75
|
-
def save_collect_command_logs(self, command_id: int, log_dir: str):
|
76
|
-
"""Сохранение ссылки на файл логов в команде."""
|
77
|
-
try:
|
78
|
-
command = self.get_collect_command(command_id)
|
79
|
-
except EduRdmCollectDataCommandProgress.DoesNotExist:
|
80
|
-
command = None
|
81
|
-
|
82
|
-
if command:
|
83
|
-
save_command_log_link(command, log_dir)
|
84
|
-
|
85
|
-
|
86
|
-
class ExportCommandMixin:
|
87
|
-
"""Класс-примесь для запуска команды выгрузки сущностей."""
|
88
|
-
|
89
|
-
queue = TASK_QUEUE_NAME
|
90
|
-
routing_key = TASK_QUEUE_NAME
|
91
|
-
description = 'Экспорт данных сущностей РВД'
|
92
|
-
task_type = AsyncTaskType.SYSTEM
|
93
|
-
|
94
|
-
def get_export_command(self, command_id: int) -> EduRdmExportDataCommandProgress:
|
95
|
-
"""Возвращает экземпляр модели команды запуска."""
|
96
|
-
command = EduRdmExportDataCommandProgress.objects.get(id=command_id)
|
97
|
-
|
98
|
-
return command
|
99
|
-
|
100
|
-
def run_export_command(self, command: EduRdmExportDataCommandProgress) -> None:
|
101
|
-
"""Запуск команды выгрузки."""
|
102
|
-
ExportEntitiesData(
|
103
|
-
entities=(command.entity_id,),
|
104
|
-
period_started_at=command.period_started_at,
|
105
|
-
period_ended_at=command.period_ended_at,
|
106
|
-
command_id=command.id,
|
107
|
-
).export()
|
108
|
-
|
109
|
-
def save_export_command_logs(self, command_id: int, log_dir: str):
|
110
|
-
"""Сохранение ссылки на файл логов в команде."""
|
111
|
-
try:
|
112
|
-
command = self.get_export_command(command_id)
|
113
|
-
except EduRdmExportDataCommandProgress.DoesNotExist:
|
114
|
-
command = None
|
115
|
-
|
116
|
-
if command:
|
117
|
-
save_command_log_link(command, log_dir)
|
118
|
-
|
119
|
-
|
120
|
-
class BaseTaskProgressUpdater(ABC):
|
121
|
-
"""Базовый класс, который обновляет данные в таблицах, хранящих команды сбора/экспорта."""
|
122
|
-
|
123
|
-
@property
|
124
|
-
@abstractmethod
|
125
|
-
def update_model(self):
|
126
|
-
"""
|
127
|
-
Основная модель для обновления.
|
128
|
-
|
129
|
-
Необходимо задать в дочернем классе.
|
130
|
-
"""
|
131
|
-
|
132
|
-
@property
|
133
|
-
@abstractmethod
|
134
|
-
def async_model(self):
|
135
|
-
"""
|
136
|
-
Модель асинхронных задач.
|
137
|
-
|
138
|
-
Необходимо задать в дочернем классе.
|
139
|
-
"""
|
140
|
-
|
141
|
-
def set_async_task(self, commands_to_update: Dict[EduRdmCollectDataCommandProgress, str]) -> None:
|
142
|
-
"""Устанавливает ссылку на асинхронную задачу."""
|
143
|
-
for command, task_uuid in commands_to_update.items():
|
144
|
-
command.task_id = task_uuid
|
145
|
-
|
146
|
-
self.update_model.objects.bulk_update(
|
147
|
-
commands_to_update,
|
148
|
-
['task_id'],
|
149
|
-
)
|
150
|
-
|
151
|
-
def set_stage(self, command_id: int, stage_id: int) -> None:
|
152
|
-
"""Устанавливает ссылку на stage."""
|
153
|
-
self.update_model.objects.filter(
|
154
|
-
id=command_id,
|
155
|
-
).update(
|
156
|
-
stage_id=stage_id,
|
157
|
-
)
|
158
|
-
|
159
|
-
|
160
|
-
class BaseTaskStarter(ABC):
|
161
|
-
"""Запускает асинхронные задачи."""
|
162
|
-
|
163
|
-
updater: BaseTaskProgressUpdater = None
|
164
|
-
async_task: AsyncTask = None
|
165
|
-
model_only_fields: Iterable[str] = ()
|
166
|
-
|
167
|
-
def run(self, command_ids: Iterable[int], queue_level: Optional[int] = None) -> str:
|
168
|
-
"""Создает задачи и ставит их в очередь."""
|
169
|
-
commands_to_update = {}
|
170
|
-
skipped_commands_count = 0
|
171
|
-
commands = self._get_commands(command_ids)
|
172
|
-
queue_name = None
|
173
|
-
|
174
|
-
if queue_level:
|
175
|
-
queue_name = EntityLevelQueueTypeEnum.get_queue_name(level=queue_level)
|
176
|
-
|
177
|
-
if not queue_name:
|
178
|
-
queue_name = TASK_QUEUE_NAME
|
179
|
-
|
180
|
-
for command in commands:
|
181
|
-
if command.task_id:
|
182
|
-
# Повторный запуск команды не допускается
|
183
|
-
skipped_commands_count += 1
|
184
|
-
continue
|
185
|
-
|
186
|
-
try:
|
187
|
-
async_result = self.async_task().apply_async( # noqa pylint: disable=not-callable
|
188
|
-
args=None,
|
189
|
-
queue=queue_name,
|
190
|
-
routing_key=queue_name,
|
191
|
-
kwargs={
|
192
|
-
'command_id': command.id,
|
193
|
-
},
|
194
|
-
lock_data={
|
195
|
-
'lock_params': {
|
196
|
-
'command_id': f'{self.updater.update_model.__name__}_{command.id}',
|
197
|
-
},
|
198
|
-
},
|
199
|
-
)
|
200
|
-
except TaskUniqueException:
|
201
|
-
skipped_commands_count += 1
|
202
|
-
continue
|
203
|
-
else:
|
204
|
-
commands_to_update[command] = async_result.task_id
|
205
|
-
|
206
|
-
if commands_to_update:
|
207
|
-
self.updater().set_async_task(commands_to_update) # noqa pylint: disable=not-callable
|
208
|
-
|
209
|
-
message = f'Поставлено задач в очередь: {len(commands_to_update)} из {len(commands)}.'
|
210
|
-
if skipped_commands_count:
|
211
|
-
message += (
|
212
|
-
f' Кол-во задач, которые были запущены ранее: {skipped_commands_count}. '
|
213
|
-
'Однажды запущенные задачи не могут быть запущены снова!'
|
214
|
-
)
|
215
|
-
|
216
|
-
return message
|
217
|
-
|
218
|
-
def _get_commands(self, command_ids: Iterable[int]) -> 'QuerySet':
|
219
|
-
"""Возвращает Queryset команд для создания задач."""
|
220
|
-
return self.updater.update_model.objects.filter(
|
221
|
-
id__in=command_ids,
|
222
|
-
).only(
|
223
|
-
*self.model_only_fields,
|
224
|
-
)
|
@@ -1,26 +0,0 @@
|
|
1
|
-
from edu_rdm_integration.adapters.helpers import (
|
2
|
-
WebEduFunctionHelper,
|
3
|
-
WebEduRunnerHelper,
|
4
|
-
)
|
5
|
-
from edu_rdm_integration.consts import (
|
6
|
-
ALL_OPERATIONS,
|
7
|
-
UPDATED_OPERATIONS,
|
8
|
-
)
|
9
|
-
|
10
|
-
|
11
|
-
class BaseCollectingDataRunnerHelper(WebEduRunnerHelper):
|
12
|
-
"""
|
13
|
-
Базовый класс помощников ранеров функций сбора данных для интеграции с "Региональная витрина данных".
|
14
|
-
"""
|
15
|
-
|
16
|
-
|
17
|
-
class BaseCollectingDataFunctionHelper(WebEduFunctionHelper):
|
18
|
-
"""
|
19
|
-
Базовый класс помощников функций сбора данных для интеграции с "Региональная витрина данных".
|
20
|
-
"""
|
21
|
-
|
22
|
-
def get_filtered_operations(self, with_deleted: bool = False) -> tuple[int]:
|
23
|
-
"""
|
24
|
-
Возвращает кортеж отфильтрованных операций.
|
25
|
-
"""
|
26
|
-
return ALL_OPERATIONS if with_deleted else UPDATED_OPERATIONS
|
@@ -1,32 +0,0 @@
|
|
1
|
-
from edu_rdm_integration.collect_data.base.helpers import (
|
2
|
-
BaseCollectingDataFunctionHelper,
|
3
|
-
BaseCollectingDataRunnerHelper,
|
4
|
-
)
|
5
|
-
from edu_rdm_integration.collect_data.calculated.base.caches import (
|
6
|
-
BaseCollectingCalculatedExportedDataFunctionCacheStorage,
|
7
|
-
BaseCollectingCalculatedExportedDataRunnerCacheStorage,
|
8
|
-
)
|
9
|
-
|
10
|
-
|
11
|
-
class BaseCollectingCalculatedExportedDataRunnerHelper(BaseCollectingDataRunnerHelper):
|
12
|
-
"""
|
13
|
-
Базовый класс помощников ранеров функций сбора расчетных данных для интеграции с "Региональная витрина данных".
|
14
|
-
"""
|
15
|
-
|
16
|
-
def _prepare_cache_class(self) -> type[BaseCollectingCalculatedExportedDataRunnerCacheStorage]:
|
17
|
-
"""
|
18
|
-
Возвращает класс кеша помощника ранера.
|
19
|
-
"""
|
20
|
-
return BaseCollectingCalculatedExportedDataRunnerCacheStorage
|
21
|
-
|
22
|
-
|
23
|
-
class BaseCollectingCalculatedExportedDataFunctionHelper(BaseCollectingDataFunctionHelper):
|
24
|
-
"""
|
25
|
-
Базовый класс помощников функций сбора расчетных данных для интеграции с "Региональная витрина данных".
|
26
|
-
"""
|
27
|
-
|
28
|
-
def _prepare_cache_class(self) -> type[BaseCollectingCalculatedExportedDataFunctionCacheStorage]:
|
29
|
-
"""
|
30
|
-
Возвращает класс кеша помощника функции.
|
31
|
-
"""
|
32
|
-
return BaseCollectingCalculatedExportedDataFunctionCacheStorage
|
@@ -1,23 +0,0 @@
|
|
1
|
-
from abc import (
|
2
|
-
ABCMeta,
|
3
|
-
)
|
4
|
-
|
5
|
-
from edu_rdm_integration.collect_data.base.managers import (
|
6
|
-
BaseCollectingDataRunnerManager,
|
7
|
-
)
|
8
|
-
from edu_rdm_integration.collect_data.calculated.base.runners import (
|
9
|
-
BaseCollectingCalculatedExportedDataRunner,
|
10
|
-
)
|
11
|
-
|
12
|
-
|
13
|
-
class BaseCollectingCalculatedExportedDataRunnerManager(BaseCollectingDataRunnerManager, metaclass=ABCMeta):
|
14
|
-
"""
|
15
|
-
Менеджер ранеров функций сбора расчетных данных для интеграции с "Региональная витрина данных".
|
16
|
-
"""
|
17
|
-
|
18
|
-
@classmethod
|
19
|
-
def _prepare_runner_class(cls) -> type[BaseCollectingCalculatedExportedDataRunner]:
|
20
|
-
"""
|
21
|
-
Возвращает класс ранера.
|
22
|
-
"""
|
23
|
-
return BaseCollectingCalculatedExportedDataRunner
|
@@ -1,16 +0,0 @@
|
|
1
|
-
from edu_rdm_integration.adapters.results import (
|
2
|
-
WebEduFunctionResult,
|
3
|
-
WebEduRunnerResult,
|
4
|
-
)
|
5
|
-
|
6
|
-
|
7
|
-
class BaseCollectingCalculatedExportedDataRunnerResult(WebEduRunnerResult):
|
8
|
-
"""
|
9
|
-
Базовый класс результатов работы ранеров функций сбора расчетных данных для "Региональной витрины данных".
|
10
|
-
"""
|
11
|
-
|
12
|
-
|
13
|
-
class BaseCollectingCalculatedExportedDataFunctionResult(WebEduFunctionResult):
|
14
|
-
"""
|
15
|
-
Базовый класс результатов работы функций сбора расчетных данных для интеграции с "Региональная витрина данных".
|
16
|
-
"""
|
@@ -1,36 +0,0 @@
|
|
1
|
-
from edu_rdm_integration.collect_data.base.runners import (
|
2
|
-
BaseCollectingDataRunner,
|
3
|
-
)
|
4
|
-
from edu_rdm_integration.collect_data.calculated.base.helpers import (
|
5
|
-
BaseCollectingCalculatedExportedDataRunnerHelper,
|
6
|
-
)
|
7
|
-
from edu_rdm_integration.collect_data.calculated.base.results import (
|
8
|
-
BaseCollectingCalculatedExportedDataRunnerResult,
|
9
|
-
)
|
10
|
-
from edu_rdm_integration.collect_data.calculated.base.validators import (
|
11
|
-
BaseCollectingCalculatedExportedDataRunnerValidator,
|
12
|
-
)
|
13
|
-
|
14
|
-
|
15
|
-
class BaseCollectingCalculatedExportedDataRunner(BaseCollectingDataRunner):
|
16
|
-
"""
|
17
|
-
Базовый класс ранеров функций сбора расчетных данных для интеграции с "Региональная витрина данных".
|
18
|
-
"""
|
19
|
-
|
20
|
-
def _prepare_helper_class(self) -> type[BaseCollectingCalculatedExportedDataRunnerHelper]:
|
21
|
-
"""
|
22
|
-
Возвращает класс помощника ранера функции.
|
23
|
-
"""
|
24
|
-
return BaseCollectingCalculatedExportedDataRunnerHelper
|
25
|
-
|
26
|
-
def _prepare_validator_class(self) -> type[BaseCollectingCalculatedExportedDataRunnerValidator]:
|
27
|
-
"""
|
28
|
-
Возвращает класс валидатора ранера функции.
|
29
|
-
"""
|
30
|
-
return BaseCollectingCalculatedExportedDataRunnerValidator
|
31
|
-
|
32
|
-
def _prepare_result_class(self) -> type[BaseCollectingCalculatedExportedDataRunnerResult]:
|
33
|
-
"""
|
34
|
-
Возвращает класс результата ранера функции.
|
35
|
-
"""
|
36
|
-
return BaseCollectingCalculatedExportedDataRunnerResult
|
@@ -1,28 +0,0 @@
|
|
1
|
-
from edu_rdm_integration.adapters.validators import (
|
2
|
-
WebEduFunctionValidator,
|
3
|
-
WebEduRunnerValidator,
|
4
|
-
)
|
5
|
-
|
6
|
-
|
7
|
-
class BaseCollectingCalculatedExportedDataRunnerValidator(WebEduRunnerValidator):
|
8
|
-
"""
|
9
|
-
Базовый класс валидаторов ранеров функций сбора расчетных данных для интеграции с "Региональная витрина данных".
|
10
|
-
"""
|
11
|
-
|
12
|
-
def validate(self, runnable):
|
13
|
-
"""
|
14
|
-
Расширение метода валидации.
|
15
|
-
"""
|
16
|
-
super().validate(runnable=runnable)
|
17
|
-
|
18
|
-
|
19
|
-
class BaseCollectingCalculatedExportedDataFunctionValidator(WebEduFunctionValidator):
|
20
|
-
"""
|
21
|
-
Базовый класс валидаторов функций сбора расчетных данных для интеграции с "Региональная витрина данных".
|
22
|
-
"""
|
23
|
-
|
24
|
-
def validate(self, runnable):
|
25
|
-
"""
|
26
|
-
Расширение метода валидации.
|
27
|
-
"""
|
28
|
-
super().validate(runnable=runnable)
|
@@ -1,92 +0,0 @@
|
|
1
|
-
from datetime import (
|
2
|
-
date,
|
3
|
-
datetime,
|
4
|
-
time,
|
5
|
-
timedelta,
|
6
|
-
)
|
7
|
-
|
8
|
-
from django.conf import (
|
9
|
-
settings,
|
10
|
-
)
|
11
|
-
from django.db.models import (
|
12
|
-
OuterRef,
|
13
|
-
Subquery,
|
14
|
-
Value,
|
15
|
-
)
|
16
|
-
from django.db.models.functions import (
|
17
|
-
Coalesce,
|
18
|
-
)
|
19
|
-
from django.db.transaction import (
|
20
|
-
atomic,
|
21
|
-
)
|
22
|
-
|
23
|
-
from educommon import (
|
24
|
-
logger,
|
25
|
-
)
|
26
|
-
|
27
|
-
from edu_rdm_integration.models import (
|
28
|
-
CollectingDataStageStatus,
|
29
|
-
CollectingDataSubStageStatus,
|
30
|
-
CollectingExportedDataStage,
|
31
|
-
CollectingExportedDataSubStage,
|
32
|
-
)
|
33
|
-
|
34
|
-
|
35
|
-
@atomic
|
36
|
-
def set_failed_status_suspended_collecting_data_stages() -> dict[str, int]:
|
37
|
-
"""Установить статус 'Завершено с ошибками' для зависших этапов и подэтапов сбора.
|
38
|
-
|
39
|
-
Сборка считается зависшей в случае если за определенное в параметре RDM_CHECK_SUSPEND_TASK_STAGE_TIMEOUT время,
|
40
|
-
отсутствуют изменения в связанных подэтапах. Параметр RDM_CHECK_SUSPEND_TASK_STAGE_TIMEOUT определяется
|
41
|
-
в настройках приложения.
|
42
|
-
"""
|
43
|
-
changed_status_result = {
|
44
|
-
'change_stage_count': 0,
|
45
|
-
'change_sub_stage_count': 0,
|
46
|
-
}
|
47
|
-
|
48
|
-
current_datetime = datetime.now()
|
49
|
-
suspended_time_at = current_datetime - timedelta(minutes=settings.RDM_CHECK_SUSPEND_TASK_STAGE_TIMEOUT)
|
50
|
-
|
51
|
-
suspended_stage_ids = set(
|
52
|
-
CollectingExportedDataStage.objects.annotate(
|
53
|
-
last_sub_stage_started_at=Coalesce(
|
54
|
-
Subquery(
|
55
|
-
CollectingExportedDataSubStage.objects.filter(
|
56
|
-
stage_id=OuterRef('pk')
|
57
|
-
).values('started_at').order_by('-started_at')[:1]
|
58
|
-
),
|
59
|
-
Value(datetime.combine(date.min, time.min))
|
60
|
-
)
|
61
|
-
).filter(
|
62
|
-
last_sub_stage_started_at__lt=suspended_time_at,
|
63
|
-
status__in=(
|
64
|
-
CollectingDataStageStatus.CREATED.key,
|
65
|
-
CollectingDataStageStatus.IN_PROGRESS.key,
|
66
|
-
),
|
67
|
-
).values_list('pk', flat=True)
|
68
|
-
)
|
69
|
-
|
70
|
-
if suspended_stage_ids:
|
71
|
-
logger.info(f'find suspended CollectingExportedDataStage: {", ".join(map(str, suspended_stage_ids))}..')
|
72
|
-
|
73
|
-
change_stage_count = CollectingExportedDataStage.objects.filter(
|
74
|
-
pk__in=suspended_stage_ids,
|
75
|
-
).update(
|
76
|
-
status=CollectingDataStageStatus.FAILED.key,
|
77
|
-
ended_at=current_datetime,
|
78
|
-
)
|
79
|
-
|
80
|
-
change_sub_stage_count = CollectingExportedDataSubStage.objects.filter(
|
81
|
-
stage_id__in=suspended_stage_ids,
|
82
|
-
).update(
|
83
|
-
status=CollectingDataSubStageStatus.FAILED.key,
|
84
|
-
ended_at=current_datetime,
|
85
|
-
)
|
86
|
-
|
87
|
-
changed_status_result.update({
|
88
|
-
'change_stage_count': change_stage_count,
|
89
|
-
'change_sub_stage_count': change_sub_stage_count,
|
90
|
-
})
|
91
|
-
|
92
|
-
return changed_status_result
|
@@ -1,32 +0,0 @@
|
|
1
|
-
from edu_rdm_integration.collect_data.base.helpers import (
|
2
|
-
BaseCollectingDataFunctionHelper,
|
3
|
-
BaseCollectingDataRunnerHelper,
|
4
|
-
)
|
5
|
-
from edu_rdm_integration.collect_data.non_calculated.base.caches import (
|
6
|
-
BaseCollectingExportedDataFunctionCacheStorage,
|
7
|
-
BaseCollectingExportedDataRunnerCacheStorage,
|
8
|
-
)
|
9
|
-
|
10
|
-
|
11
|
-
class BaseCollectingExportedDataRunnerHelper(BaseCollectingDataRunnerHelper):
|
12
|
-
"""
|
13
|
-
Базовый класс помощников ранеров функций сбора данных для интеграции с "Региональная витрина данных".
|
14
|
-
"""
|
15
|
-
|
16
|
-
def _prepare_cache_class(self) -> type[BaseCollectingExportedDataRunnerCacheStorage]:
|
17
|
-
"""
|
18
|
-
Возвращает класс кеша помощника ранера.
|
19
|
-
"""
|
20
|
-
return BaseCollectingExportedDataRunnerCacheStorage
|
21
|
-
|
22
|
-
|
23
|
-
class BaseCollectingExportedDataFunctionHelper(BaseCollectingDataFunctionHelper):
|
24
|
-
"""
|
25
|
-
Базовый класс помощников функций сбора данных для интеграции с "Региональная витрина данных".
|
26
|
-
"""
|
27
|
-
|
28
|
-
def _prepare_cache_class(self) -> type[BaseCollectingExportedDataFunctionCacheStorage]:
|
29
|
-
"""
|
30
|
-
Возвращает класс кеша помощника функции.
|
31
|
-
"""
|
32
|
-
return BaseCollectingExportedDataFunctionCacheStorage
|
@@ -1,23 +0,0 @@
|
|
1
|
-
from abc import (
|
2
|
-
ABCMeta,
|
3
|
-
)
|
4
|
-
|
5
|
-
from edu_rdm_integration.collect_data.base.managers import (
|
6
|
-
BaseCollectingDataRunnerManager,
|
7
|
-
)
|
8
|
-
from edu_rdm_integration.collect_data.non_calculated.base.runners import (
|
9
|
-
BaseCollectingExportedDataRunner,
|
10
|
-
)
|
11
|
-
|
12
|
-
|
13
|
-
class BaseCollectingExportedDataRunnerManager(BaseCollectingDataRunnerManager, metaclass=ABCMeta):
|
14
|
-
"""
|
15
|
-
Менеджер ранеров функций сбора данных для интеграции с "Региональная витрина данных".
|
16
|
-
"""
|
17
|
-
|
18
|
-
@classmethod
|
19
|
-
def _prepare_runner_class(cls) -> type[BaseCollectingExportedDataRunner]:
|
20
|
-
"""
|
21
|
-
Возвращает класс ранера.
|
22
|
-
"""
|
23
|
-
return BaseCollectingExportedDataRunner
|
@@ -1,16 +0,0 @@
|
|
1
|
-
from edu_rdm_integration.adapters.results import (
|
2
|
-
WebEduFunctionResult,
|
3
|
-
WebEduRunnerResult,
|
4
|
-
)
|
5
|
-
|
6
|
-
|
7
|
-
class BaseCollectingExportedDataRunnerResult(WebEduRunnerResult):
|
8
|
-
"""
|
9
|
-
Базовый класс результатов работы ранеров функций сбора данных для интеграции с "Региональная витрина данных".
|
10
|
-
"""
|
11
|
-
|
12
|
-
|
13
|
-
class BaseCollectingExportedDataFunctionResult(WebEduFunctionResult):
|
14
|
-
"""
|
15
|
-
Базовый класс результатов работы функций сбора данных для интеграции с "Региональная витрина данных".
|
16
|
-
"""
|
@@ -1,36 +0,0 @@
|
|
1
|
-
from edu_rdm_integration.collect_data.base.runners import (
|
2
|
-
BaseCollectingDataRunner,
|
3
|
-
)
|
4
|
-
from edu_rdm_integration.collect_data.non_calculated.base.helpers import (
|
5
|
-
BaseCollectingExportedDataRunnerHelper,
|
6
|
-
)
|
7
|
-
from edu_rdm_integration.collect_data.non_calculated.base.results import (
|
8
|
-
BaseCollectingExportedDataRunnerResult,
|
9
|
-
)
|
10
|
-
from edu_rdm_integration.collect_data.non_calculated.base.validators import (
|
11
|
-
BaseCollectingExportedDataRunnerValidator,
|
12
|
-
)
|
13
|
-
|
14
|
-
|
15
|
-
class BaseCollectingExportedDataRunner(BaseCollectingDataRunner):
|
16
|
-
"""
|
17
|
-
Базовый класс ранеров функций сбора данных для интеграции с "Региональная витрина данных".
|
18
|
-
"""
|
19
|
-
|
20
|
-
def _prepare_helper_class(self) -> type[BaseCollectingExportedDataRunnerHelper]:
|
21
|
-
"""
|
22
|
-
Возвращает класс помощника ранера функции.
|
23
|
-
"""
|
24
|
-
return BaseCollectingExportedDataRunnerHelper
|
25
|
-
|
26
|
-
def _prepare_validator_class(self) -> type[BaseCollectingExportedDataRunnerValidator]:
|
27
|
-
"""
|
28
|
-
Возвращает класс валидатора ранера функции.
|
29
|
-
"""
|
30
|
-
return BaseCollectingExportedDataRunnerValidator
|
31
|
-
|
32
|
-
def _prepare_result_class(self) -> type[BaseCollectingExportedDataRunnerResult]:
|
33
|
-
"""
|
34
|
-
Возвращает класс результата ранера функции.
|
35
|
-
"""
|
36
|
-
return BaseCollectingExportedDataRunnerResult
|
@@ -1,28 +0,0 @@
|
|
1
|
-
from edu_rdm_integration.adapters.validators import (
|
2
|
-
WebEduFunctionValidator,
|
3
|
-
WebEduRunnerValidator,
|
4
|
-
)
|
5
|
-
|
6
|
-
|
7
|
-
class BaseCollectingExportedDataRunnerValidator(WebEduRunnerValidator):
|
8
|
-
"""
|
9
|
-
Базовый класс валидаторов ранеров функций сбора данных для интеграции с "Региональная витрина данных".
|
10
|
-
"""
|
11
|
-
|
12
|
-
def validate(self, runnable):
|
13
|
-
"""
|
14
|
-
Выполнение валидации.
|
15
|
-
"""
|
16
|
-
super().validate(runnable=runnable)
|
17
|
-
|
18
|
-
|
19
|
-
class BaseCollectingExportedDataFunctionValidator(WebEduFunctionValidator):
|
20
|
-
"""
|
21
|
-
Базовый класс валидаторов функций сбора данных для интеграции с "Региональная витрина данных".
|
22
|
-
"""
|
23
|
-
|
24
|
-
def validate(self, runnable):
|
25
|
-
"""
|
26
|
-
Выполнение валидации.
|
27
|
-
"""
|
28
|
-
super().validate(runnable=runnable)
|