;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Jun 2001
;;;;
-;;;; $Id: pubmed-src.lisp,v 1.2 2003/06/12 11:10:38 kevin Exp $
+;;;; $Id$
;;;;
;;;; This file, part of cl-pubmed, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(defparameter +pubmed-host+ "www.ncbi.nlm.nih.gov")
(defparameter +pubmed-query-url+ "/entrez/utils/pmqty.fcgi")
(defparameter +pubmed-fetch-url+ "/entrez/utils/pmfetch.fcgi")
+(defparameter +proxy-host+ nil)
(define-condition pubmed-condition ()
&key (os *standard-output*) (format :text)
(complete nil) (print-link nil))
"Display an article set to specified stream in specified format"
- (dotimes (i (articles-count artset))
- (print-article (nth i (articles artset)) :os os :format format
- :complete complete :print-link print-link))
- artset)
+ (dotimes (i (articles-count artset) artset)
+ (if (nth i (articles artset))
+ (print-article (nth i (articles artset)) :os os :format format
+ :complete complete :print-link print-link)
+ (princ "NULL Article" os))))
(defmethod print-article ((art pm-article) &key (os *standard-output*)
(format :text) (complete nil) (print-link nil))
(net.aserve.client:do-http-request
(format nil "http://~a~a" +pubmed-host+ +pubmed-query-url+)
:method :get
- :query query-alist)))
+ :query query-alist
+ :proxy *proxy-host*)))
(defun pubmed-fetch-pmids-xml (pmids)
"Fetch articles for a list of PubMed ID's and return XML string"
:method :get
:query
`(("db" . "PubMed") ("report" . "xml") ("mode" . "text")
- ("id" . ,(list-to-delimited-string pmids #\,))))))
+ ("id" . ,(list-to-delimited-string pmids #\,)))
+ :proxy *proxy-host*)))
;;; XML Extraction Routines