mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-16 15:20:24 +01:00
Documentation updated
This commit is contained in:
parent
6da0c6f619
commit
eff586436d
2 changed files with 129 additions and 56 deletions
|
@ -53,6 +53,9 @@
|
|||
<li>
|
||||
<a class="function" href="#dump_to_json">dump_to_json</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#import_json_string">import_json_string</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#load_json">load_json</a>
|
||||
</li>
|
||||
|
@ -280,20 +283,18 @@
|
|||
<span class="n">fp</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">load_json</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<span class="sd">"""Import a list of Obs or structures containing Obs from a .json.gz file.</span>
|
||||
<span class="k">def</span> <span class="nf">import_json_string</span><span class="p">(</span><span class="n">json_string</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<span class="sd">"""Reconstruct a list of Obs or structures containing Obs from a json string.</span>
|
||||
|
||||
<span class="sd"> The following structures are supported: Obs, list, numpy.ndarray</span>
|
||||
<span class="sd"> If the list contains only one element, it is unpacked from the list.</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> fname : str</span>
|
||||
<span class="sd"> Filename of the input file.</span>
|
||||
<span class="sd"> json_string : str</span>
|
||||
<span class="sd"> json string containing the data.</span>
|
||||
<span class="sd"> verbose : bool</span>
|
||||
<span class="sd"> Print additional information that was written to the file.</span>
|
||||
<span class="sd"> gz : bool</span>
|
||||
<span class="sd"> If True, assumes that data is gzipped. If False, assumes JSON file.</span>
|
||||
<span class="sd"> full_output : bool</span>
|
||||
<span class="sd"> If True, a dict containing auxiliary information and the data is returned.</span>
|
||||
<span class="sd"> If False, only the data is returned.</span>
|
||||
|
@ -358,35 +359,22 @@
|
|||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">taglist</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">layout</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.json'</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.json'</span>
|
||||
<span class="k">if</span> <span class="n">gz</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
||||
<span class="k">with</span> <span class="n">gzip</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
|
||||
<span class="n">d</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">fin</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"Trying to read from </span><span class="si">%s</span><span class="s2"> without unzipping!"</span> <span class="o">%</span> <span class="n">fname</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
|
||||
<span class="n">d</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">fin</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
|
||||
|
||||
<span class="n">prog</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'program'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">version</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'version'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">who</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'who'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">date</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'date'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">host</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'host'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">prog</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'program'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">version</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'version'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">who</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'who'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">date</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'date'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">host</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'host'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">prog</span> <span class="ow">and</span> <span class="n">verbose</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s1">'Data has been written using </span><span class="si">%s</span><span class="s1">.'</span> <span class="o">%</span> <span class="p">(</span><span class="n">prog</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">version</span> <span class="ow">and</span> <span class="n">verbose</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s1">'Format version </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">version</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">any</span><span class="p">([</span><span class="n">who</span><span class="p">,</span> <span class="n">date</span><span class="p">,</span> <span class="n">host</span><span class="p">]</span> <span class="ow">and</span> <span class="n">verbose</span><span class="p">):</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s1">'Written by </span><span class="si">%s</span><span class="s1"> on </span><span class="si">%s</span><span class="s1"> on host </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">who</span><span class="p">,</span> <span class="n">date</span><span class="p">,</span> <span class="n">host</span><span class="p">))</span>
|
||||
<span class="n">description</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'description'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">description</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'description'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">description</span> <span class="ow">and</span> <span class="n">verbose</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">()</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s1">'Description: '</span><span class="p">,</span> <span class="n">description</span><span class="p">)</span>
|
||||
<span class="n">obsdata</span> <span class="o">=</span> <span class="n">d</span><span class="p">[</span><span class="s1">'obsdata'</span><span class="p">]</span>
|
||||
<span class="n">obsdata</span> <span class="o">=</span> <span class="n">json_string</span><span class="p">[</span><span class="s1">'obsdata'</span><span class="p">]</span>
|
||||
<span class="n">ol</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">io</span> <span class="ow">in</span> <span class="n">obsdata</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">io</span><span class="p">[</span><span class="s1">'type'</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'Obs'</span><span class="p">:</span>
|
||||
|
@ -412,6 +400,40 @@
|
|||
<span class="n">ol</span> <span class="o">=</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">ol</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">load_json</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<span class="sd">"""Import a list of Obs or structures containing Obs from a .json.gz file.</span>
|
||||
|
||||
<span class="sd"> The following structures are supported: Obs, list, numpy.ndarray</span>
|
||||
<span class="sd"> If the list contains only one element, it is unpacked from the list.</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> fname : str</span>
|
||||
<span class="sd"> Filename of the input file.</span>
|
||||
<span class="sd"> verbose : bool</span>
|
||||
<span class="sd"> Print additional information that was written to the file.</span>
|
||||
<span class="sd"> gz : bool</span>
|
||||
<span class="sd"> If True, assumes that data is gzipped. If False, assumes JSON file.</span>
|
||||
<span class="sd"> full_output : bool</span>
|
||||
<span class="sd"> If True, a dict containing auxiliary information and the data is returned.</span>
|
||||
<span class="sd"> If False, only the data is returned.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.json'</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.json'</span>
|
||||
<span class="k">if</span> <span class="n">gz</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
||||
<span class="k">with</span> <span class="n">gzip</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
|
||||
<span class="n">d</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">fin</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"Trying to read from </span><span class="si">%s</span><span class="s2"> without unzipping!"</span> <span class="o">%</span> <span class="n">fname</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
|
||||
<span class="n">d</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">fin</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">import_json_string</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">verbose</span><span class="p">,</span> <span class="n">full_output</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</details>
|
||||
|
@ -677,30 +699,28 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
|
|||
|
||||
|
||||
</section>
|
||||
<section id="load_json">
|
||||
<div class="attr function"><a class="headerlink" href="#load_json">#  </a>
|
||||
<section id="import_json_string">
|
||||
<div class="attr function"><a class="headerlink" href="#import_json_string">#  </a>
|
||||
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">load_json</span><span class="signature">(fname, verbose=True, gz=True, full_output=False)</span>:
|
||||
<span class="name">import_json_string</span><span class="signature">(json_string, verbose=True, full_output=False)</span>:
|
||||
</div>
|
||||
|
||||
<details>
|
||||
<summary>View Source</summary>
|
||||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">load_json</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<span class="sd">"""Import a list of Obs or structures containing Obs from a .json.gz file.</span>
|
||||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">import_json_string</span><span class="p">(</span><span class="n">json_string</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<span class="sd">"""Reconstruct a list of Obs or structures containing Obs from a json string.</span>
|
||||
|
||||
<span class="sd"> The following structures are supported: Obs, list, numpy.ndarray</span>
|
||||
<span class="sd"> If the list contains only one element, it is unpacked from the list.</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> fname : str</span>
|
||||
<span class="sd"> Filename of the input file.</span>
|
||||
<span class="sd"> json_string : str</span>
|
||||
<span class="sd"> json string containing the data.</span>
|
||||
<span class="sd"> verbose : bool</span>
|
||||
<span class="sd"> Print additional information that was written to the file.</span>
|
||||
<span class="sd"> gz : bool</span>
|
||||
<span class="sd"> If True, assumes that data is gzipped. If False, assumes JSON file.</span>
|
||||
<span class="sd"> full_output : bool</span>
|
||||
<span class="sd"> If True, a dict containing auxiliary information and the data is returned.</span>
|
||||
<span class="sd"> If False, only the data is returned.</span>
|
||||
|
@ -765,35 +785,22 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
|
|||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">taglist</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">layout</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.json'</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.json'</span>
|
||||
<span class="k">if</span> <span class="n">gz</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
||||
<span class="k">with</span> <span class="n">gzip</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
|
||||
<span class="n">d</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">fin</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"Trying to read from </span><span class="si">%s</span><span class="s2"> without unzipping!"</span> <span class="o">%</span> <span class="n">fname</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
|
||||
<span class="n">d</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">fin</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
|
||||
|
||||
<span class="n">prog</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'program'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">version</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'version'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">who</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'who'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">date</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'date'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">host</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'host'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">prog</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'program'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">version</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'version'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">who</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'who'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">date</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'date'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">host</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'host'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">prog</span> <span class="ow">and</span> <span class="n">verbose</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s1">'Data has been written using </span><span class="si">%s</span><span class="s1">.'</span> <span class="o">%</span> <span class="p">(</span><span class="n">prog</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">version</span> <span class="ow">and</span> <span class="n">verbose</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s1">'Format version </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">version</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">any</span><span class="p">([</span><span class="n">who</span><span class="p">,</span> <span class="n">date</span><span class="p">,</span> <span class="n">host</span><span class="p">]</span> <span class="ow">and</span> <span class="n">verbose</span><span class="p">):</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s1">'Written by </span><span class="si">%s</span><span class="s1"> on </span><span class="si">%s</span><span class="s1"> on host </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">who</span><span class="p">,</span> <span class="n">date</span><span class="p">,</span> <span class="n">host</span><span class="p">))</span>
|
||||
<span class="n">description</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'description'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="n">description</span> <span class="o">=</span> <span class="n">json_string</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'description'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">description</span> <span class="ow">and</span> <span class="n">verbose</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">()</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s1">'Description: '</span><span class="p">,</span> <span class="n">description</span><span class="p">)</span>
|
||||
<span class="n">obsdata</span> <span class="o">=</span> <span class="n">d</span><span class="p">[</span><span class="s1">'obsdata'</span><span class="p">]</span>
|
||||
<span class="n">obsdata</span> <span class="o">=</span> <span class="n">json_string</span><span class="p">[</span><span class="s1">'obsdata'</span><span class="p">]</span>
|
||||
<span class="n">ol</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">io</span> <span class="ow">in</span> <span class="n">obsdata</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">io</span><span class="p">[</span><span class="s1">'type'</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'Obs'</span><span class="p">:</span>
|
||||
|
@ -821,6 +828,72 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
|
|||
<span class="k">return</span> <span class="n">ol</span>
|
||||
</pre></div>
|
||||
|
||||
</details>
|
||||
|
||||
<div class="docstring"><p>Reconstruct a list of Obs or structures containing Obs from a json string.</p>
|
||||
|
||||
<p>The following structures are supported: Obs, list, numpy.ndarray
|
||||
If the list contains only one element, it is unpacked from the list.</p>
|
||||
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>json_string</strong> (str):
|
||||
json string containing the data.</li>
|
||||
<li><strong>verbose</strong> (bool):
|
||||
Print additional information that was written to the file.</li>
|
||||
<li><strong>full_output</strong> (bool):
|
||||
If True, a dict containing auxiliary information and the data is returned.
|
||||
If False, only the data is returned.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</section>
|
||||
<section id="load_json">
|
||||
<div class="attr function"><a class="headerlink" href="#load_json">#  </a>
|
||||
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">load_json</span><span class="signature">(fname, verbose=True, gz=True, full_output=False)</span>:
|
||||
</div>
|
||||
|
||||
<details>
|
||||
<summary>View Source</summary>
|
||||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">load_json</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<span class="sd">"""Import a list of Obs or structures containing Obs from a .json.gz file.</span>
|
||||
|
||||
<span class="sd"> The following structures are supported: Obs, list, numpy.ndarray</span>
|
||||
<span class="sd"> If the list contains only one element, it is unpacked from the list.</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> fname : str</span>
|
||||
<span class="sd"> Filename of the input file.</span>
|
||||
<span class="sd"> verbose : bool</span>
|
||||
<span class="sd"> Print additional information that was written to the file.</span>
|
||||
<span class="sd"> gz : bool</span>
|
||||
<span class="sd"> If True, assumes that data is gzipped. If False, assumes JSON file.</span>
|
||||
<span class="sd"> full_output : bool</span>
|
||||
<span class="sd"> If True, a dict containing auxiliary information and the data is returned.</span>
|
||||
<span class="sd"> If False, only the data is returned.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.json'</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.json'</span>
|
||||
<span class="k">if</span> <span class="n">gz</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
||||
<span class="k">with</span> <span class="n">gzip</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
|
||||
<span class="n">d</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">fin</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"Trying to read from </span><span class="si">%s</span><span class="s2"> without unzipping!"</span> <span class="o">%</span> <span class="n">fname</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
|
||||
<span class="n">d</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">fin</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">import_json_string</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">verbose</span><span class="p">,</span> <span class="n">full_output</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</details>
|
||||
|
||||
<div class="docstring"><p>Import a list of Obs or structures containing Obs from a .json.gz file.</p>
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue