24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/uc3-dmp-citation.rb', line 24
def fetch_citation(doi:, logger: nil)
uri = _doi_to_uri(doi: doi)
return nil if uri.nil? || uri.blank?
logger.debug(message: "Fetching BibTeX from: #{uri}") if logger.respond_to?(:debug)
resp = Uc3DmpExternalApi::Client.call(url: uri, method: :get, additional_headers: , logger: logger)
return nil if resp.nil? || resp.to_s.strip.empty?
bibtex = BibTeX.parse(_cleanse_bibtex(text: resp))
work_type = identifier['work_type'].nil? ? determine_work_type(bibtex: bibtex) : identifier['work_type']
_bibtex_to_citation(uri: uri, work_type: work_type, bibtex: bibtex)
end
|