Bushel_sync.ZoteroDOI resolution via Zotero Translation Server
Zotero Translation Server client for DOI resolution
val src : Logs.srcZotero returns complex JSON with varying structure. We use pattern matching on the generic json type.
val find_in_json : Jsont.json -> string list -> Jsont.json optionExtract string from generic JSON, returning None if missing or wrong type
val get_string : Jsont.json -> string list -> string optionval get_string_exn : Jsont.json -> string list -> default:string -> stringval get_int : Jsont.json -> string list -> default:int -> intval get_creators : Jsont.json -> creator listval resolve_doi :
http:Requests.t ->
server_url:string ->
string ->
(Jsont.json, string) resultval resolve_url :
http:Requests.t ->
server_url:string ->
string ->
(Jsont.json, string) resultval export_bibtex :
http:Requests.t ->
server_url:string ->
Jsont.json ->
(string, string) resultval extract_metadata :
http:Requests.t ->
server_url:string ->
slug:string ->
doi:string option ->
Jsont.json ->
(paper_metadata, string) resultExtract paper metadata from Zotero JSON + BibTeX response.
val resolve :
http:Requests.t ->
server_url:string ->
slug:string ->
string ->
(paper_metadata, string) resultval resolve_from_url :
http:Requests.t ->
server_url:string ->
slug:string ->
string ->
(paper_metadata, string) resultResolve metadata from an arbitrary URL (e.g. a journal article page). The DOI is extracted from the Zotero response if available.
val to_yaml_frontmatter : slug:'a -> ver:'b -> paper_metadata -> stringval merge_with_existing :
existing:Bushel.Paper.t ->
paper_metadata ->
paper_metadata