|
| 1 | +from airflow.decorators import dag |
| 2 | +from airflow.operators.python import get_current_context, BranchPythonOperator, PythonOperator |
1 | 3 | from airflow.utils.trigger_rule import TriggerRule |
2 | 4 | from pymongo import MongoClient |
3 | 5 |
|
| 6 | +from dags import DEFAULT_DAG_ARGUMENTS |
4 | 7 | from dags.dags_utils import pull_dag_upstream, push_dag_downstream |
5 | 8 | from ted_sws import config |
6 | 9 | from ted_sws.core.model.manifestation import METSManifestation |
7 | 10 | from ted_sws.core.model.notice import NoticeStatus |
8 | 11 | from ted_sws.data_manager.adapters.mapping_suite_repository import MappingSuiteRepositoryMongoDB |
9 | 12 | from ted_sws.data_manager.adapters.notice_repository import NoticeRepository |
10 | 13 | from ted_sws.data_sampler.services.notice_xml_indexer import index_notice_by_id |
| 14 | +from ted_sws.event_manager.adapters.event_log_decorator import event_log |
| 15 | +from ted_sws.event_manager.adapters.event_logger import EventLogger |
| 16 | +from ted_sws.event_manager.model.event_message import NoticeEventMessage, EventMessageProcessType, EventMessageMetadata, \ |
| 17 | + TechnicalEventMessage |
| 18 | +from ted_sws.event_manager.services.logger_from_context import get_logger_from_dag_context, \ |
| 19 | + handle_event_message_metadata_dag_context, get_task_id_from_dag_context |
11 | 20 | from ted_sws.notice_metadata_processor.services.metadata_normalizer import normalise_notice_by_id |
12 | | - |
13 | | -from airflow.decorators import dag |
14 | | -from airflow.operators.python import get_current_context, BranchPythonOperator, PythonOperator |
15 | | - |
16 | | -from dags import DEFAULT_DAG_ARGUMENTS |
17 | 21 | from ted_sws.notice_metadata_processor.services.notice_eligibility import notice_eligibility_checker_by_id |
18 | 22 | from ted_sws.notice_packager.services.notice_packager import create_notice_package |
| 23 | +from ted_sws.notice_publisher.services.notice_publisher import publish_notice_by_id |
19 | 24 | from ted_sws.notice_transformer.adapters.rml_mapper import RMLMapper |
20 | 25 | from ted_sws.notice_transformer.services.notice_transformer import transform_notice_by_id |
21 | 26 | from ted_sws.notice_validator.services.shacl_test_suite_runner import validate_notice_by_id_with_shacl_suite |
22 | 27 | from ted_sws.notice_validator.services.sparql_test_suite_runner import validate_notice_by_id_with_sparql_suite |
23 | | -from ted_sws.event_manager.adapters.event_logger import EventLogger |
24 | | -from ted_sws.event_manager.adapters.event_log_decorator import event_log |
25 | | -from ted_sws.event_manager.model.event_message import NoticeEventMessage, EventMessageProcessType, EventMessageMetadata, \ |
26 | | - TechnicalEventMessage |
27 | | -from ted_sws.event_manager.services.logger_from_context import get_logger_from_dag_context, \ |
28 | | - handle_event_message_metadata_dag_context, get_task_id_from_dag_context |
29 | 28 | from ted_sws.notice_validator.services.xpath_coverage_runner import validate_xpath_coverage_notice_by_id |
30 | 29 |
|
31 | 30 | NOTICE_ID = "notice_id" |
@@ -285,10 +284,18 @@ def _generate_mets_package(**context_args): |
285 | 284 |
|
286 | 285 | def _check_package_integrity_by_package_structure(): |
287 | 286 | notice_id = pull_dag_upstream(NOTICE_ID) |
| 287 | + mongodb_client = MongoClient(config.MONGO_DB_AUTH_URL) |
| 288 | + notice_repository = NoticeRepository(mongodb_client=mongodb_client) |
| 289 | + notice = notice_repository.get(reference=notice_id) |
| 290 | + notice.update_status_to(NoticeStatus.ELIGIBLE_FOR_PUBLISHING) |
| 291 | + notice_repository.update(notice=notice) |
288 | 292 | push_dag_downstream(NOTICE_ID, notice_id) |
289 | 293 |
|
290 | 294 | def _publish_notice_in_cellar(): |
291 | 295 | notice_id = pull_dag_upstream(NOTICE_ID) |
| 296 | + mongodb_client = MongoClient(config.MONGO_DB_AUTH_URL) |
| 297 | + notice_repository = NoticeRepository(mongodb_client=mongodb_client) |
| 298 | + publish_notice_by_id(notice_id=notice_id, notice_repository=notice_repository) |
292 | 299 | push_dag_downstream(NOTICE_ID, notice_id) |
293 | 300 |
|
294 | 301 | def _check_notice_public_availability_in_cellar(): |
|
0 commit comments