diff --git a/ted_sws/notice_metadata_processor/services/metadata_normalizer.py b/ted_sws/notice_metadata_processor/services/metadata_normalizer.py index ac23f353f..ae126849e 100644 --- a/ted_sws/notice_metadata_processor/services/metadata_normalizer.py +++ b/ted_sws/notice_metadata_processor/services/metadata_normalizer.py @@ -7,6 +7,7 @@ from ted_sws.core.model.metadata import NormalisedMetadata, LanguageTaggedString from ted_sws.core.model.notice import Notice +from ted_sws.event_manager.services.log import log_error from ted_sws.notice_metadata_processor.services.metadata_constraints import filter_df_by_variables from ted_sws.data_manager.adapters.notice_repository import NoticeRepositoryABC from ted_sws.notice_metadata_processor.model.metadata import ExtractedMetadata @@ -215,6 +216,12 @@ def get_form_type_and_notice_type(cls, filter_map: pd.DataFrame, ef_map: pd.Data sf_notice_type=filter_variables[SF_NOTICE_TYPE_KEY], legal_basis=filter_variables[LEGAL_BASIS_KEY], document_code=filter_variables[DOCUMENT_CODE_KEY]) + if filtered_df.empty: + log_error( + message=f"This notice can't be mapped with the current mapping files (standard forms mapping and eforms mapping)." + f"Searched values: form number={form_number}, extracted_notice_type {extracted_notice_type}," + f" legal_basis {legal_basis}, document_code {document_type_code}. " + f"Therefore form_type, notice_type, legal_basis and eforms_subtype fields can't be normalised") form_type = filtered_df[FORM_TYPE_KEY].values[0] notice_type = filtered_df[E_FORM_NOTICE_TYPE_COLUMN].values[0] legal_basis = filtered_df[E_FORM_LEGAL_BASIS_COLUMN].values[0]