edu-rdm-integration 3.18.0__tar.gz → 3.18.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of edu-rdm-integration might be problematic. Click here for more details.
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/CHANGELOG.md +31 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/PKG-INFO +1 -1
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/utils.py +0 -1
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_entities/models.py +11 -1
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_models/models.py +166 -56
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/models.py +5 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration.egg-info/PKG-INFO +1 -1
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/CONDUCT.md +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/LICENSE +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/MANIFEST.in +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/README.md +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/pyproject.toml +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/setup.cfg +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/collect_and_export_data/migrations/0003_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/collect_and_export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/consts.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/enums.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/helpers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/mapping.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/operations.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/redis_cache.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/registry/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/registry/actions.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/registry/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/registry/templates/ui-js/start-task.js +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/registry/ui.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/signals.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/storages.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/typing.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/0018_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/models.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/rdm_cleanup_outdated_data.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/actions.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/app_meta.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/enums.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/mixins.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/models.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/tasks.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/templates/ui-js/transferred-entity-list.js +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/pipelines/transfer/ui.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_entities/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_entities/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_entities/entities.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_entities/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_entities/migrations/0002_rename_regionaldatamartentityenum_rdmentityenum.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_entities/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_entities/mixins.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_entities/utils.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_models/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_models/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_models/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_models/migrations/0002_rename_regionaldatamartmodelenum_rdmmodelenum.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_models/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_models/mixins.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_models/utils.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/consts.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/__init__.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/apps.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/caches.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/consts.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/enums.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/errors.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/functions.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/helpers.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/managers.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/presenters.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/results.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/runners.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/strings.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/validators.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/base/mixins.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/consts.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/enums.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/functions.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/strings.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/tests.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/consts.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/enums.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/functions.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/strings.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/tests.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/generators.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/helpers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/management/base.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_latest_models_data.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_models_data.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/migrations/0003_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/migrations/0004_auto_20250704_0825.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/mixins.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/models.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/operations.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/registry/actions.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/registry/ui.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/collect_data/tests.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/consts.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/__init__.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/apps.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/caches.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/consts.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/enums.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/errors.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/functions.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/helpers.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/managers.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/presenters.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/results.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/strings.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/tests.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/validators.py-tpl +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/enums.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/errors.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/presenters.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/requests.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/results.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/strings.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/tests.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/functions/base/validators.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/generators.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/helpers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/management/base.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/management/commands/export_entities_data.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/management/commands/export_latest_entities_data.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/migrations/0002_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/mixins.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/operations.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/registry/actions.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/stage_for_export.js +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/registry/ui.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/export_data/strategies.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/service/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/service/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/service/model_outdated_data/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/service/model_outdated_data/cleaners.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/service/model_outdated_data/managers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/service/outdated_service_data/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/service/tasks.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/consts.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/dataclasses.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/enums.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/export_managers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/helpers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/management/base.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/management/commands/async_fix_attachment_size.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/management/commands/check_upload_status.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_status.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_upload.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/migrations/0002_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/models.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/operations.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/queues.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/tasks.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/actions.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/apps.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/enums.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/managers.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/models.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/ui.py +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration.egg-info/SOURCES.txt +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration.egg-info/requires.txt +0 -0
- {edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
|
@@ -29,6 +29,37 @@
|
|
|
29
29
|
### Удалено
|
|
30
30
|
|
|
31
31
|
|
|
32
|
+
## [3.18.2] - 2025-09-12
|
|
33
|
+
|
|
34
|
+
### Исправлено
|
|
35
|
+
|
|
36
|
+
- [EDUCLLG-7932](https://jira.bars.group/browse/EDUCLLG-7932)
|
|
37
|
+
PATCH Исправлена обработка None значений order_number в функции register_classes для корректной работы с автоматическим расчетом порядковых номеров.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## [3.18.1] - 2025-09-02
|
|
41
|
+
|
|
42
|
+
Доработки модели перечисления RDMModelEnum для расширения функционала механизма зачистки устаревших данных моделей РВД.
|
|
43
|
+
|
|
44
|
+
### Добавлено
|
|
45
|
+
|
|
46
|
+
- [EDUDEVOPS-94](https://jira.bars.group/browse/EDUDEVOPS-94)
|
|
47
|
+
PATCH Добавлена базовая модель для определения модели являющейся основной для сущности.
|
|
48
|
+
-
|
|
49
|
+
- [EDUDEVOPS-94](https://jira.bars.group/browse/EDUDEVOPS-94)
|
|
50
|
+
PATCH Добавлен механизм расчета обратных связей для моделей в модели-перечислении RDMModelEnum.
|
|
51
|
+
|
|
52
|
+
### Изменено
|
|
53
|
+
|
|
54
|
+
- [EDUDEVOPS-94](https://jira.bars.group/browse/EDUDEVOPS-94)
|
|
55
|
+
PATCH Изменен алгоритм сортировки моделей с использованием ключей модели-перечисления RDMModelEnum.
|
|
56
|
+
|
|
57
|
+
### Исправлено
|
|
58
|
+
|
|
59
|
+
- [EDUDEVOPS-94](https://jira.bars.group/browse/EDUDEVOPS-94)
|
|
60
|
+
PATCH Исправлена ошибка регистрации сущностей.
|
|
61
|
+
|
|
62
|
+
|
|
32
63
|
## [3.18.0] - 2025-08-29
|
|
33
64
|
|
|
34
65
|
Добавлено новое приложение `edu_rdm_integration.pipelines.cleanup_outdated_data`, которое необходимо подключить в
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: edu-rdm-integration
|
|
3
|
-
Version: 3.18.
|
|
3
|
+
Version: 3.18.2
|
|
4
4
|
Summary: Интеграция с Региональной витриной данных
|
|
5
5
|
Author-email: BARS Group <education_dev@bars.group>
|
|
6
6
|
Project-URL: Homepage, https://stash.bars-open.ru/projects/EDUBASE/repos/edu-rdm-integration/browse
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/utils.py
RENAMED
|
@@ -58,7 +58,6 @@ def register_classes(classes: Iterable[type[BaseEnumRegisterMixin]]) -> None:
|
|
|
58
58
|
Args:
|
|
59
59
|
classes: Классы, поддерживающие интерфейс регистрации.
|
|
60
60
|
"""
|
|
61
|
-
classes = sorted(classes, key=attrgetter('order_number'))
|
|
62
61
|
|
|
63
62
|
for enum_class in classes:
|
|
64
63
|
enum_class.register()
|
|
@@ -102,4 +102,14 @@ class RDMEntityEnum(TitledModelEnum):
|
|
|
102
102
|
except ValueError as e:
|
|
103
103
|
raise ValueError(f'Trying register entity "{entity.__name__}". {e.args[0]}')
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
model_enum_value = ModelEnumValue(
|
|
106
|
+
key=key,
|
|
107
|
+
title=title,
|
|
108
|
+
entity=entity,
|
|
109
|
+
main_model_enum=main_model_enum,
|
|
110
|
+
additional_model_enums=additional_model_enums,
|
|
111
|
+
order_number=order_number,
|
|
112
|
+
**kwargs,
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
setattr(cls, key, model_enum_value)
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
from collections import (
|
|
2
|
+
defaultdict,
|
|
3
|
+
)
|
|
1
4
|
from typing import (
|
|
2
5
|
Optional,
|
|
3
6
|
Type,
|
|
@@ -32,6 +35,36 @@ from m3_db_utils.models import (
|
|
|
32
35
|
class BaseRDMModel(ReprStrPreModelMixin, BaseObjectModel):
|
|
33
36
|
"""Базовая модель РВД."""
|
|
34
37
|
|
|
38
|
+
created = DateTimeField(
|
|
39
|
+
verbose_name='Дата создания',
|
|
40
|
+
auto_now_add=True,
|
|
41
|
+
null=True,
|
|
42
|
+
blank=True,
|
|
43
|
+
db_index=True,
|
|
44
|
+
)
|
|
45
|
+
modified = DateTimeField(
|
|
46
|
+
verbose_name='Дата изменения',
|
|
47
|
+
auto_now=True,
|
|
48
|
+
null=True,
|
|
49
|
+
blank=True,
|
|
50
|
+
db_index=True,
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
@property
|
|
54
|
+
def attrs_for_repr_str(self):
|
|
55
|
+
"""Список атрибутов для отображения экземпляра модели."""
|
|
56
|
+
return ['created', 'modified']
|
|
57
|
+
|
|
58
|
+
class Meta:
|
|
59
|
+
abstract = True
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class BaseMainRDMModel(BaseRDMModel):
|
|
63
|
+
"""Абстрактная основная модель РВД.
|
|
64
|
+
|
|
65
|
+
Является базовым классом для моделей РВД, которые являются основными для сущностей РВД.
|
|
66
|
+
"""
|
|
67
|
+
|
|
35
68
|
collecting_sub_stage = ForeignKey(
|
|
36
69
|
verbose_name='Подэтап сбора данных',
|
|
37
70
|
to='edu_rdm_integration_collect_data_stage.RDMCollectingDataSubStage',
|
|
@@ -49,21 +82,6 @@ class BaseRDMModel(ReprStrPreModelMixin, BaseObjectModel):
|
|
|
49
82
|
choices=EntityLogOperation.get_choices(),
|
|
50
83
|
)
|
|
51
84
|
|
|
52
|
-
created = DateTimeField(
|
|
53
|
-
verbose_name='Дата создания',
|
|
54
|
-
auto_now_add=True,
|
|
55
|
-
null=True,
|
|
56
|
-
blank=True,
|
|
57
|
-
db_index=True,
|
|
58
|
-
)
|
|
59
|
-
modified = DateTimeField(
|
|
60
|
-
verbose_name='Дата изменения',
|
|
61
|
-
auto_now=True,
|
|
62
|
-
null=True,
|
|
63
|
-
blank=True,
|
|
64
|
-
db_index=True,
|
|
65
|
-
)
|
|
66
|
-
|
|
67
85
|
@property
|
|
68
86
|
def attrs_for_repr_str(self):
|
|
69
87
|
"""Список атрибутов для отображения экземпляра модели."""
|
|
@@ -86,71 +104,160 @@ class RDMModelEnum(TitledModelEnum):
|
|
|
86
104
|
verbose_name_plural = 'Модели-перечисления моделей "Региональной витрины данных"'
|
|
87
105
|
|
|
88
106
|
@classmethod
|
|
89
|
-
def
|
|
90
|
-
"""Получение списка
|
|
91
|
-
|
|
107
|
+
def _get_model_relations(cls, model: Type['BaseRDMModel']) -> dict[str, str]:
|
|
108
|
+
"""Получение списка связей модели РВД."""
|
|
109
|
+
model_label_enum_data = cls.get_model_label_enum_data()
|
|
110
|
+
model_relations = {}
|
|
92
111
|
|
|
93
112
|
for field in model._meta.concrete_fields:
|
|
94
113
|
if isinstance(field, FictiveForeignKeyField):
|
|
95
|
-
|
|
114
|
+
model_label = field.to
|
|
96
115
|
elif isinstance(field, ForeignKey):
|
|
97
|
-
|
|
116
|
+
model_label = field.related_model._meta.label
|
|
117
|
+
else:
|
|
118
|
+
continue
|
|
119
|
+
|
|
120
|
+
if model_label in model_label_enum_data:
|
|
121
|
+
model_key = model_label_enum_data[model_label].key
|
|
122
|
+
model_relations[field.attname] = model_key
|
|
98
123
|
|
|
99
|
-
return
|
|
124
|
+
return model_relations
|
|
100
125
|
|
|
101
126
|
@classmethod
|
|
102
|
-
def
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
127
|
+
def _get_models_relations(cls) -> dict[str, dict[str, str]]:
|
|
128
|
+
"""Получение списка связей всех зарегистрированных моделей РВД."""
|
|
129
|
+
model_label_enum_data = cls.get_model_label_enum_data()
|
|
130
|
+
all_models = [model_enum_value.model for model_enum_value in model_label_enum_data.values()]
|
|
106
131
|
|
|
107
|
-
|
|
132
|
+
models_relations = {}
|
|
133
|
+
for model in all_models:
|
|
134
|
+
model_key = model_label_enum_data[model._meta.label].key
|
|
135
|
+
model_relations = cls._get_model_relations(model=model)
|
|
108
136
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
внешними ключами (ForeignKey) и фиктивными внешними ключами (FictiveForeignKey). Сначала идут модели не имеющие
|
|
112
|
-
зависимостей, затем модели, которые зависят от других моделей. Сортировка моделей РВД происходит по алгоритму
|
|
113
|
-
топологической сортировки.
|
|
114
|
-
"""
|
|
115
|
-
if order_number is not None:
|
|
116
|
-
return super()._calculate_order_number(order_number=order_number)
|
|
137
|
+
if model_relations:
|
|
138
|
+
models_relations[model_key] = model_relations
|
|
117
139
|
|
|
118
|
-
|
|
119
|
-
|
|
140
|
+
return models_relations
|
|
141
|
+
|
|
142
|
+
@classmethod
|
|
143
|
+
def _sort_models_dependencies(cls, models_dependencies: list[tuple[str, str]]) -> list[str]:
|
|
144
|
+
"""Сортировка моделей РВД по зависимости друг от друга."""
|
|
145
|
+
sorted_dependencies_models = topological_sort(models_dependencies)
|
|
146
|
+
|
|
147
|
+
ordered_models = [*sorted_dependencies_models.cyclic, *reversed(sorted_dependencies_models.sorted)]
|
|
148
|
+
|
|
149
|
+
return ordered_models
|
|
150
|
+
|
|
151
|
+
@classmethod
|
|
152
|
+
def _get_ordered_models(cls) -> list[str]:
|
|
153
|
+
"""Получение списка моделей РВД в порядке их зависимости.
|
|
154
|
+
|
|
155
|
+
Есть возможность указать дополнительные модели, для которых совместно с зарегистрированными моделями РВД будет
|
|
156
|
+
рассчитываться порядок.
|
|
157
|
+
|
|
158
|
+
Returns:
|
|
159
|
+
list[str]: список моделей РВД в порядке их зависимости
|
|
160
|
+
"""
|
|
161
|
+
enum_keys = cls.get_model_enum_keys()
|
|
162
|
+
models_relations = cls._get_models_relations()
|
|
120
163
|
|
|
121
164
|
models_dependencies = []
|
|
122
|
-
for
|
|
123
|
-
|
|
165
|
+
for model_key, model_relations in models_relations.items():
|
|
166
|
+
for _, related_model_key in model_relations.items():
|
|
167
|
+
models_dependencies.append((model_key, related_model_key))
|
|
124
168
|
|
|
125
|
-
|
|
126
|
-
models_dependencies.append((model._meta.label, model_dependency))
|
|
169
|
+
ordered_models = cls._sort_models_dependencies(models_dependencies=models_dependencies)
|
|
127
170
|
|
|
128
|
-
|
|
171
|
+
without_dependencies = set(enum_keys).difference(set(ordered_models))
|
|
129
172
|
|
|
130
|
-
ordered_models = [*
|
|
173
|
+
ordered_models = [*without_dependencies, *ordered_models]
|
|
131
174
|
|
|
132
|
-
|
|
175
|
+
return ordered_models
|
|
176
|
+
|
|
177
|
+
@classmethod
|
|
178
|
+
def _recalculate_order_numbers(cls, *args, **kwargs):
|
|
179
|
+
"""Перерасчет порядковых номеров элементов модели-перечисления.
|
|
180
|
+
|
|
181
|
+
При добавлении новой модели РВД в модель-перечисление производится перерасчет порядковых номеров уже
|
|
182
|
+
добавленных элементов. Порядок моделей РВД выстраивается по зависимости друг от друга. Зависимость определяется
|
|
183
|
+
внешними ключами (ForeignKey) и фиктивными внешними ключами (FictiveForeignKey). Сначала идут модели не имеющие
|
|
184
|
+
зависимостей, затем модели, которые зависят от других моделей. Сортировка моделей РВД происходит по алгоритму
|
|
185
|
+
топологической сортировки.
|
|
186
|
+
"""
|
|
187
|
+
ordered_model_keys = cls._get_ordered_models()
|
|
188
|
+
|
|
189
|
+
for model_enum_value in cls._get_enum_data().values():
|
|
133
190
|
if model_enum_value.is_manual_order_number:
|
|
134
191
|
try:
|
|
135
|
-
|
|
192
|
+
manual_index_model_key = ordered_model_keys[model_enum_value.order_number - 1]
|
|
136
193
|
except IndexError:
|
|
137
194
|
continue
|
|
138
195
|
|
|
139
|
-
if
|
|
196
|
+
if manual_index_model_key != model_enum_value.key and cls.is_strict_order_number:
|
|
140
197
|
raise ValueError(
|
|
141
198
|
f'Order number "{model_enum_value.order_number}" is already in use in the "{cls.__name__}". '
|
|
142
199
|
f'Please choose a different one.'
|
|
143
200
|
)
|
|
144
201
|
else:
|
|
145
|
-
model_enum_value.order_number =
|
|
202
|
+
model_enum_value.order_number = ordered_model_keys.index(model_enum_value.key) + 1
|
|
203
|
+
|
|
204
|
+
@classmethod
|
|
205
|
+
def _calculate_tmp_order_number(cls) -> int:
|
|
206
|
+
"""Вычисление временного порядкового номера элемента модели-перечисления."""
|
|
207
|
+
order_number_enum_data = cls._get_order_number_enum_data()
|
|
208
|
+
|
|
209
|
+
order_numbers = order_number_enum_data.keys()
|
|
210
|
+
tmp_order_number = max(order_numbers) + 1 if order_number_enum_data else 1
|
|
146
211
|
|
|
147
|
-
return
|
|
212
|
+
return tmp_order_number
|
|
213
|
+
|
|
214
|
+
@classmethod
|
|
215
|
+
def _validate_manual_order_number(cls, order_number: int, model: Type['BaseRDMModel']):
|
|
216
|
+
"""Валидация пользовательского порядкового номера."""
|
|
217
|
+
ordered_models = cls._get_ordered_models()
|
|
218
|
+
|
|
219
|
+
try:
|
|
220
|
+
manual_index_model = ordered_models[order_number - 1]
|
|
221
|
+
except IndexError:
|
|
222
|
+
return
|
|
223
|
+
|
|
224
|
+
if manual_index_model != model._meta.label and cls.is_strict_order_number:
|
|
225
|
+
raise ValueError(
|
|
226
|
+
f'Order number "{order_number}" is already in use in the "{cls.__name__}". '
|
|
227
|
+
f'Please choose a different one.'
|
|
228
|
+
)
|
|
229
|
+
|
|
230
|
+
@classmethod
|
|
231
|
+
def _update_reverse_relations(cls):
|
|
232
|
+
"""Обновление обратных связей моделей РВД.
|
|
233
|
+
|
|
234
|
+
У значения модели-перечисления
|
|
235
|
+
"""
|
|
236
|
+
enum_data = cls._get_enum_data()
|
|
237
|
+
# Обнуление обратных связей всех моделей
|
|
238
|
+
for model_enum_value in enum_data.values():
|
|
239
|
+
model_enum_value.reverse_relations = defaultdict(list)
|
|
240
|
+
|
|
241
|
+
models_relations = cls._get_models_relations()
|
|
242
|
+
|
|
243
|
+
for model_key, model_relations in models_relations.items():
|
|
244
|
+
for field_name, related_model_key in model_relations.items():
|
|
245
|
+
enum_data[related_model_key].reverse_relations[model_key].append(field_name)
|
|
246
|
+
|
|
247
|
+
@classmethod
|
|
248
|
+
def get_model_label_enum_data(cls) -> dict[str, Type['ModelEnumValue']]:
|
|
249
|
+
"""Получение словаря значений модели-перечисления с лейблом модели в качестве значения."""
|
|
250
|
+
enum_data = cls._get_enum_data()
|
|
251
|
+
|
|
252
|
+
model_label_enum_data = {model_value.model._meta.label: model_value for model_value in enum_data.values()}
|
|
253
|
+
|
|
254
|
+
return model_label_enum_data
|
|
148
255
|
|
|
149
256
|
@classmethod
|
|
150
257
|
def extend(
|
|
151
258
|
cls,
|
|
152
259
|
key,
|
|
153
|
-
model: Type[BaseRDMModel] = None,
|
|
260
|
+
model: Type['BaseRDMModel'] = None,
|
|
154
261
|
title: str = '',
|
|
155
262
|
creating_trigger_models: tuple = (),
|
|
156
263
|
loggable_models: tuple = (),
|
|
@@ -173,18 +280,18 @@ class RDMModelEnum(TitledModelEnum):
|
|
|
173
280
|
args: порядковые аргументы для модели-перечисления
|
|
174
281
|
kwargs: именованные аргументы для модели-перечисления
|
|
175
282
|
"""
|
|
283
|
+
if key.upper() in cls.get_model_enum_keys():
|
|
284
|
+
raise ValueError('Model enum value with key "{key}" already exists.')
|
|
285
|
+
|
|
176
286
|
if model is None:
|
|
177
287
|
raise ValueError(f'Trying extend model "{cls.__name__}". Argument "model" is required.')
|
|
178
288
|
|
|
179
289
|
is_manual_order_number = order_number is not None
|
|
180
290
|
|
|
181
|
-
|
|
182
|
-
order_number = cls.
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
)
|
|
186
|
-
except ValueError as e:
|
|
187
|
-
raise ValueError(f'Trying register model "{model.__name__}". {e.args[0]}')
|
|
291
|
+
if order_number is None:
|
|
292
|
+
order_number = cls._calculate_tmp_order_number()
|
|
293
|
+
else:
|
|
294
|
+
cls._validate_manual_order_number(order_number=order_number, model=model)
|
|
188
295
|
|
|
189
296
|
model_enum_value = ModelEnumValue(
|
|
190
297
|
key=key,
|
|
@@ -194,7 +301,10 @@ class RDMModelEnum(TitledModelEnum):
|
|
|
194
301
|
loggable_models=loggable_models,
|
|
195
302
|
order_number=order_number,
|
|
196
303
|
is_manual_order_number=is_manual_order_number,
|
|
304
|
+
reverse_relations=defaultdict(list),
|
|
197
305
|
**kwargs,
|
|
198
306
|
)
|
|
199
|
-
|
|
200
307
|
setattr(cls, key, model_enum_value)
|
|
308
|
+
|
|
309
|
+
cls._recalculate_order_numbers()
|
|
310
|
+
cls._update_reverse_relations()
|
|
@@ -168,6 +168,11 @@ class RDMExportingDataSubStageStatus(TitledModelEnum):
|
|
|
168
168
|
verbose_name = 'Модель-перечисление статусов подэтапа выгрузки данных'
|
|
169
169
|
verbose_name_plural = 'Модели-перечисления статусов подэтапов выгрузки данных'
|
|
170
170
|
|
|
171
|
+
@classmethod
|
|
172
|
+
def get_not_finished_statuses(cls):
|
|
173
|
+
"""Получить список статусов, которые не завершены."""
|
|
174
|
+
return cls.CREATED, cls.IN_PROGRESS, cls.FAILED, cls.READY_FOR_EXPORT, cls.PROCESS_ERROR
|
|
175
|
+
|
|
171
176
|
|
|
172
177
|
class RDMExportingDataSubStage(ReprStrPreModelMixin, BaseObjectModel):
|
|
173
178
|
"""Подэтап выгрузки данных."""
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: edu-rdm-integration
|
|
3
|
-
Version: 3.18.
|
|
3
|
+
Version: 3.18.2
|
|
4
4
|
Summary: Интеграция с Региональной витриной данных
|
|
5
5
|
Author-email: BARS Group <education_dev@bars.group>
|
|
6
6
|
Project-URL: Homepage, https://stash.bars-open.ru/projects/EDUBASE/repos/edu-rdm-integration/browse
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/__init__.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/consts.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/enums.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/helpers.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/mapping.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/operations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/signals.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/storages.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/core/typing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/rdm_models/apps.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.18.0 → edu_rdm_integration-3.18.2}/src/edu_rdm_integration/stages/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|