lib/bolognese/utils.rb in bolognese-1.1.17 vs lib/bolognese/utils.rb in bolognese-1.2
- old
+ new
@@ -352,11 +352,11 @@
def find_from_format_by_ext(string, options={})
if options[:ext] == ".bib"
"bibtex"
elsif options[:ext] == ".ris"
"ris"
- elsif options[:ext] == ".xml" && Maremma.from_xml(string).to_h.dig("doi_records", "doi_record", "crossref")
+ elsif options[:ext] == ".xml" && Maremma.from_xml(string).to_h.dig("crossref_result", "query_result", "body", "query", "doi_record", "crossref")
"crossref"
elsif options[:ext] == ".xml" && Nokogiri::XML(string, nil, 'UTF-8', &:noblanks).collect_namespaces.find { |k, v| v.start_with?("http://datacite.org/schema/kernel") }
"datacite"
elsif options[:ext] == ".json" && Maremma.from_json(string).to_h.dig("@context").to_s.start_with?("http://schema.org", "https://schema.org")
"schema_org"
@@ -370,10 +370,10 @@
"citeproc"
end
end
def find_from_format_by_string(string)
- if Maremma.from_xml(string).to_h.dig("doi_records", "doi_record", "crossref").present?
+ if Maremma.from_xml(string).to_h.dig("crossref_result", "query_result", "body", "query", "doi_record", "crossref").present?
"crossref"
elsif Nokogiri::XML(string, nil, 'UTF-8', &:noblanks).collect_namespaces.find { |k, v| v.start_with?("http://datacite.org/schema/kernel") }
"datacite"
elsif Maremma.from_json(string).to_h.dig("@context").to_s.start_with?("http://schema.org", "https://schema.org")
"schema_org"