Skip to content
Snippets Groups Projects
Commit 274f9efe authored by Anne Philipp's avatar Anne Philipp
Browse files

Converted docstrings to numpy style and build first structure for sphinxdocumentation (incl API)

parent 708c6674
No related branches found
No related tags found
No related merge requests found
Showing
with 6259 additions and 227 deletions
File added
File added
File added
No preview for this file type
File added
File added
This diff is collapsed.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
This diff is collapsed.
This diff is collapsed.
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>UioFiles &mdash; flex_extract 7.1 alpha documentation</title>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<script src="../_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="../index.html" class="icon icon-home"> flex_extract
</a>
<div class="version">
7.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">Table of Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Downloads</a></li>
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../program_structure.html">Program Structure</a></li>
<li class="toctree-l1"><a class="reference internal" href="../user_guide.html">User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../api.html">Auto Generated Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../support.html">Support</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">flex_extract</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html">Docs</a> &raquo;</li>
<li><a href="index.html">Module code</a> &raquo;</li>
<li>UioFiles</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for UioFiles</h1><div class="highlight"><pre>
<span></span><span class="ch">#!/usr/bin/env python</span>
<span class="c1"># -*- coding: utf-8 -*-</span>
<span class="c1">#*******************************************************************************</span>
<span class="c1"># @Author: Anne Fouilloux (University of Oslo)</span>
<span class="c1">#</span>
<span class="c1"># @Date: October 2014</span>
<span class="c1">#</span>
<span class="c1"># @Change History:</span>
<span class="c1">#</span>
<span class="c1"># November 2015 - Leopold Haimberger (University of Vienna):</span>
<span class="c1"># - modified method list_files to work with glob instead of listdir</span>
<span class="c1"># - added pattern search in method list_files</span>
<span class="c1">#</span>
<span class="c1"># February 2018 - Anne Philipp (University of Vienna):</span>
<span class="c1"># - applied PEP8 style guide</span>
<span class="c1"># - added documentation</span>
<span class="c1"># - optimisation of method list_files since it didn&#39;t work correctly</span>
<span class="c1"># for sub directories</span>
<span class="c1"># - additional speed up of method list_files</span>
<span class="c1"># - modified the class so that it is initiated with a pattern instead</span>
<span class="c1"># of suffixes. Gives more precision in selection of files.</span>
<span class="c1">#</span>
<span class="c1"># @License:</span>
<span class="c1"># (C) Copyright 2014-2018.</span>
<span class="c1">#</span>
<span class="c1"># This software is licensed under the terms of the Apache Licence Version 2.0</span>
<span class="c1"># which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
<span class="c1">#</span>
<span class="c1"># @Class Decription:</span>
<span class="c1"># The class is for file manipulation. It is initiated with a regular</span>
<span class="c1"># expression pattern for this instance and can produce a list of Files</span>
<span class="c1"># from the given file pattern. These files can be deleted.</span>
<span class="c1">#</span>
<span class="c1"># @Class Content:</span>
<span class="c1"># - __init__</span>
<span class="c1"># - __str__</span>
<span class="c1"># - __list_files__</span>
<span class="c1"># - delete_files</span>
<span class="c1">#</span>
<span class="c1"># @Class Attributes:</span>
<span class="c1"># - pattern</span>
<span class="c1"># - files</span>
<span class="c1">#</span>
<span class="c1">#*******************************************************************************</span>
<span class="c1"># ------------------------------------------------------------------------------</span>
<span class="c1"># MODULES</span>
<span class="c1"># ------------------------------------------------------------------------------</span>
<span class="kn">import</span> <span class="nn">os</span>
<span class="kn">import</span> <span class="nn">sys</span>
<span class="kn">import</span> <span class="nn">fnmatch</span>
<span class="c1"># software specific module from flex_extract</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../&#39;</span><span class="p">)</span>
<span class="c1">#import profiling</span>
<span class="kn">from</span> <span class="nn">mods.tools</span> <span class="k">import</span> <span class="n">silent_remove</span><span class="p">,</span> <span class="n">get_list_as_string</span>
<span class="c1"># ------------------------------------------------------------------------------</span>
<span class="c1"># CLASS</span>
<span class="c1"># ------------------------------------------------------------------------------</span>
<div class="viewcode-block" id="UioFiles"><a class="viewcode-back" href="../api.html#UioFiles.UioFiles">[docs]</a><span class="k">class</span> <span class="nc">UioFiles</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;Class to manipulate files. At initialisation it has the pattern</span>
<span class="sd"> which stores a regular expression pattern for the files, the path</span>
<span class="sd"> to the files and the files already.</span>
<span class="sd"> &#39;&#39;&#39;</span>
<span class="c1"># --------------------------------------------------------------------------</span>
<span class="c1"># CLASS FUNCTIONS</span>
<span class="c1"># --------------------------------------------------------------------------</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">path</span><span class="p">,</span> <span class="n">pattern</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;Assignes a specific pattern for these files.</span>
<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
<span class="sd"> path : :obj:`string`</span>
<span class="sd"> Directory where to list the files.</span>
<span class="sd"> pattern : :obj:`string`</span>
<span class="sd"> Regular expression pattern. For example: &#39;\*.grb&#39;</span>
<span class="sd"> Return</span>
<span class="sd"> ------</span>
<span class="sd"> &#39;&#39;&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span>
<span class="bp">self</span><span class="o">.</span><span class="n">pattern</span> <span class="o">=</span> <span class="n">pattern</span>
<span class="bp">self</span><span class="o">.</span><span class="n">files</span> <span class="o">=</span> <span class="p">[]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__list_files__</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
<span class="k">return</span>
<span class="c1">#@profiling.timefn</span>
<span class="k">def</span> <span class="nf">__list_files__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;Lists all files in the directory with the matching</span>
<span class="sd"> regular expression pattern.</span>
<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
<span class="sd"> path : :obj:`string`</span>
<span class="sd"> Path to the files.</span>
<span class="sd"> Return</span>
<span class="sd"> ------</span>
<span class="sd"> &#39;&#39;&#39;</span>
<span class="c1"># Get the absolute path</span>
<span class="n">path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
<span class="c1"># get all files in the dir and subdir as absolut path</span>
<span class="k">for</span> <span class="n">root</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
<span class="k">for</span> <span class="n">filename</span> <span class="ow">in</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">filenames</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">pattern</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">files</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">root</span><span class="p">,</span> <span class="n">filename</span><span class="p">))</span>
<span class="k">return</span>
<span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;Converts the list of files into a single string.</span>
<span class="sd"> The entries are sepereated by &quot;,&quot; sign.</span>
<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
<span class="sd"> Return</span>
<span class="sd"> ------</span>
<span class="sd"> files_string : :obj:`string`</span>
<span class="sd"> The content of the list as a single string.</span>
<span class="sd"> &#39;&#39;&#39;</span>
<span class="n">filenames</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">f</span><span class="p">)</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
<span class="n">files_string</span> <span class="o">=</span> <span class="n">get_list_as_string</span><span class="p">(</span><span class="n">filenames</span><span class="p">,</span> <span class="n">concatenate_sign</span><span class="o">=</span><span class="s1">&#39;, &#39;</span><span class="p">)</span>
<span class="k">return</span> <span class="n">files_string</span>
<div class="viewcode-block" id="UioFiles.delete_files"><a class="viewcode-back" href="../api.html#UioFiles.UioFiles.delete_files">[docs]</a> <span class="k">def</span> <span class="nf">delete_files</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;Deletes the files.</span>
<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
<span class="sd"> Return</span>
<span class="sd"> ------</span>
<span class="sd"> &#39;&#39;&#39;</span>
<span class="k">for</span> <span class="n">old_file</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">files</span><span class="p">:</span>
<span class="n">silent_remove</span><span class="p">(</span><span class="n">old_file</span><span class="p">)</span>
<span class="k">return</span></div></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../',
VERSION:'7.1 alpha',
LANGUAGE:'None',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
...@@ -149,7 +149,16 @@ ...@@ -149,7 +149,16 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<h1>All modules for which code is available</h1> <h1>All modules for which code is available</h1>
<ul><li><a href="disaggregation.html">disaggregation</a></li> <ul><li><a href="ControlFile.html">ControlFile</a></li>
<li><a href="EcFlexpart.html">EcFlexpart</a></li>
<li><a href="GribTools.html">GribTools</a></li>
<li><a href="MarsRetrieval.html">MarsRetrieval</a></li>
<li><a href="UioFiles.html">UioFiles</a></li>
<li><a href="disaggregation.html">disaggregation</a></li>
<li><a href="get_mars_data.html">get_mars_data</a></li>
<li><a href="install.html">install</a></li>
<li><a href="prepare_flexpart.html">prepare_flexpart</a></li>
<li><a href="submit.html">submit</a></li>
<li><a href="tools.html">tools</a></li> <li><a href="tools.html">tools</a></li>
</ul> </ul>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -4,3 +4,12 @@ Downloads ...@@ -4,3 +4,12 @@ Downloads
Describe download options of flex_extract .... Describe download options of flex_extract ....
UNDER CONSTRUCTION UNDER CONSTRUCTION
.. toctree::
:hidden:
:maxdepth: 2
downloads/tar_balls
downloads/git_repo
downloads/history_changes
\ No newline at end of file
Git Repository
==============
UNDER CONSTRUCTION
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment