[Biopython] Problem with Bio.Entrez...
Nathan J. Edwards
nje5 at georgetown.edu
Fri Aug 27 01:43:08 UTC 2010
Seems to be a problem with Entrez XML parsing:
from Bio import Entrez
Entrez.email = 'xxxyy at georgetown.edu'
handle = Entrez.einfo(db='pubmed')
result = Entrez.read(handle)
results in:
Traceback (most recent call last):
File "C:/Documents and Settings/Nathan/My
Documents/BCHB524/testing.py", line 5, in <module>
result = Entrez.read(handle)
File
"C:\BCHB524-2010\Python26\lib\site-packages\Bio\Entrez\__init__.py",
line 261, in read
record = handler.read(handle)
File
"C:\BCHB524-2010\Python26\lib\site-packages\Bio\Entrez\Parser.py", line
150, in read
self.parser.ParseFile(handle)
File
"C:\BCHB524-2010\Python26\lib\site-packages\Bio\Entrez\Parser.py", line
295, in endElementHandler
current[name] = value
TypeError: 'str' object does not support item assignment
error is in Parser.endElementHandler:
current = self.stack[-1]
try:
current.append(value)
except AttributeError:
295: current[name] = value
because current is the empty string "".
The problem is probably that the empty string shouldn't be on the stack,
given the logic here and elsewhere, but a simple test for the empty
string does get things working again.
current = self.stack[-1]
if current == "":
return
try:
current.append(value)
except AttributeError:
295: current[name] = value
Cheers!
- n
--
Dr. Nathan Edwards nje5 at georgetown.edu
Department of Biochemistry and Molecular & Cellular Biology
Georgetown University Medical Center
Room 1215, Harris Building Room 347, Basic Science
3300 Whitehaven St, NW 3900 Reservoir Road, NW
Washington DC 20007 Washington DC 20007
Phone: 202-687-7042 Phone: 202-687-1618
Fax: 202-687-0057 Fax: 202-687-7186
More information about the Biopython
mailing list