From 83e3af8a3b20cf1fd53b5b5c7ecc37600dcbb013 Mon Sep 17 00:00:00 2001 From: Paul van Genuchten Date: Mon, 10 Feb 2025 13:33:37 +0100 Subject: [PATCH] dq is not in info fixes #923 --- pycsw/core/metadata.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/pycsw/core/metadata.py b/pycsw/core/metadata.py index 1c15ccacc..08924bee5 100644 --- a/pycsw/core/metadata.py +++ b/pycsw/core/metadata.py @@ -1521,15 +1521,22 @@ def _parse_iso(context, repos, exml): _set(context, recobj, 'pycsw:ServiceType', ','.join(service_types)) - if hasattr(md_identification, 'dataquality'): - _set(context, recobj, 'pycsw:Degree', md.dataquality.conformancedegree) - _set(context, recobj, 'pycsw:Lineage', md.dataquality.lineage) - _set(context, recobj, 'pycsw:SpecificationTitle', md.dataquality.specificationtitle) - if hasattr(md.dataquality, 'specificationdate'): - _set(context, recobj, 'pycsw:specificationDate', - md.dataquality.specificationdate[0].date) - _set(context, recobj, 'pycsw:SpecificationDateType', - md.dataquality.specificationdate[0].datetype) + if hasattr(md, 'dataquality'): + try: + _set(context, recobj, 'pycsw:Degree', ','.join(md.dataquality.conformancedegree)) + except: + None + try: + _set(context, recobj, 'pycsw:Lineage', md.dataquality.lineage) + except: + None + try: + _set(context, recobj, 'pycsw:SpecificationTitle', md.dataquality.specificationtitle) + _set(context, recobj, 'pycsw:specificationDate', md.dataquality.specificationDate[0]) + # owslib does not provide datetype + # _set(context, recobj, 'pycsw:SpecificationDateType', md.dataquality.specificationDate[0].datetype) + except: + None if hasattr(md, 'contact') and len(md.contact) > 0: _set(context, recobj, 'pycsw:ResponsiblePartyRole', md.contact[0].role)