tools-iuc: StringIO error in ncbi_eutil_esearch

I’m not a python expert, and I haven’t tried messing with the code (yet), but I think this line:

https://github.com/galaxyproject/tools-iuc/blob/916aaa04992e36f9324299949b86cccd12d3081d/tools/ncbi_entrez_eutils/eutils.py#L91

may be causing this error:

Traceback (most recent call last):
  File "/data/galaxy/shed_tools/testtoolshed.g2.bx.psu.edu/repos/iuc/ncbi_eutils_esearch/b88af93de1b7/ncbi_eutils_esearch/esearch.py", line 47, in <module>
    history = c.extract_history(results)
  File "/data/galaxy/shed_tools/testtoolshed.g2.bx.psu.edu/repos/iuc/ncbi_eutils_esearch/b88af93de1b7/ncbi_eutils_esearch/eutils.py", line 91, in extract_history
    parsed_data = Entrez.read(StringIO.StringIO(xml_data))
AttributeError: type object '_io.StringIO' has no attribute 'StringIO'

because StringIO is already imported on this line:

https://github.com/galaxyproject/tools-iuc/blob/916aaa04992e36f9324299949b86cccd12d3081d/tools/ncbi_entrez_eutils/eutils.py#L3

…at least, according the second answer here:

https://stackoverflow.com/questions/52440965/attributeerror-type-object-io-stringio-has-no-attribute-stringio

This happens when switching Store results to history server to Yes and searching the Gene database with the query:

genetype rrna[Properties] AND Homo sapiens[Organism] AND (srcdb refseq[Properties] AND alive[prop])

Let me know if I did something wrong that’s causing this error.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 29 (29 by maintainers)

Most upvoted comments

Thanks for the clarification.

You’re right, the webenv and key strings are transient, which has implications for partially re-running a workflow. It should be OK if you re-run an entire workflow as that would get a fresh webenv/key.