diff --git a/2-metadata-processor.py b/2-metadata-processor.py index 4c2fbec76e1f20106c20e5ce499c8b07dae83085..1b1d00d339e5ab5003469cd28f07f89fe5154f2e 100644 --- a/2-metadata-processor.py +++ b/2-metadata-processor.py @@ -170,17 +170,12 @@ def process_records( in_records, geonetwork_root_url, working_directory, credent del out_record['metadata-fr']['legalConstraints'] out_record['metadata-fr']['legalConstraints'] = [in_record['legalConstraints']] + # adding a 'license' field + out_record['metadata-fr']['license'] = 'unknown' if 'legalConstraints' in out_record['metadata-fr'].keys(): - tmp = out_record['metadata-fr']['legalConstraints'] - - if len(tmp) == 2: - out_record['metadata-fr']['legalConstraints'] = tmp[0] - out_record['metadata-fr']['license'] = tmp[1] - elif len(tmp) == 1: - out_record['metadata-fr']['license'] = tmp[0] - else: - logging.err("This case is new!") - exit(1) + for el in out_record['metadata-fr']['legalConstraints']: + if "licence" in el.lower(): + out_record['metadata-fr']['license'] = el if 'resourceConstraints' in out_record['metadata-fr'].keys() and type(out_record['metadata-fr']['resourceConstraints']) is str: del out_record['metadata-fr']['resourceConstraints'] @@ -234,9 +229,9 @@ def process_records( in_records, geonetwork_root_url, working_directory, credent if 'idxMsg' in in_record.keys(): del out_record['metadata-fr']['idxMsg'] - # let's delete duplicates in the 'updateFrequency' attribute + # let's take just one value among those that are in the updateFrequency (hoping that it is representative...) if 'updateFrequency' in in_record.keys() and type(in_record['updateFrequency']) is list: - out_record['metadata-fr']['updateFrequency'] = list(set(in_record['updateFrequency'])) + out_record['metadata-fr']['updateFrequency'] = in_record['updateFrequency'][0] # let's generate the href of this document local_params = OrderedDict()