-(defun doi-utils-add-bibtex-entry-from-doi (doi)
- "add entry to end of first entry in `org-ref-default-bibliography'."
- (interactive "sDOI: ")
- (find-file (car org-ref-default-bibliography))
- (end-of-buffer)
- (insert "\n\n")
- (doi-utils-insert-bibtex-entry-from-doi doi)
- (save-buffer))
+(defun doi-utils-add-bibtex-entry-from-doi (doi bibfile)
+ "add entry to end of a file in `org-ref-default-bibliography' or in the current directory ending with .bib."
+ (interactive
+ (list
+ (read-string "DOI: ")
+ (ido-completing-read
+ "Bibfile: "
+ (append org-ref-default-bibliography
+ (f-entries "." (lambda (f) (f-ext? f "bib")))))))
+ (find-file bibfile)
+ (goto-char (point-min))
+ (if (search-forward doi nil t)
+ (message "%s is already in this file" doi)
+ (end-of-buffer)
+ (insert "\n\n")
+ (doi-utils-insert-bibtex-entry-from-doi doi)
+ (save-buffer)))