Skip to content

Commit 08e4505

Browse files
author
Sphinx
committed
Automated update 6568a97654024494aecb327b42db852cd7c72c18
1 parent 641fcf5 commit 08e4505

6 files changed

Lines changed: 56 additions & 95 deletions

File tree

dev/Tutorial/chapter_entrez.html

Lines changed: 15 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -354,13 +354,13 @@
354354
<span class="gp">&gt;&gt;&gt; </span><span class="n">record</span> <span class="o">=</span> <span class="n">Entrez</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">stream</span><span class="p">)</span>
355355
</pre></div>
356356
</div>
357-
<p>Now <code class="docutils literal notranslate"><span class="pre">record</span></code> is a dictionary with exactly one key:</p>
357+
<p>Now <code class="docutils literal notranslate"><span class="pre">record</span></code> is a dictionary with three keys:</p>
358358
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">record</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
359-
<span class="go">dict_keys([&#39;DbList&#39;])</span>
359+
<span class="go">dict_keys([&#39;DbInfo&#39;, &#39;ERROR&#39;, &#39;DbList&#39;])</span>
360360
</pre></div>
361361
</div>
362-
<p>The values stored in this key is the list of database names shown in the
363-
XML above:</p>
362+
<p>The values stored in the <code class="docutils literal notranslate"><span class="pre">'DbList</span></code> key is the list of database
363+
names shown in the XML above:</p>
364364
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">record</span><span class="p">[</span><span class="s2">&quot;DbList&quot;</span><span class="p">]</span>
365365
<span class="go">[&#39;pubmed&#39;, &#39;protein&#39;, &#39;nucleotide&#39;, &#39;nuccore&#39;, &#39;nucgss&#39;, &#39;nucest&#39;,</span>
366366
<span class="go"> &#39;structure&#39;, &#39;genome&#39;, &#39;books&#39;, &#39;cancerchromosomes&#39;, &#39;cdd&#39;, &#39;gap&#39;,</span>
@@ -376,13 +376,13 @@
376376
<span class="gp">&gt;&gt;&gt; </span><span class="n">Entrez</span><span class="o">.</span><span class="n">email</span> <span class="o">=</span> <span class="s2">&quot;A.N.Other@example.com&quot;</span> <span class="c1"># Always tell NCBI who you are</span>
377377
<span class="gp">&gt;&gt;&gt; </span><span class="n">stream</span> <span class="o">=</span> <span class="n">Entrez</span><span class="o">.</span><span class="n">einfo</span><span class="p">(</span><span class="n">db</span><span class="o">=</span><span class="s2">&quot;pubmed&quot;</span><span class="p">)</span>
378378
<span class="gp">&gt;&gt;&gt; </span><span class="n">record</span> <span class="o">=</span> <span class="n">Entrez</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">stream</span><span class="p">)</span>
379-
<span class="gp">&gt;&gt;&gt; </span><span class="n">record</span><span class="p">[</span><span class="s2">&quot;DbInfo&quot;</span><span class="p">][</span><span class="s2">&quot;Description&quot;</span><span class="p">]</span>
379+
<span class="gp">&gt;&gt;&gt; </span><span class="n">record</span><span class="p">[</span><span class="s2">&quot;DbInfo&quot;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s2">&quot;Description&quot;</span><span class="p">]</span>
380380
<span class="go">&#39;PubMed bibliographic record&#39;</span>
381381
</pre></div>
382382
</div>
383-
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">record</span><span class="p">[</span><span class="s2">&quot;DbInfo&quot;</span><span class="p">][</span><span class="s2">&quot;Count&quot;</span><span class="p">]</span>
383+
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">record</span><span class="p">[</span><span class="s2">&quot;DbInfo&quot;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s2">&quot;Count&quot;</span><span class="p">]</span>
384384
<span class="go">&#39;17989604&#39;</span>
385-
<span class="gp">&gt;&gt;&gt; </span><span class="n">record</span><span class="p">[</span><span class="s2">&quot;DbInfo&quot;</span><span class="p">][</span><span class="s2">&quot;LastUpdate&quot;</span><span class="p">]</span>
385+
<span class="gp">&gt;&gt;&gt; </span><span class="n">record</span><span class="p">[</span><span class="s2">&quot;DbInfo&quot;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s2">&quot;LastUpdate&quot;</span><span class="p">]</span>
386386
<span class="go">&#39;2008/05/24 06:45&#39;</span>
387387
</pre></div>
388388
</div>
@@ -993,59 +993,20 @@ <h3>The file ends prematurely or is otherwise corrupted<a class="headerlink" hre
993993
</section>
994994
<section id="the-file-contains-items-that-are-missing-from-the-associated-dtd">
995995
<h3>The file contains items that are missing from the associated DTD<a class="headerlink" href="#the-file-contains-items-that-are-missing-from-the-associated-dtd" title="Link to this heading"></a></h3>
996-
<p>This is an example of an XML file containing tags that do not have a
997-
description in the corresponding DTD file:</p>
998-
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>&lt;?xml version=&quot;1.0&quot;?&gt;
999-
&lt;!DOCTYPE eInfoResult PUBLIC &quot;-//NLM//DTD eInfoResult, 11 May 2002//EN&quot; &quot;https://www.ncbi.nlm.nih.gov/entrez/query/DTD/eInfo_020511.dtd&quot;&gt;
1000-
&lt;eInfoResult&gt;
1001-
&lt;DbInfo&gt;
1002-
&lt;DbName&gt;pubmed&lt;/DbName&gt;
1003-
&lt;MenuName&gt;PubMed&lt;/MenuName&gt;
1004-
&lt;Description&gt;PubMed bibliographic record&lt;/Description&gt;
1005-
&lt;Count&gt;20161961&lt;/Count&gt;
1006-
&lt;LastUpdate&gt;2010/09/10 04:52&lt;/LastUpdate&gt;
1007-
&lt;FieldList&gt;
1008-
&lt;Field&gt;
1009-
...
1010-
&lt;/Field&gt;
1011-
&lt;/FieldList&gt;
1012-
&lt;DocsumList&gt;
1013-
&lt;Docsum&gt;
1014-
&lt;DsName&gt;PubDate&lt;/DsName&gt;
1015-
&lt;DsType&gt;4&lt;/DsType&gt;
1016-
&lt;DsTypeName&gt;string&lt;/DsTypeName&gt;
1017-
&lt;/Docsum&gt;
1018-
&lt;Docsum&gt;
1019-
&lt;DsName&gt;EPubDate&lt;/DsName&gt;
1020-
...
1021-
&lt;/DbInfo&gt;
1022-
&lt;/eInfoResult&gt;
1023-
</pre></div>
1024-
</div>
1025-
<p>In this file, for some reason the tag <code class="docutils literal notranslate"><span class="pre">&lt;DocsumList&gt;</span></code> (and several
1026-
others) are not listed in the DTD file <code class="docutils literal notranslate"><span class="pre">eInfo_020511.dtd</span></code>, which is
1027-
specified on the second line as the DTD for this XML file. By default,
1028-
the parser will stop and raise a ValidationError if it cannot find some
1029-
tag in the DTD:</p>
1030-
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span><span class="w"> </span><span class="nn">Bio</span><span class="w"> </span><span class="kn">import</span> <span class="n">Entrez</span>
1031-
<span class="gp">&gt;&gt;&gt; </span><span class="n">stream</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s2">&quot;einfo3.xml&quot;</span><span class="p">,</span> <span class="s2">&quot;rb&quot;</span><span class="p">)</span>
1032-
<span class="gp">&gt;&gt;&gt; </span><span class="n">record</span> <span class="o">=</span> <span class="n">Entrez</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">stream</span><span class="p">)</span>
1033-
<span class="gt">Traceback (most recent call last):</span>
1034-
<span class="w"> </span><span class="c">...</span>
1035-
<span class="gr">Bio.Entrez.Parser.ValidationError</span>: <span class="n">Failed to find tag &#39;DocsumList&#39; in the DTD. To skip all tags that are not represented in the DTD, please call Bio.Entrez.read or Bio.Entrez.parse with validate=False.</span>
1036-
</pre></div>
1037-
</div>
1038-
<p>Optionally, you can instruct the parser to skip such tags instead of
1039-
raising a ValidationError. This is done by calling <code class="docutils literal notranslate"><span class="pre">Entrez.read</span></code> or
1040-
<code class="docutils literal notranslate"><span class="pre">Entrez.parse</span></code> with the argument <code class="docutils literal notranslate"><span class="pre">validate</span></code> equal to False:</p>
996+
<p>In some extraordinary cases, the XML file is not fully consistent with the
997+
associated DTD file, and contains some tags that are not defined in the
998+
DTD file. By default, the parser will stop and raise a <code class="docutils literal notranslate"><span class="pre">ValidationError</span></code>
999+
if it cannot find some tag in the DTD. You can instruct the parser to skip
1000+
such tags instead of raising a <code class="docutils literal notranslate"><span class="pre">ValidationError</span></code> by calling <code class="docutils literal notranslate"><span class="pre">Entrez.read</span></code>
1001+
or <code class="docutils literal notranslate"><span class="pre">Entrez.parse</span></code> with the argument <code class="docutils literal notranslate"><span class="pre">validate</span></code> equal to False:</p>
10411002
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span><span class="w"> </span><span class="nn">Bio</span><span class="w"> </span><span class="kn">import</span> <span class="n">Entrez</span>
1042-
<span class="gp">&gt;&gt;&gt; </span><span class="n">stream</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s2">&quot;einfo3.xml&quot;</span><span class="p">,</span> <span class="s2">&quot;rb&quot;</span><span class="p">)</span>
1003+
<span class="gp">&gt;&gt;&gt; </span><span class="n">stream</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s2">&quot;myxmlfile.xml&quot;</span><span class="p">,</span> <span class="s2">&quot;rb&quot;</span><span class="p">)</span>
10431004
<span class="gp">&gt;&gt;&gt; </span><span class="n">record</span> <span class="o">=</span> <span class="n">Entrez</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">stream</span><span class="p">,</span> <span class="n">validate</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
10441005
<span class="gp">&gt;&gt;&gt; </span><span class="n">stream</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
10451006
</pre></div>
10461007
</div>
10471008
<p>Of course, the information contained in the XML tags that are not in the
1048-
DTD are not present in the record returned by <code class="docutils literal notranslate"><span class="pre">Entrez.read</span></code>.</p>
1009+
DTD will not be present in the record returned by <code class="docutils literal notranslate"><span class="pre">Entrez.read</span></code>.</p>
10491010
</section>
10501011
<section id="the-file-contains-an-error-message">
10511012
<h3>The file contains an error message<a class="headerlink" href="#the-file-contains-an-error-message" title="Link to this heading"></a></h3>

dev/api/Bio.Entrez.Parser.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -167,24 +167,18 @@
167167
<dd><p>Create a NoneElement.</p>
168168
</dd></dl>
169169

170-
<dl class="py method">
171-
<dt class="sig sig-object py" id="Bio.Entrez.Parser.NoneElement.__eq__">
172-
<span class="sig-name descname"><span class="pre">__eq__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#Bio.Entrez.Parser.NoneElement.__eq__" title="Link to this definition"></a></dt>
173-
<dd><p>Define equality with other None objects.</p>
174-
</dd></dl>
175-
176-
<dl class="py method">
177-
<dt class="sig sig-object py" id="Bio.Entrez.Parser.NoneElement.__ne__">
178-
<span class="sig-name descname"><span class="pre">__ne__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#Bio.Entrez.Parser.NoneElement.__ne__" title="Link to this definition"></a></dt>
179-
<dd><p>Define non-equality.</p>
180-
</dd></dl>
181-
182170
<dl class="py method">
183171
<dt class="sig sig-object py" id="Bio.Entrez.Parser.NoneElement.__repr__">
184172
<span class="sig-name descname"><span class="pre">__repr__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#Bio.Entrez.Parser.NoneElement.__repr__" title="Link to this definition"></a></dt>
185173
<dd><p>Return a string representation of the object.</p>
186174
</dd></dl>
187175

176+
<dl class="py method">
177+
<dt class="sig sig-object py" id="Bio.Entrez.Parser.NoneElement.__eq__">
178+
<span class="sig-name descname"><span class="pre">__eq__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#Bio.Entrez.Parser.NoneElement.__eq__" title="Link to this definition"></a></dt>
179+
<dd><p>Return self==value.</p>
180+
</dd></dl>
181+
188182
<dl class="py attribute">
189183
<dt class="sig sig-object py" id="Bio.Entrez.Parser.NoneElement.__hash__">
190184
<span class="sig-name descname"><span class="pre">__hash__</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">None</span></em><a class="headerlink" href="#Bio.Entrez.Parser.NoneElement.__hash__" title="Link to this definition"></a></dt>
@@ -618,6 +612,12 @@
618612
<dd><p>Save XSD file to cache.</p>
619613
</dd></dl>
620614

615+
<dl class="py method">
616+
<dt class="sig sig-object py" id="Bio.Entrez.Parser.DataHandler.verify_security">
617+
<span class="sig-name descname"><span class="pre">verify_security</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">url</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#Bio.Entrez.Parser.DataHandler.verify_security" title="Link to this definition"></a></dt>
618+
<dd><p>Check if the url is from a trustable sournce.</p>
619+
</dd></dl>
620+
621621
<dl class="py method">
622622
<dt class="sig sig-object py" id="Bio.Entrez.Parser.DataHandler.externalEntityRefHandler">
623623
<span class="sig-name descname"><span class="pre">externalEntityRefHandler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">context</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">base</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">systemId</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">publicId</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#Bio.Entrez.Parser.DataHandler.externalEntityRefHandler" title="Link to this definition"></a></dt>

0 commit comments

Comments
 (0)