;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (require 'biblio-core) #@46 Format a Dissemin AUTHOR entry. (fn AUTHOR) (defalias 'biblio-dissemin--format-author #[257 "\211\300\301\236A\236A\302\301\236A\236A\303\304#\207" [first name last format "%s %s"] 8 (#$ . 110)]) #@71 Insert a button pointing to URL, prefixed by PREFIX. (fn URL PREFIX) (defalias 'biblio-dissemin--insert-button #[514 "\300!?\205\301\261\210\302!c\207" [seq-empty-p "\n" biblio-make-url-button] 4 (#$ . 317)]) #@70 Insert a Dissemin RECORD entry into the current buffer. (fn RECORD) (defalias 'biblio-dissemin--insert-record #[257 "\211\300\236A\301\236A\302\236A\303\236A\304c\210`\305\306\"\210\307`\310\311$\266\312\313\"\210\230\2043\312\313\"\210\314!?\205A\315c\210\305\313\"\207" [identifier pdf_url splash_url abstract "\n\n" biblio-insert-with-prefix ">> " font-lock-append-text-property face font-lock-preprocessor-face biblio-dissemin--insert-button " " seq-empty-p "\n"] 12 (#$ . 539)]) #@71 Translate Dissemin's CLASSIFICATION for display. (fn CLASSIFICATION) (defalias 'biblio-dissemin--translate-classification #[257 "\211\300\267\207\301\207\302\207\303\207\304\207\207" [#s(hash-table size 4 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("OA" 4 "OK" 6 "UNK" 8 "CLOSED" 10)) "Available from the publisher" "Some versions may be shared by the author" "Sharing policy is unclear" "Subject to a restrictive sharing policy"] 3 (#$ . 1048)]) #@60 Insert a link to Dissemin's upload page for DOI. (fn DOI) (defalias 'biblio-dissemin--suggest-upload #[257 "\300c\210`\301\302\303\"\304\"c\210\305`\306\307$\266\310c\207" ["\n\nDid you write this paper? " biblio-make-url-button format "https://dissem.in/%s" "upload it" font-lock-append-text-property face (:weight bold) "!\n"] 7 (#$ . 1526)]) #@83 Pretty-print a Dissemin PAPER entry (with DOI) to current buffer. (fn PAPER DOI) (defalias 'biblio-dissemin--pretty-print #[514 "\300\236A\301\236A\302\236A\303\236A\304\236A\305\300B\301\306\307\"B\310\311!BE\312\"\210\313\314\"\210\315!\203G\316c\210\317\235\203L\320!\210\202L\321\322\"\210eb\207" [title authors classification pdf_url records biblio-insert-result seq-map biblio-dissemin--format-author open-access-status biblio-dissemin--translate-classification t biblio-dissemin--insert-button " " seq-empty-p "\n\n(no records)" ("OA" "OK") biblio-dissemin--suggest-upload seq-do biblio-dissemin--insert-record] 14 (#$ . 1881)]) #@83 Create a buffer for Dissemin, and print PAPER (with DOI) into it. (fn PAPER DOI) (defalias 'biblio-dissemin--print-results #[514 "r\302 q\210\303\304 \210\305 \210\306 \210\307\"\210)\303\310p!)\207" [inhibit-read-only buffer-read-only biblio-dissemin--make-buffer t erase-buffer help-mode visual-line-mode biblio-dissemin--pretty-print pop-to-buffer] 5 (#$ . 2546)]) #@49 Create a buffer to display Dissemin results in. (defalias 'biblio-dissemin--make-buffer #[0 "\300\301!\207" [get-buffer-create "*Dissemin search results*"] 2 (#$ . 2925)]) #@44 Extract search results from DBLP response. (defalias 'biblio-dissemin--parse-buffer #[0 "\300\301!\210\302 \303\236A\304\236A\305\230\204\306\307\310\"\210\207" [biblio-decode-url-buffer utf-8 json-read status paper "ok" display-warning biblio-dissemin "Dissemin query failed"] 6 (#$ . 3103)]) #@45 Create a DBLP url to look up DOI. (fn DOI) (defalias 'biblio-dissemin--url #[257 "\300\301\302!\"\207" [format "https://dissem.in/api/%s" url-encode-url] 5 (#$ . 3408)]) #@66 Generate a callback to parse Dissemin results for DOI. (fn DOI) (defalias 'biblio-dissemin--callback #[257 "\300\301\"\207" [make-closure #[0 "\301\302 \300\"\207" [V0 biblio-dissemin--print-results biblio-dissemin--parse-buffer] 3]] 4 (#$ . 3586)]) #@165 Retrieve a record by DOI from Dissemin, and display it. Interactively, or if CLEANUP is non-nil, pass DOI through `biblio-cleanup-doi'. (fn DOI &optional CLEANUP) (defalias 'biblio-dissemin-lookup #[513 "\211\203 \300!\262\301 \302\303!\304\305!!\"\210\207" [biblio-cleanup-doi biblio-dissemin--make-buffer biblio-url-retrieve biblio-dissemin--url biblio-generic-url-callback biblio-dissemin--callback] 8 (#$ . 3845) "MDOI: \nd"]) (defalias 'dissemin-lookup 'biblio-dissemin-lookup) #@131 Retrieve a RECORD from Dissemin, and display it. RECORD is a formatted record as expected by `biblio-insert-result'. (fn RECORD) (defalias 'biblio-dissemin--lookup-record #[257 "\211\300\236A\211\203 \301!\207\302\303!\207" [doi dissemin-lookup user-error "Dissemin needs a DOI, but this record does not contain one"] 5 (#$ . 4342)]) #@58 Add Dissemin to list of `biblio-selection-mode' actions. (defalias 'biblio-dissemin--register-action #[0 "\300\301\302\"\207" [add-to-list biblio-selection-mode-actions-alist ("Dissemin (find open access copies of this article)" . biblio-dissemin--lookup-record)] 3 (#$ . 4686)]) (byte-code "\300\301\302\"\210\303\304!\207" [add-hook biblio-selection-mode-hook biblio-dissemin--register-action provide biblio-dissemin] 3)