Skip to content

Commit

Permalink
added dataset_suggest and dataset_search, fix #40
Browse files Browse the repository at this point in the history
  • Loading branch information
sckott committed Oct 19, 2016
1 parent 094c829 commit dc28bc1
Show file tree
Hide file tree
Showing 33 changed files with 682 additions and 673 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,7 @@
# ipython notebook files
.ipynb_checkpoints
*/.ipynb_checkpoints/*

# scratch files
scratch.py

Binary file modified docs/_build/doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/_build/doctrees/occurrences.doctree
Binary file not shown.
Binary file modified docs/_build/doctrees/registry.doctree
Binary file not shown.
3 changes: 3 additions & 0 deletions docs/_build/html/_modules/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@



<link rel="index" title="Index"
href="../genindex.html"/>
<link rel="search" title="Search" href="../search.html"/>
<link rel="top" title="pygbif 0.1.6.0 documentation" href="../index.html"/>


Expand Down
13 changes: 8 additions & 5 deletions docs/_build/html/_modules/pygbif/occurrences/count.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@



<link rel="index" title="Index"
href="../../../genindex.html"/>
<link rel="search" title="Search" href="../../../search.html"/>
<link rel="top" title="pygbif 0.1.6.0 documentation" href="../../../index.html"/>
<link rel="up" title="Module code" href="../../index.html"/>

Expand Down Expand Up @@ -130,11 +133,11 @@
<div itemprop="articleBody">

<h1>Source code for pygbif.occurrences.count</h1><div class="highlight"><pre>
<span></span><span class="kn">from</span> <span class="nn">..gbifutils</span> <span class="kn">import</span> <span class="o">*</span>
<span></span><span class="kn">from</span> <span class="nn">..gbifutils</span> <span class="k">import</span> <span class="o">*</span>

<span class="k">def</span> <span class="nf">count</span><span class="p">(</span><span class="n">taxonKey</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">basisOfRecord</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">country</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">isGeoreferenced</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
<span class="n">datasetKey</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">publishingCountry</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">typeStatus</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
<span class="n">issue</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">year</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">count</span><span class="p">(</span><span class="n">taxonKey</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">basisOfRecord</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">country</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">isGeoreferenced</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
<span class="n">datasetKey</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">publishingCountry</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">typeStatus</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
<span class="n">issue</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">year</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;</span>
<span class="sd"> Returns occurrence counts for a predefined set of dimensions</span>

Expand Down Expand Up @@ -197,7 +200,7 @@ <h1>Source code for pygbif.occurrences.count</h1><div class="highlight"><pre>
<span class="n">out</span> <span class="o">=</span> <span class="n">gbif_GET</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="p">{</span><span class="s1">&#39;year&#39;</span><span class="p">:</span> <span class="n">year</span><span class="p">},</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
<span class="k">return</span> <span class="n">out</span>

<span class="k">def</span> <span class="nf">count_datasets</span><span class="p">(</span><span class="n">taxonKey</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span> <span class="n">country</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">count_datasets</span><span class="p">(</span><span class="n">taxonKey</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">country</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;</span>
<span class="sd"> Lists occurrence counts for datasets that cover a given taxon or country</span>

Expand Down
29 changes: 16 additions & 13 deletions docs/_build/html/_modules/pygbif/occurrences/download.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@



<link rel="index" title="Index"
href="../../../genindex.html"/>
<link rel="search" title="Search" href="../../../search.html"/>
<link rel="top" title="pygbif 0.1.6.0 documentation" href="../../../index.html"/>
<link rel="up" title="Module code" href="../../index.html"/>

Expand Down Expand Up @@ -135,9 +138,9 @@ <h1>Source code for pygbif.occurrences.download</h1><div class="highlight"><pre>
<span class="kn">import</span> <span class="nn">csv</span>
<span class="kn">import</span> <span class="nn">json</span>
<span class="kn">import</span> <span class="nn">datetime</span>
<span class="kn">from</span> <span class="nn">requests</span> <span class="kn">import</span> <span class="n">auth</span>
<span class="kn">from</span> <span class="nn">requests</span> <span class="k">import</span> <span class="n">auth</span>

<span class="kn">from</span> <span class="nn">..gbifutils</span> <span class="kn">import</span> <span class="o">*</span>
<span class="kn">from</span> <span class="nn">..gbifutils</span> <span class="k">import</span> <span class="o">*</span>


<span class="k">def</span> <span class="nf">_parse_args</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
Expand All @@ -161,8 +164,8 @@ <h1>Source code for pygbif.occurrences.download</h1><div class="highlight"><pre>
<span class="k">return</span> <span class="n">value</span>


<span class="k">def</span> <span class="nf">download</span><span class="p">(</span><span class="n">queries</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">pwd</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
<span class="n">email</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">pred_type</span><span class="o">=</span><span class="s1">&#39;and&#39;</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">download</span><span class="p">(</span><span class="n">queries</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">pwd</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
<span class="n">email</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">pred_type</span><span class="o">=</span><span class="s1">&#39;and&#39;</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Spin up a download request for GBIF occurrence data.</span>

Expand Down Expand Up @@ -272,7 +275,7 @@ <h1>Source code for pygbif.occurrences.download</h1><div class="highlight"><pre>

<span class="k">class</span> <span class="nc">GbifDownload</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>

<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">creator</span><span class="p">,</span> <span class="n">email</span><span class="p">,</span> <span class="n">polygon</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">creator</span><span class="p">,</span> <span class="n">email</span><span class="p">,</span> <span class="n">polygon</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;class to setup a JSON doc with the query and POST a request</span>

<span class="sd"> All predicates (default key-value or iterative based on a list of</span>
Expand Down Expand Up @@ -305,7 +308,7 @@ <h1>Source code for pygbif.occurrences.download</h1><div class="highlight"><pre>
<span class="s1">&#39;predicates&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">predicates</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">request_id</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">request_id</span> <span class="o">=</span> <span class="kc">None</span>

<span class="c1"># prepare the geometry polygon constructions</span>
<span class="k">if</span> <span class="n">polygon</span><span class="p">:</span>
Expand All @@ -316,7 +319,7 @@ <h1>Source code for pygbif.occurrences.download</h1><div class="highlight"><pre>
<span class="sd">&quot;&quot;&quot;get main predicate combination type&quot;&quot;&quot;</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_main_pred_type</span>

<span class="nd">@main_pred_type.setter</span>
<span class="nd">@main_pred_type</span><span class="o">.</span><span class="n">setter</span>
<span class="k">def</span> <span class="nf">main_pred_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;set main predicate combination type</span>

Expand Down Expand Up @@ -386,7 +389,7 @@ <h1>Source code for pygbif.occurrences.download</h1><div class="highlight"><pre>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">values</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_values</span><span class="p">(</span><span class="n">values_list</span><span class="p">)</span>

<span class="n">predicate</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;type&#39;</span><span class="p">:</span> <span class="s1">&#39;equals&#39;</span><span class="p">,</span> <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span> <span class="s1">&#39;value&#39;</span><span class="p">:</span> <span class="bp">None</span><span class="p">}</span>
<span class="n">predicate</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;type&#39;</span><span class="p">:</span> <span class="s1">&#39;equals&#39;</span><span class="p">,</span> <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span> <span class="s1">&#39;value&#39;</span><span class="p">:</span> <span class="kc">None</span><span class="p">}</span>
<span class="n">predicates</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">while</span> <span class="n">values</span><span class="p">:</span>
<span class="n">predicate</span><span class="p">[</span><span class="s1">&#39;value&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">values</span><span class="o">.</span><span class="n">pop</span><span class="p">()</span>
Expand All @@ -402,7 +405,7 @@ <h1>Source code for pygbif.occurrences.download</h1><div class="highlight"><pre>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">predicates</span><span class="o">.</span><span class="n">append</span><span class="p">({</span><span class="s1">&#39;type&#39;</span><span class="p">:</span> <span class="n">geom_type</span><span class="p">,</span> <span class="s1">&#39;geometry&#39;</span><span class="p">:</span> <span class="n">polygon</span><span class="p">})</span>

<span class="k">def</span> <span class="nf">post_download</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">pwd</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">post_download</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">pwd</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>

<span class="sd"> :param user: Username</span>
Expand All @@ -424,7 +427,7 @@ <h1>Source code for pygbif.occurrences.download</h1><div class="highlight"><pre>
<span class="s1">&#39;check your number of active downloads.&#39;</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">request_id</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">text</span>
<span class="k">print</span><span class="p">(</span><span class="s1">&#39;Your download key is &#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">request_id</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Your download key is &#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">request_id</span><span class="p">)</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">request_id</span>

<span class="k">def</span> <span class="nf">get_status</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
Expand Down Expand Up @@ -455,7 +458,7 @@ <h1>Source code for pygbif.occurrences.download</h1><div class="highlight"><pre>
<span class="k">return</span> <span class="n">gbif_GET</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="p">{},</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>


<span class="k">def</span> <span class="nf">download_list</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">pwd</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">limit</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">start</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">download_list</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">pwd</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">limit</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">start</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Lists the downloads created by a user.</span>

Expand Down Expand Up @@ -510,12 +513,12 @@ <h1>Source code for pygbif.occurrences.download</h1><div class="highlight"><pre>
<span class="k">if</span> <span class="n">meta</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;SUCCEEDED&#39;</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;download &quot;</span><span class="si">%s</span><span class="s1">&quot; not of status SUCCEEDED&#39;</span> <span class="o">%</span> <span class="n">key</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="s1">&#39;Download file size: </span><span class="si">%s</span><span class="s1"> bytes&#39;</span> <span class="o">%</span> <span class="n">meta</span><span class="p">[</span><span class="s1">&#39;size&#39;</span><span class="p">])</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Download file size: </span><span class="si">%s</span><span class="s1"> bytes&#39;</span> <span class="o">%</span> <span class="n">meta</span><span class="p">[</span><span class="s1">&#39;size&#39;</span><span class="p">])</span>
<span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;http://api.gbif.org/v1/occurrence/download/request/&#39;</span> <span class="o">+</span> <span class="n">key</span>
<span class="n">path</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">%s</span><span class="s2">/</span><span class="si">%s</span><span class="s2">.zip&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span>
<span class="n">gbif_GET_write</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
<span class="c1"># options(gbifdownloadpath = path)</span>
<span class="k">print</span><span class="p">(</span><span class="s2">&quot;On disk at &quot;</span> <span class="o">+</span> <span class="n">path</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;On disk at &quot;</span> <span class="o">+</span> <span class="n">path</span><span class="p">)</span>
<span class="k">return</span> <span class="p">{</span><span class="s1">&#39;path&#39;</span><span class="p">:</span> <span class="n">path</span><span class="p">,</span> <span class="s1">&#39;size&#39;</span><span class="p">:</span> <span class="n">meta</span><span class="p">[</span><span class="s1">&#39;size&#39;</span><span class="p">],</span> <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">}</span>

<span class="n">operators</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;equals&#39;</span><span class="p">,</span> <span class="s1">&#39;and&#39;</span><span class="p">,</span> <span class="s1">&#39;or&#39;</span><span class="p">,</span> <span class="s1">&#39;lessThan&#39;</span><span class="p">,</span> <span class="s1">&#39;lessThanOrEquals&#39;</span><span class="p">,</span>
Expand Down

0 comments on commit dc28bc1

Please sign in to comment.