Skip to content

Commit

Permalink
openaire: url encode funding fields.
Browse files Browse the repository at this point in the history
  • Loading branch information
alejandromumo committed Feb 9, 2024
1 parent 74e0f36 commit 158494c
Showing 1 changed file with 8 additions and 11 deletions.
19 changes: 8 additions & 11 deletions site/zenodo_rdm/openaire/serializers/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from invenio_communities.proxies import current_communities
from marshmallow import Schema, fields, missing, pre_dump
from zenodo_legacy.funders import FUNDER_ACRONYMS, FUNDER_ROR_TO_DOI

from urllib.parse import quote_plus
from zenodo_rdm.openaire.utils import (
get_resource_type_vocabulary,
openaire_datasource_id,
Expand Down Expand Up @@ -193,17 +193,14 @@ def _reverse_funder_acronym(funder_ror):
funder = grant.get("funder", {})
if funder and award:
funder_ror = funder.get("id")
funder_acronym = _reverse_funder_acronym(funder_ror)
award_program = award.get("program", "")
award_number = award.get("number", "")
award_title = award.get("title", {}).get("en")
award_acronym = award.get("acronym", "")
# url-encode the fields
funder_acronym = quote_plus(_reverse_funder_acronym(funder_ror))
award_program = quote_plus(award.get("program", ""))
award_number = quote_plus(award.get("number", ""))
award_title = quote_plus(award.get("title", {}).get("en", ""))
award_acronym = quote_plus(award.get("acronym", ""))
if funder_acronym and award_program and award_number:
b_link = f"info:eu-repo/grantAgreement/{funder_acronym}/{award_program}/{award_number}"
if award_title:
b_link += f"/{award_title}"
if award_acronym:
b_link += f"/{award_acronym}"
b_link = f"info:eu-repo/grantAgreement/{funder_acronym}/{award_program}/{award_number}{award_title}{award_acronym}"
links.append(b_link)
return links or missing

Expand Down

0 comments on commit 158494c

Please sign in to comment.