Skip to content
Snippets Groups Projects
Commit b82dadea authored by Alessandro Cerioni's avatar Alessandro Cerioni
Browse files

Improvement.

Preventing the metadata-processor from crashing in case some GeoNetwork record is lacking any of the attributes that are supposed to be transformed.
(For instance, once a record with no responsibleParty was found!)
parent 7ce03085
No related branches found
No related tags found
No related merge requests found
...@@ -134,12 +134,14 @@ def process_records( in_records, geonetwork_root_url, working_directory ): ...@@ -134,12 +134,14 @@ def process_records( in_records, geonetwork_root_url, working_directory ):
# all the content of the original record in "mounted" at "metadata-fr" # all the content of the original record in "mounted" at "metadata-fr"
out_record['metadata-fr'] = in_record.copy() out_record['metadata-fr'] = in_record.copy()
del out_record['metadata-fr']['_locale'] if '_locale' in out_record['metadata-fr'].keys():
out_record['metadata-fr']['locale'] = in_record['_locale'] del out_record['metadata-fr']['_locale']
out_record['metadata-fr']['locale'] = in_record['_locale']
# we transform some lists into list of dictionaries... # we transform some lists into list of dictionaries...
del out_record['metadata-fr']['responsibleParty'] if 'responsibleParty' in out_record['metadata-fr'].keys():
out_record['metadata-fr']['responsibleParty'] = list_to_dictlist(in_record['responsibleParty'], 'responsibleParty') del out_record['metadata-fr']['responsibleParty']
out_record['metadata-fr']['responsibleParty'] = list_to_dictlist(in_record['responsibleParty'], 'responsibleParty')
if 'link' in out_record['metadata-fr'].keys(): if 'link' in out_record['metadata-fr'].keys():
#logging.debug(in_record['link']) #logging.debug(in_record['link'])
...@@ -148,8 +150,9 @@ def process_records( in_records, geonetwork_root_url, working_directory ): ...@@ -148,8 +150,9 @@ def process_records( in_records, geonetwork_root_url, working_directory ):
tmp = list_to_dictlist(in_record['link'], 'link')#links tmp = list_to_dictlist(in_record['link'], 'link')#links
out_record['metadata-fr']['link'] = enrich_links( fix_links(tmp), working_directory ) out_record['metadata-fr']['link'] = enrich_links( fix_links(tmp), working_directory )
del out_record['metadata-fr']['userinfo'] if 'userinfo' in out_record['metadata-fr'].keys():
out_record['metadata-fr']['userinfo'] = list_to_dictlist(in_record['userinfo'])#links del out_record['metadata-fr']['userinfo']
out_record['metadata-fr']['userinfo'] = list_to_dictlist(in_record['userinfo'])#links
if 'category' in out_record['metadata-fr'].keys() and type(out_record['metadata-fr']['category']) is str: if 'category' in out_record['metadata-fr'].keys() and type(out_record['metadata-fr']['category']) is str:
del out_record['metadata-fr']['category'] del out_record['metadata-fr']['category']
...@@ -205,13 +208,13 @@ def process_records( in_records, geonetwork_root_url, working_directory ): ...@@ -205,13 +208,13 @@ def process_records( in_records, geonetwork_root_url, working_directory ):
# let's delete some attributes which are very specific to GeoNetwork # let's delete some attributes which are very specific to GeoNetwork
del out_record['metadata-fr']['userinfo'] attribs_to_delete = ['userinfo', 'isHarvested', 'isTemplate', 'owner', 'displayOrder', 'publishedForGroup', 'valid']
del out_record['metadata-fr']['isHarvested']
del out_record['metadata-fr']['isTemplate'] for attrib in attribs_to_delete:
del out_record['metadata-fr']['owner'] try:
del out_record['metadata-fr']['displayOrder'] del out_record['metadata-fr'][attrib]
del out_record['metadata-fr']['publishedForGroup'] except:
del out_record['metadata-fr']['valid'] pass
if 'idxMsg' in in_record.keys(): if 'idxMsg' in in_record.keys():
del out_record['metadata-fr']['idxMsg'] del out_record['metadata-fr']['idxMsg']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment