lib/bolognese/readers/datacite_reader.rb in bolognese-0.13.4 vs lib/bolognese/readers/datacite_reader.rb in bolognese-0.13.6

- old
+ new

@@ -6,13 +6,12 @@ def get_datacite(id: nil, **options) return { "string" => nil, "state" => "not_found" } unless id.present? search_url = doi_search(id, options) doi = doi_from_url(id) - params = { q: doi, + params = { q: "doi:#{doi}", fl: "doi,url,xml,state,allocator_symbol,datacentre_symbol,media,minted,updated", - defType: "edismax", wt: "json" } search_url += "?" + URI.encode_www_form(params) response = Maremma.get search_url attributes = response.body.dig("data", "response", "docs").first @@ -161,10 +160,10 @@ dd = dates.find { |d| d["dateType"] == date_type } || {} dd.fetch("__content__", nil) end def datacite_funding_reference(meta) - Array.wrap(meta.dig("fundingReferences", "fundingReference")).map do |f| + Array.wrap(meta.dig("fundingReferences", "fundingReference")).compact.map do |f| funder_id = parse_attributes(f["funderIdentifier"]) funder = { "type" => "Organization", "id" => normalize_id(funder_id), "name" => f["funderName"] }.compact if f["awardNumber"].present? || f["awardTitle"].present?