4242METADATA_PUBLICATION_DATE = "publication_date"
4343METADATA_DOCUMENT_SENT_DATE = "document_sent_date"
4444
45+ NOTICE_ORIGINAL_METADATA_PRIVATE_KEY = "_original_metadata"
46+ NOTICE_NORMALISED_METADATA_PRIVATE_KEY = "_normalised_metadata"
47+ NOTICE_XML_METADATA_PRIVATE_KEY = "_xml_metadata"
48+ NOTICE_XML_MANIFESTATION_PRIVATE_KEY = "_xml_manifestation"
49+ NOTICE_RDF_MANIFESTATION_PRIVATE_KEY = "_rdf_manifestation"
50+ NOTICE_DISTILLED_RDF_MANIFESTATION_PRIVATE_KEY = "_distilled_rdf_manifestation"
51+ NOTICE_METS_MANIFESTATION_PRIVATE_KEY = "_mets_manifestation"
52+
4553
4654class NoticeRepositoryInFileSystem (NoticeRepositoryABC ):
4755 """
@@ -164,21 +172,21 @@ def __init__(self, mongodb_client: MongoClient, database_name: str = None):
164172 self .xml_metadata_repository = XMLMetadataRepository (mongodb_client = mongodb_client ,
165173 database_name = database_name )
166174
167- def _mapping_lazy_fields (self , notice : Notice ):
175+ def _mapping_lazy_fields (self ):
168176 return {
169- Notice .original_metadata : (notice . _original_metadata ,
177+ Notice .original_metadata : (NOTICE_ORIGINAL_METADATA_PRIVATE_KEY ,
170178 self .ted_metadata_repository ),
171- Notice .normalised_metadata : (notice . _normalised_metadata ,
179+ Notice .normalised_metadata : (NOTICE_NORMALISED_METADATA_PRIVATE_KEY ,
172180 self .normalised_metadata_repository ),
173- Notice .xml_metadata : (notice . _xml_metadata ,
181+ Notice .xml_metadata : (NOTICE_XML_METADATA_PRIVATE_KEY ,
174182 self .xml_metadata_repository ),
175- Notice .xml_manifestation : (notice . _xml_manifestation ,
183+ Notice .xml_manifestation : (NOTICE_XML_MANIFESTATION_PRIVATE_KEY ,
176184 self .xml_manifestation_repository ),
177- Notice .rdf_manifestation : (notice . _rdf_manifestation ,
185+ Notice .rdf_manifestation : (NOTICE_RDF_MANIFESTATION_PRIVATE_KEY ,
178186 self .rdf_manifestation_repository ),
179- Notice .distilled_rdf_manifestation : (notice . _distilled_rdf_manifestation ,
187+ Notice .distilled_rdf_manifestation : (NOTICE_DISTILLED_RDF_MANIFESTATION_PRIVATE_KEY ,
180188 self .distilled_rdf_manifestation_repository ),
181- Notice .mets_manifestation : (notice . _mets_manifestation ,
189+ Notice .mets_manifestation : (NOTICE_METS_MANIFESTATION_PRIVATE_KEY ,
182190 self .mets_manifestation_repository )
183191 }
184192
@@ -189,15 +197,17 @@ def load_lazy_field(self, source_object: Notice, property_field: property) -> An
189197 :param property_field:
190198 :return:
191199 """
192- mapping_lazy_fields = self ._mapping_lazy_fields (notice = source_object )
200+ mapping_lazy_fields = self ._mapping_lazy_fields ()
193201 notice_field , field_repository = mapping_lazy_fields [property_field ]
194- notice_field = field_repository .get (source_object .ted_id )
202+ notice_field_data = field_repository .get (source_object .ted_id )
203+ setattr (source_object , notice_field , notice_field_data )
195204
196205 def _write_lazy_fields (self , notice : Notice ):
197- mapping_lazy_fields = self ._mapping_lazy_fields (notice = notice )
206+ mapping_lazy_fields = self ._mapping_lazy_fields ()
198207 for notice_field , repository in mapping_lazy_fields .values ():
199- if notice_field is not None :
200- repository .add (notice .ted_id , notice_field )
208+ notice_field_data = getattr (notice , notice_field )
209+ if notice_field_data is not None :
210+ repository .add (notice .ted_id , notice_field_data )
201211
202212 def _create_notice_from_repository_result (self , notice_dict : dict ) -> Union [Notice , None ]:
203213 """
@@ -207,7 +217,7 @@ def _create_notice_from_repository_result(self, notice_dict: dict) -> Union[Noti
207217 """
208218 if notice_dict :
209219 del notice_dict [MONGODB_COLLECTION_ID ]
210- notice_dict .pop (NOTICE_NORMALISED_METADATA ,None )
220+ notice_dict .pop (NOTICE_NORMALISED_METADATA , None )
211221 remove_date_string_fields (data = notice_dict , date_field_name = NOTICE_CREATED_AT )
212222 notice_dict [NOTICE_CREATED_AT ] = notice_dict [NOTICE_CREATED_AT ].isoformat ()
213223 notice = Notice (** notice_dict )
0 commit comments