From bb9dfa6c23283d2f31842c5c8273272fad3ae1ae Mon Sep 17 00:00:00 2001 From: Alessandro Cerioni <acerioni@grandlyon.com> Date: Wed, 10 Apr 2019 15:48:46 +0200 Subject: [PATCH] Splitting organisation and individual name for Dublin Core metadata --- 2-metadata-processor.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/2-metadata-processor.py b/2-metadata-processor.py index 1b1d00d..49a9ad0 100644 --- a/2-metadata-processor.py +++ b/2-metadata-processor.py @@ -89,13 +89,20 @@ def list_to_dictlist( the_input, the_context=None ): if the_context == 'responsibleParty': try: + # the following applies to legacy metadata parent_organisation, child_organisation = out_item['organisationName'].split('/') parent_organisation = parent_organisation.strip() child_organisation = child_organisation.strip() except: - parent_organisation, child_organisation = out_item['organisationName'], None - parent_organisation = parent_organisation.strip() - child_organisation = None + try: + # the following applies to Dublin Core metadata + my_re = re.compile(r"(?P<organisationName>[^\(\)]+)(\((?P<individualName>.*)\))") + parent_organisation = my_re.match(out_item['organisationName']).groupdict()['organisationName'].strip() + child_organisation = my_re.match(out_item['organisationName']).groupdict()['individualName'].strip() + except: + parent_organisation, child_organisation = out_item['organisationName'], None + parent_organisation = parent_organisation.strip() + child_organisation = None out_item['organisationName'] = parent_organisation -- GitLab