Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use email instead of mbox
Browse files Browse the repository at this point in the history
Hans-Chrstian committed Oct 3, 2024
1 parent 8d87fc3 commit 48fdf88
Showing 3 changed files with 19 additions and 22 deletions.
14 changes: 7 additions & 7 deletions ckanext/dcat/converters.py
Original file line number Diff line number Diff line change
@@ -30,7 +30,7 @@ def dcat_to_ckan(dcat_dict):
package_dict['extras'].append({'key': 'dcat_publisher_name', 'value': dcat_publisher.get('name')})

if dcat_publisher.get('mbox'):
package_dict['extras'].append({'key': 'dcat_publisher_email', 'value': dcat_publisher.get('mbox')})
package_dict['extras'].append({'key': 'dcat_publisher_email', 'value': dcat_publisher.get('email')})

if dcat_publisher.get('identifier'):
package_dict['extras'].append({
@@ -45,8 +45,8 @@ def dcat_to_ckan(dcat_dict):
if dcat_creator.get('name'):
package_dict['extras'].append({'key': 'dcat_creator_name', 'value': dcat_creator.get('name')})

if dcat_creator.get('mbox'):
package_dict['extras'].append({'key': 'dcat_creator_email', 'value': dcat_creator.get('mbox')})
if dcat_creator.get('email'):
package_dict['extras'].append({'key': 'dcat_creator_email', 'value': dcat_creator.get('email')})

if dcat_creator.get('identifier'):
package_dict['extras'].append({
@@ -106,7 +106,7 @@ def ckan_to_dcat(package_dict):
dcat_dict['publisher']['name'] = extra['value']

elif extra['key'] == 'dcat_publisher_email':
dcat_dict['publisher']['mbox'] = extra['value']
dcat_dict['publisher']['email'] = extra['value']

elif extra['key'] == 'dcat_publisher_id':
dcat_dict['publisher']['identifier'] = extra['value']
@@ -116,7 +116,7 @@ def ckan_to_dcat(package_dict):
dcat_dict['creator']['name'] = extra['value']

elif extra['key'] == 'dcat_creator_email':
dcat_dict['creator']['mbox'] = extra['value']
dcat_dict['creator']['email'] = extra['value']

elif extra['key'] == 'dcat_creator_id':
dcat_dict['creator']['identifier'] = extra['value']
@@ -129,13 +129,13 @@ def ckan_to_dcat(package_dict):
if not dcat_dict['publisher'].get('name') and package_dict.get('maintainer'):
dcat_dict['publisher']['name'] = package_dict.get('maintainer')
if package_dict.get('maintainer_email'):
dcat_dict['publisher']['mbox'] = package_dict.get('maintainer_email')
dcat_dict['publisher']['email'] = package_dict.get('maintainer_email')

# Fallback for creator (if no name in extras, optionally use author)
if not dcat_dict['creator'].get('name') and package_dict.get('author'):
dcat_dict['creator']['name'] = package_dict.get('author')
if package_dict.get('author_email'):
dcat_dict['creator']['mbox'] = package_dict.get('author_email')
dcat_dict['creator']['email'] = package_dict.get('author_email')

dcat_dict['distribution'] = []
for resource in package_dict.get('resources', []):
11 changes: 4 additions & 7 deletions ckanext/dcat/profiles/euro_dcat_ap_base.py
Original file line number Diff line number Diff line change
@@ -198,9 +198,6 @@ def _parse_dataset_base(self, dataset_dict, dataset_ref):
("language", DCT.language),
("documentation", FOAF.page),
("conforms_to", DCT.conformsTo),
("language", DCT.language),
("documentation", FOAF.page),
("conforms_to", DCT.conformsTo),
):
values = self._object_value_list(distribution, predicate)
if values:
@@ -255,10 +252,10 @@ def _parse_dataset_base(self, dataset_dict, dataset_ref):
# versions of the ckanext-dcat parsers
for extra in dataset_dict["extras"]:
if extra["key"] in (
"issued",
"modified",
"publisher_name",
"publisher_email",
"issued",
"modified",
"publisher_name",
"publisher_email",
):
extra["key"] = "dcat_" + extra["key"]

16 changes: 8 additions & 8 deletions ckanext/dcat/profiles/schemaorg.py
Original file line number Diff line number Diff line change
@@ -167,11 +167,11 @@ def _agent_graph(self, dataset_ref, dataset_dict, agent_type, schema_property_pr
identifier_key = f"{schema_property_prefix}_identifier"

if any(
[
self._get_dataset_value(dataset_dict, uri_key),
self._get_dataset_value(dataset_dict, name_key),
dataset_dict.get("organization"),
]
[
self._get_dataset_value(dataset_dict, uri_key),
self._get_dataset_value(dataset_dict, name_key),
dataset_dict.get("organization"),
]
):
agent_uri = self._get_dataset_value(dataset_dict, uri_key)
agent_uri_fallback = publisher_uri_organization_fallback(dataset_dict)
@@ -188,9 +188,9 @@ def _agent_graph(self, dataset_ref, dataset_dict, agent_type, schema_property_pr
self.g.add((dataset_ref, agent_type, agent_details))

if (
not agent_name
and not agent_uri
and dataset_dict.get("organization")
not agent_name
and not agent_uri
and dataset_dict.get("organization")
):
agent_name = dataset_dict["organization"]["title"]
self.g.add((agent_details, SCHEMA.name, Literal(agent_name)))

0 comments on commit 48fdf88

Please sign in to comment.