Changeset - 3378805b80ee
doc/build/html/README.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>The Accounting API &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    './',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="index.html" />
 
    <link rel="next" title="accounting package" href="api/accounting.html" />
 
    <link rel="next" title="REST API" href="restapi.html" />
 
    <link rel="prev" title="Welcome to Accounting API’s documentation!" href="index.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="api/accounting.html" title="accounting package"
 
          <a href="http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="restapi.html" title="REST API"
 
             accesskey="N">next</a> |</li>
 
        <li class="right" >
 
          <a href="index.html" title="Welcome to Accounting API’s documentation!"
 
             accesskey="P">previous</a> |</li>
 
        <li><a href="index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <div class="section" id="the-accounting-api">
 
<h1>The Accounting API<a class="headerlink" href="#the-accounting-api" title="Permalink to this headline">¶</a></h1>
 
<div class="section" id="dependencies">
 
<h2>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this headline">¶</a></h2>
 
<ul class="simple">
 
<li>Python &gt;=3.3</li>
 
<li>ledger version 3 (I have not tried with version 2.x)</li>
 
<li>Python packages: Flask, etc. (install by running <tt class="docutils literal"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-r</span>
 
<span class="pre">requirements.txt</span></tt>)</li>
 
</ul>
 
<div class="section" id="gtk-client-dependencies">
 
<h3>GTK Client Dependencies<a class="headerlink" href="#gtk-client-dependencies" title="Permalink to this headline">¶</a></h3>
 
<p>To run the GTK client you need to have <tt class="docutils literal"><span class="pre">gi.repository</span></tt> avaiable in the python
 
environment, this means that if you use virtualenv to install the dependencies
 
of accounting-api you need to set it up with the <tt class="docutils literal"><span class="pre">--system-site-packages</span></tt>
 
flag.</p>
 
</div>
 
</div>
 
<div class="section" id="installation-i-e-development-setup">
 
<h2>Installation (i.e. Development Setup)<a class="headerlink" href="#installation-i-e-development-setup" title="Permalink to this headline">¶</a></h2>
 
<p>accounting-api does not yet have a method for end-user installation. This
 
section describes how you would set up accounting-api for development purposes,
 
which can also be used as an environment to try out the functionality of
 
accounting-api.</p>
 
<p>See the sections below on how to install the dependencies. Then run the
 
following in your shell.</p>
 
<div class="highlight-bash"><div class="highlight"><pre><span class="c"># Get the source code</span>
 
git clone git://gitorious.org/conservancy/accounting-api.git
 
<span class="nb">cd </span>accounting-api
 

	
 
<span class="c"># Set up the python 3.3 virtualenv (this will make the GTK client not work)</span>
 
mkvirtualenv -p /usr/bin/python3.3 accounting-api
 
<span class="c"># OR If you want the GTK client to work</span>
 
mkvirtualenv -p /usr/bin/python3.3 --system-site-packages accounting-api
 

	
 
<span class="c"># If your terminal prompt does not say &quot;(accounting-api)&quot;, run</span>
 
workon accounting-api
 

	
 
<span class="c"># Install the python packages</span>
 
pip-3.3 install -r requirements.txt
 
</pre></div>
 
</div>
 
<p>If all went well, head to <a class="reference internal" href="#usage"><em>Usage</em></a>. If not, head to the channel <tt class="docutils literal"><span class="pre">#npoacct</span></tt>
 
on <tt class="docutils literal"><span class="pre">irc.freenode.net</span></tt>.</p>
 
<div class="section" id="ubuntu">
 
<h3>Ubuntu<a class="headerlink" href="#ubuntu" title="Permalink to this headline">¶</a></h3>
 
<div class="highlight-bash"><div class="highlight"><pre><span class="c"># git python 3.3 and virtualenvwrapper</span>
 
sudo apt-get install git-core python3.3 virtualenvwrapper
 

	
 
<span class="c"># ledger 3</span>
 
sudo apt-add-repository ppa:mbudde/ledger
 
sudo apt-get update
 
sudo apt-get install ledger
 
</pre></div>
 
</div>
 
</div>
 
</div>
 
<div class="section" id="usage">
 
<span id="id1"></span><h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2>
 
<div class="highlight-bash"><div class="highlight"><pre><span class="c"># Run the web service</span>
 
<span class="nv">LEDGER_FILE</span><span class="o">=</span>../path/to/your.ledger ./bin/serve
 

	
 
<span class="c"># Get a balance report via the web service</span>
 
./bin/client balance
 

	
 
<span class="c"># Get the transaction log</span>
 
./bin/client register
 

	
 
<span class="c"># Insert a simple transaction, currency will be autodetected from your</span>
 
<span class="c"># locale, for another currency, use ``--symbol USD``</span>
 
./bin/client insert <span class="s2">&quot;January rent&quot;</span> Assets:Checking Expenses:Rent 654.32
 
</pre></div>
 
</div>
 
</div>
 
</div>
 

	
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
  <h3><a href="index.html">Table Of Contents</a></h3>
 
  <ul>
 
<li><a class="reference internal" href="#">The Accounting API</a><ul>
 
<li><a class="reference internal" href="#dependencies">Dependencies</a><ul>
 
<li><a class="reference internal" href="#gtk-client-dependencies">GTK Client Dependencies</a></li>
 
</ul>
 
</li>
 
<li><a class="reference internal" href="#installation-i-e-development-setup">Installation (i.e. Development Setup)</a><ul>
 
<li><a class="reference internal" href="#ubuntu">Ubuntu</a></li>
 
</ul>
 
</li>
 
<li><a class="reference internal" href="#usage">Usage</a></li>
 
</ul>
 
</li>
 
</ul>
 

	
 
  <h4>Previous topic</h4>
 
  <p class="topless"><a href="index.html"
 
                        title="previous chapter">Welcome to Accounting API&#8217;s documentation!</a></p>
 
  <h4>Next topic</h4>
 
  <p class="topless"><a href="api/accounting.html"
 
                        title="next chapter">accounting package</a></p>
 
  <p class="topless"><a href="restapi.html"
 
                        title="next chapter">REST API</a></p>
 
  <h3>This Page</h3>
 
  <ul class="this-page-menu">
 
    <li><a href="_sources/README.txt"
 
           rel="nofollow">Show Source</a></li>
 
  </ul>
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="api/accounting.html" title="accounting package"
 
          <a href="http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="restapi.html" title="REST API"
 
             >next</a> |</li>
 
        <li class="right" >
 
          <a href="index.html" title="Welcome to Accounting API’s documentation!"
 
             >previous</a> |</li>
 
        <li><a href="index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../index.html" />
 
    <link rel="up" title="Module code" href="index.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="index.html" accesskey="U">Module code</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting</h1><div class="highlight"><pre>
 
<span class="kn">import</span> <span class="nn">sys</span>
 
<span class="kn">import</span> <span class="nn">subprocess</span>
 
<span class="kn">import</span> <span class="nn">logging</span>
 
<span class="kn">import</span> <span class="nn">time</span>
 

	
 
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
 
<span class="kn">from</span> <span class="nn">xml.etree</span> <span class="kn">import</span> <span class="n">ElementTree</span>
 
<span class="kn">from</span> <span class="nn">contextlib</span> <span class="kn">import</span> <span class="n">contextmanager</span>
 

	
 
<span class="kn">from</span> <span class="nn">accounting.models</span> <span class="kn">import</span> <span class="n">Account</span><span class="p">,</span> <span class="n">Transaction</span><span class="p">,</span> <span class="n">Posting</span><span class="p">,</span> <span class="n">Amount</span>
 

	
 
<span class="n">_log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="n">__name__</span><span class="p">)</span>
 

	
 
<div class="viewcode-block" id="Ledger"><a class="viewcode-back" href="../api/accounting.html#accounting.Ledger">[docs]</a><span class="k">class</span> <span class="nc">Ledger</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">ledger_file</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">ledger_bin</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
        <span class="k">if</span> <span class="n">ledger_file</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
 
            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">&#39;ledger_file cannot be None&#39;</span><span class="p">)</span>
 

	
 
        <span class="bp">self</span><span class="o">.</span><span class="n">ledger_bin</span> <span class="o">=</span> <span class="n">ledger_bin</span> <span class="ow">or</span> <span class="s">&#39;ledger&#39;</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">ledger_file</span> <span class="o">=</span> <span class="n">ledger_file</span>
 
        <span class="n">_log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&#39;ledger file: </span><span class="si">%s</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">ledger_file</span><span class="p">)</span>
 

	
 
        <span class="bp">self</span><span class="o">.</span><span class="n">locked</span> <span class="o">=</span> <span class="bp">False</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">ledger_process</span> <span class="o">=</span> <span class="bp">None</span>
 

	
 
    <span class="nd">@contextmanager</span>
 
<div class="viewcode-block" id="Ledger.locked_process"><a class="viewcode-back" href="../api/accounting.html#accounting.Ledger.locked_process">[docs]</a>    <span class="k">def</span> <span class="nf">locked_process</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="sd">r&#39;&#39;&#39;</span>
 
<span class="sd">        Context manager that checks that the ledger process is not already</span>
 
<span class="sd">        locked, then &quot;locks&quot; the process and yields the process handle and</span>
 
<span class="sd">        unlocks the process when execution is returned.</span>
 

	
 
<span class="sd">        Since this decorated as a :func:`contextlib.contextmanager` the</span>
 
<span class="sd">        recommended use is with the ``with``-statement.</span>
 

	
 
<span class="sd">        .. code-block:: python</span>
 

	
 
<span class="sd">            with self.locked_process() as p:</span>
 
<span class="sd">                p.stdin.write(b&#39;bal\n&#39;)</span>
 

	
 
<span class="sd">                output = self.read_until_prompt(p)</span>
 

	
 
<span class="sd">        &#39;&#39;&#39;</span>
 
        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">locked</span><span class="p">:</span>
 
            <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&#39;The process has already been locked,&#39;</span>
 
                               <span class="s">&#39; something</span><span class="se">\&#39;</span><span class="s">s out of order.&#39;</span><span class="p">)</span>
 

	
 
            <span class="c"># XXX: This code has no purpose in a single-threaded process</span>
 
            <span class="n">timeout</span> <span class="o">=</span> <span class="mi">5</span>  <span class="c"># Seconds</span>
 

	
...
 
@@ -336,77 +339,80 @@
 
                    <span class="n">value</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="s">&#39;./string&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">text</span>
 

	
 
                    <span class="n">_log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;metadata: </span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
 

	
 
                    <span class="n">metadata</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">value</span><span class="p">})</span>
 

	
 
            <span class="c"># Add a Transaction instance to the list</span>
 
            <span class="n">entries</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
 
                <span class="n">Transaction</span><span class="p">(</span><span class="n">date</span><span class="o">=</span><span class="n">date</span><span class="p">,</span> <span class="n">payee</span><span class="o">=</span><span class="n">payee</span><span class="p">,</span> <span class="n">postings</span><span class="o">=</span><span class="n">postings</span><span class="p">,</span>
 
                            <span class="n">metadata</span><span class="o">=</span><span class="n">metadata</span><span class="p">))</span>
 

	
 
        <span class="k">return</span> <span class="n">entries</span>
 

	
 
</div></div>
 
<div class="viewcode-block" id="main"><a class="viewcode-back" href="../api/accounting.html#accounting.main">[docs]</a><span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">argv</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
    <span class="kn">import</span> <span class="nn">argparse</span>
 
    <span class="k">if</span> <span class="n">argv</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
 
        <span class="n">argv</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span>
 

	
 
    <span class="n">parser</span> <span class="o">=</span> <span class="n">argparse</span><span class="o">.</span><span class="n">ArgumentParser</span><span class="p">()</span>
 
    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s">&#39;-v&#39;</span><span class="p">,</span> <span class="s">&#39;--verbosity&#39;</span><span class="p">,</span>
 
                        <span class="n">default</span><span class="o">=</span><span class="s">&#39;INFO&#39;</span><span class="p">,</span>
 
                        <span class="n">help</span><span class="o">=</span><span class="p">(</span><span class="s">&#39;Filter logging output. Possible values:&#39;</span> <span class="o">+</span>
 
                        <span class="s">&#39; CRITICAL, ERROR, WARNING, INFO, DEBUG&#39;</span><span class="p">))</span>
 

	
 
    <span class="n">args</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
 
    <span class="n">logging</span><span class="o">.</span><span class="n">basicConfig</span><span class="p">(</span><span class="n">level</span><span class="o">=</span><span class="nb">getattr</span><span class="p">(</span><span class="n">logging</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">verbosity</span><span class="p">,</span> <span class="s">&#39;INFO&#39;</span><span class="p">))</span>
 
    <span class="n">ledger</span> <span class="o">=</span> <span class="n">Ledger</span><span class="p">(</span><span class="n">ledger_file</span><span class="o">=</span><span class="s">&#39;non-profit-test-data.ledger&#39;</span><span class="p">)</span>
 
    <span class="k">print</span><span class="p">(</span><span class="n">ledger</span><span class="o">.</span><span class="n">bal</span><span class="p">())</span>
 
    <span class="k">print</span><span class="p">(</span><span class="n">ledger</span><span class="o">.</span><span class="n">reg</span><span class="p">())</span>
 

	
 
</div>
 
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
 
    <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="n">main</span><span class="p">())</span>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="index.html" >Module code</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/client.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.client &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../index.html" />
 
    <link rel="up" title="accounting" href="../accounting.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" accesskey="U">accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.client</h1><div class="highlight"><pre>
 
<span class="kn">import</span> <span class="nn">sys</span>
 
<span class="kn">import</span> <span class="nn">argparse</span>
 
<span class="kn">import</span> <span class="nn">json</span>
 
<span class="kn">import</span> <span class="nn">logging</span>
 

	
 
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
 
<span class="kn">from</span> <span class="nn">decimal</span> <span class="kn">import</span> <span class="n">Decimal</span>
 

	
 
<span class="kn">import</span> <span class="nn">requests</span>
 

	
 
<span class="kn">from</span> <span class="nn">accounting.models</span> <span class="kn">import</span> <span class="n">Transaction</span><span class="p">,</span> <span class="n">Posting</span><span class="p">,</span> <span class="n">Amount</span>
 
<span class="kn">from</span> <span class="nn">accounting.transport</span> <span class="kn">import</span> <span class="n">AccountingDecoder</span><span class="p">,</span> <span class="n">AccountingEncoder</span>
 

	
 
<span class="n">_log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="n">__name__</span><span class="p">)</span>
 

	
 

	
 
<div class="viewcode-block" id="Client"><a class="viewcode-back" href="../../api/accounting.html#accounting.client.Client">[docs]</a><span class="k">class</span> <span class="nc">Client</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">host</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">json_encoder</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
 
                 <span class="n">json_decoder</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">host</span> <span class="o">=</span> <span class="n">host</span> <span class="ow">or</span> <span class="s">&#39;http://localhost:5000&#39;</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">json_encoder</span> <span class="o">=</span> <span class="n">json_encoder</span> <span class="ow">or</span> <span class="n">AccountingEncoder</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">json_decoder</span> <span class="o">=</span> <span class="n">json_decoder</span> <span class="ow">or</span> <span class="n">AccountingDecoder</span>
 

	
 
<div class="viewcode-block" id="Client.get_balance"><a class="viewcode-back" href="../../api/accounting.html#accounting.client.Client.get_balance">[docs]</a>    <span class="k">def</span> <span class="nf">get_balance</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="n">balance</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;/balance&#39;</span><span class="p">)</span>
 
        <span class="k">return</span> <span class="n">balance</span><span class="p">[</span><span class="s">&#39;balance_report&#39;</span><span class="p">]</span>
 
</div>
 
<div class="viewcode-block" id="Client.get"><a class="viewcode-back" href="../../api/accounting.html#accounting.client.Client.get">[docs]</a>    <span class="k">def</span> <span class="nf">get</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">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">host</span> <span class="o">+</span> <span class="n">path</span><span class="p">)</span>
 

	
 
        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_decode_response</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
 
</div>
 
    <span class="k">def</span> <span class="nf">_decode_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
 
        <span class="n">response_data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">(</span><span class="n">cls</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">json_decoder</span><span class="p">)</span>
 

	
 
        <span class="n">_log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;response_data: </span><span class="si">%s</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">response_data</span><span class="p">)</span>
 

	
 
        <span class="k">return</span> <span class="n">response_data</span>
 

	
 
<div class="viewcode-block" id="Client.post"><a class="viewcode-back" href="../../api/accounting.html#accounting.client.Client.post">[docs]</a>    <span class="k">def</span> <span class="nf">post</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">payload</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
 
        <span class="n">kw</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s">&#39;headers&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s">&#39;Content-Type&#39;</span><span class="p">:</span> <span class="s">&#39;application/json&#39;</span><span class="p">}})</span>
 
        <span class="n">kw</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s">&#39;data&#39;</span><span class="p">:</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">payload</span><span class="p">,</span> <span class="n">cls</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">json_encoder</span><span class="p">)})</span>
 

	
 
        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_decode_response</span><span class="p">(</span><span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">host</span> <span class="o">+</span> <span class="n">path</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">))</span>
 
</div>
 
<div class="viewcode-block" id="Client.simple_transaction"><a class="viewcode-back" href="../../api/accounting.html#accounting.client.Client.simple_transaction">[docs]</a>    <span class="k">def</span> <span class="nf">simple_transaction</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">from_acc</span><span class="p">,</span> <span class="n">to_acc</span><span class="p">,</span> <span class="n">amount</span><span class="p">):</span>
 
        <span class="n">t</span> <span class="o">=</span> <span class="n">Transaction</span><span class="p">(</span>
 
            <span class="n">date</span><span class="o">=</span><span class="n">datetime</span><span class="o">.</span><span class="n">today</span><span class="p">(),</span>
 
            <span class="n">payee</span><span class="o">=</span><span class="s">&#39;PayPal donation&#39;</span><span class="p">,</span>
...
 
@@ -148,78 +151,81 @@
 
    <span class="n">insert</span> <span class="o">=</span> <span class="n">actions</span><span class="o">.</span><span class="n">add_parser</span><span class="p">(</span><span class="s">&#39;insert&#39;</span><span class="p">,</span>
 
                                <span class="n">aliases</span><span class="o">=</span><span class="p">[</span><span class="s">&#39;in&#39;</span><span class="p">])</span>
 
    <span class="n">insert</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s">&#39;from_account&#39;</span><span class="p">)</span>
 
    <span class="n">insert</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s">&#39;to_account&#39;</span><span class="p">)</span>
 
    <span class="n">insert</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s">&#39;amount&#39;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="n">Decimal</span><span class="p">)</span>
 

	
 
    <span class="n">balance</span> <span class="o">=</span> <span class="n">actions</span><span class="o">.</span><span class="n">add_parser</span><span class="p">(</span><span class="s">&#39;balance&#39;</span><span class="p">,</span> <span class="n">aliases</span><span class="o">=</span><span class="p">[</span><span class="s">&#39;bal&#39;</span><span class="p">])</span>
 

	
 
    <span class="n">register</span> <span class="o">=</span> <span class="n">actions</span><span class="o">.</span><span class="n">add_parser</span><span class="p">(</span><span class="s">&#39;register&#39;</span><span class="p">,</span> <span class="n">aliases</span><span class="o">=</span><span class="p">[</span><span class="s">&#39;reg&#39;</span><span class="p">])</span>
 

	
 
    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s">&#39;-v&#39;</span><span class="p">,</span> <span class="s">&#39;--verbosity&#39;</span><span class="p">,</span>
 
                        <span class="n">default</span><span class="o">=</span><span class="s">&#39;WARNING&#39;</span><span class="p">,</span>
 
                        <span class="n">help</span><span class="o">=</span><span class="p">(</span><span class="s">&#39;Filter logging output. Possible values:&#39;</span> <span class="o">+</span>
 
                        <span class="s">&#39; CRITICAL, ERROR, WARNING, INFO, DEBUG&#39;</span><span class="p">))</span>
 
    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s">&#39;--host&#39;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s">&#39;http://localhost:5000&#39;</span><span class="p">)</span>
 

	
 
    <span class="n">args</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">(</span><span class="n">argv</span><span class="p">)</span>
 

	
 
    <span class="n">logging</span><span class="o">.</span><span class="n">basicConfig</span><span class="p">(</span><span class="n">level</span><span class="o">=</span><span class="nb">getattr</span><span class="p">(</span><span class="n">logging</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">verbosity</span><span class="p">))</span>
 

	
 
    <span class="n">client</span> <span class="o">=</span> <span class="n">Client</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">host</span><span class="p">)</span>
 

	
 
    <span class="k">if</span> <span class="n">args</span><span class="o">.</span><span class="n">action</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;insert&#39;</span><span class="p">,</span> <span class="s">&#39;in&#39;</span><span class="p">]:</span>
 
        <span class="k">print</span><span class="p">(</span><span class="n">client</span><span class="o">.</span><span class="n">simple_transaction</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">from_account</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">to_account</span><span class="p">,</span>
 
                                        <span class="n">args</span><span class="o">.</span><span class="n">amount</span><span class="p">))</span>
 
    <span class="k">elif</span> <span class="n">args</span><span class="o">.</span><span class="n">action</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;balance&#39;</span><span class="p">,</span> <span class="s">&#39;bal&#39;</span><span class="p">]:</span>
 
        <span class="n">print_balance_accounts</span><span class="p">(</span><span class="n">client</span><span class="o">.</span><span class="n">get_balance</span><span class="p">())</span>
 
    <span class="k">elif</span> <span class="n">args</span><span class="o">.</span><span class="n">action</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;register&#39;</span><span class="p">,</span> <span class="s">&#39;reg&#39;</span><span class="p">]:</span>
 
        <span class="n">print_transactions</span><span class="p">(</span><span class="n">client</span><span class="o">.</span><span class="n">get_register</span><span class="p">())</span>
 
    <span class="k">else</span><span class="p">:</span>
 
        <span class="n">parser</span><span class="o">.</span><span class="n">print_help</span><span class="p">()</span>
 
</div>
 
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
 
    <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="n">main</span><span class="p">())</span>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" >accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/decorators.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.decorators &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../index.html" />
 
    <link rel="up" title="accounting" href="../accounting.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" accesskey="U">accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.decorators</h1><div class="highlight"><pre>
 
<span class="kn">from</span> <span class="nn">functools</span> <span class="kn">import</span> <span class="n">wraps</span>
 

	
 
<span class="kn">from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">jsonify</span>
 

	
 
<span class="kn">from</span> <span class="nn">accounting.exceptions</span> <span class="kn">import</span> <span class="n">AccountingException</span>
 

	
 

	
 
<div class="viewcode-block" id="jsonify_exceptions"><a class="viewcode-back" href="../../api/accounting.html#accounting.decorators.jsonify_exceptions">[docs]</a><span class="k">def</span> <span class="nf">jsonify_exceptions</span><span class="p">(</span><span class="n">func</span><span class="p">):</span>
 
    <span class="sd">&#39;&#39;&#39;</span>
 
<span class="sd">    Wraps a Flask endpoint and catches any AccountingException-based</span>
 
<span class="sd">    exceptions which are returned to the client as JSON.</span>
 
<span class="sd">    &#39;&#39;&#39;</span>
 
    <span class="nd">@wraps</span><span class="p">(</span><span class="n">func</span><span class="p">)</span>
 
    <span class="k">def</span> <span class="nf">wrapper</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
 
        <span class="k">try</span><span class="p">:</span>
 
            <span class="k">return</span> <span class="n">func</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">)</span>
 
        <span class="k">except</span> <span class="n">AccountingException</span> <span class="k">as</span> <span class="n">exc</span><span class="p">:</span>
 
            <span class="k">return</span> <span class="n">jsonify</span><span class="p">(</span><span class="n">error</span><span class="o">=</span><span class="n">exc</span><span class="p">)</span>
 

	
 
    <span class="k">return</span> <span class="n">wrapper</span></div>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" >accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/exceptions.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.exceptions &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../index.html" />
 
    <link rel="up" title="accounting" href="../accounting.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" accesskey="U">accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.exceptions</h1><div class="highlight"><pre>
 
<div class="viewcode-block" id="AccountingException"><a class="viewcode-back" href="../../api/accounting.html#accounting.exceptions.AccountingException">[docs]</a><span class="k">class</span> <span class="nc">AccountingException</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
 
    <span class="sd">&#39;&#39;&#39;</span>
 
<span class="sd">    Used as a base for exceptions that are returned to the caller via the</span>
 
<span class="sd">    jsonify_exceptions decorator</span>
 
<span class="sd">    &#39;&#39;&#39;</span>
 
    <span class="k">pass</span></div>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" >accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/gtkclient.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.gtkclient &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../index.html" />
 
    <link rel="up" title="accounting" href="../accounting.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" accesskey="U">accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.gtkclient</h1><div class="highlight"><pre>
 
<span class="kn">import</span> <span class="nn">sys</span>
 
<span class="kn">import</span> <span class="nn">logging</span>
 
<span class="kn">import</span> <span class="nn">threading</span>
 
<span class="kn">import</span> <span class="nn">pkg_resources</span>
 

	
 
<span class="kn">from</span> <span class="nn">functools</span> <span class="kn">import</span> <span class="n">wraps</span>
 
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
 

	
 
<span class="kn">from</span> <span class="nn">gi.repository</span> <span class="kn">import</span> <span class="n">Gtk</span>
 
<span class="kn">from</span> <span class="nn">gi.repository</span> <span class="kn">import</span> <span class="n">GLib</span>
 
<span class="kn">from</span> <span class="nn">gi.repository</span> <span class="kn">import</span> <span class="n">GObject</span>
 

	
 
<span class="kn">from</span> <span class="nn">accounting.client</span> <span class="kn">import</span> <span class="n">Client</span>
 

	
 
<span class="n">_log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="n">__name__</span><span class="p">)</span>
 

	
 

	
 
<div class="viewcode-block" id="indicate_activity"><a class="viewcode-back" href="../../api/accounting.html#accounting.gtkclient.indicate_activity">[docs]</a><span class="k">def</span> <span class="nf">indicate_activity</span><span class="p">(</span><span class="n">func_or_str</span><span class="p">):</span>
 
    <span class="n">description</span> <span class="o">=</span> <span class="bp">None</span>
 

	
 
    <span class="k">def</span> <span class="nf">decorator</span><span class="p">(</span><span class="n">func</span><span class="p">):</span>
 
        <span class="nd">@wraps</span><span class="p">(</span><span class="n">func</span><span class="p">)</span>
 
        <span class="k">def</span> <span class="nf">wrapper</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
 
            <span class="bp">self</span><span class="o">.</span><span class="n">status_description</span><span class="o">.</span><span class="n">set_text</span><span class="p">(</span><span class="n">description</span><span class="p">)</span>
 
            <span class="bp">self</span><span class="o">.</span><span class="n">activity_indicator</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
 
            <span class="bp">self</span><span class="o">.</span><span class="n">activity_indicator</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
 

	
 
            <span class="k">return</span> <span class="n">func</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">)</span>
 

	
 
        <span class="k">return</span> <span class="n">wrapper</span>
 

	
 
    <span class="k">if</span> <span class="nb">callable</span><span class="p">(</span><span class="n">func_or_str</span><span class="p">):</span>
 
        <span class="n">description</span> <span class="o">=</span> <span class="s">&#39;Working&#39;</span>
 
        <span class="k">return</span> <span class="n">decorator</span><span class="p">(</span><span class="n">func_or_str</span><span class="p">)</span>
 
    <span class="k">else</span><span class="p">:</span>
 
        <span class="n">description</span> <span class="o">=</span> <span class="n">func_or_str</span>
 
        <span class="k">return</span> <span class="n">decorator</span>
 

	
 
</div>
 
<div class="viewcode-block" id="indicate_activity_done"><a class="viewcode-back" href="../../api/accounting.html#accounting.gtkclient.indicate_activity_done">[docs]</a><span class="k">def</span> <span class="nf">indicate_activity_done</span><span class="p">(</span><span class="n">func</span><span class="p">):</span>
 
    <span class="nd">@wraps</span><span class="p">(</span><span class="n">func</span><span class="p">)</span>
 
    <span class="k">def</span> <span class="nf">wrapper</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">status_description</span><span class="o">.</span><span class="n">set_text</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">activity_indicator</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">activity_indicator</span><span class="o">.</span><span class="n">hide</span><span class="p">()</span>
 

	
 
        <span class="k">return</span> <span class="n">func</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">)</span>
 

	
 
    <span class="k">return</span> <span class="n">wrapper</span>
...
 
@@ -164,78 +167,81 @@
 
<div class="viewcode-block" id="AccountingApplication.on_refresh_transactions_activate"><a class="viewcode-back" href="../../api/accounting.html#accounting.gtkclient.AccountingApplication.on_refresh_transactions_activate">[docs]</a>    <span class="k">def</span> <span class="nf">on_refresh_transactions_activate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
 
        <span class="k">def</span> <span class="nf">load_transactions</span><span class="p">():</span>
 
            <span class="n">transactions</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">get_register</span><span class="p">()</span>
 
            <span class="n">GLib</span><span class="o">.</span><span class="n">idle_add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">on_transactions_loaded</span><span class="p">,</span> <span class="n">transactions</span><span class="p">)</span>
 

	
 
        <span class="n">threading</span><span class="o">.</span><span class="n">Thread</span><span class="p">(</span><span class="n">target</span><span class="o">=</span><span class="n">load_transactions</span><span class="p">)</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
 
</div>
 
    <span class="nd">@indicate_activity_done</span>
 
<div class="viewcode-block" id="AccountingApplication.on_transactions_loaded"><a class="viewcode-back" href="../../api/accounting.html#accounting.gtkclient.AccountingApplication.on_transactions_loaded">[docs]</a>    <span class="k">def</span> <span class="nf">on_transactions_loaded</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">transactions</span><span class="p">):</span>
 
        <span class="n">_log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;transactions: </span><span class="si">%s</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">transactions</span><span class="p">)</span>
 

	
 
        <span class="bp">self</span><span class="o">.</span><span class="n">transaction_data</span> <span class="o">=</span> <span class="n">transactions</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">transaction_store</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span>
 

	
 
        <span class="k">for</span> <span class="n">transaction</span> <span class="ow">in</span> <span class="n">transactions</span><span class="p">:</span>
 
            <span class="bp">self</span><span class="o">.</span><span class="n">transaction_store</span><span class="o">.</span><span class="n">append</span><span class="p">([</span>
 
                <span class="n">transaction</span><span class="o">.</span><span class="n">id</span><span class="p">,</span>
 
                <span class="n">transaction</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s">&#39;%Y-%m-</span><span class="si">%d</span><span class="s">&#39;</span><span class="p">),</span>
 
                <span class="n">transaction</span><span class="o">.</span><span class="n">payee</span>
 
            <span class="p">])</span>
 

	
 
</div></div>
 
<div class="viewcode-block" id="main"><a class="viewcode-back" href="../../api/accounting.html#accounting.gtkclient.main">[docs]</a><span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">argv</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
    <span class="n">logging</span><span class="o">.</span><span class="n">basicConfig</span><span class="p">(</span><span class="n">level</span><span class="o">=</span><span class="n">logging</span><span class="o">.</span><span class="n">DEBUG</span><span class="p">)</span>
 

	
 
    <span class="n">GObject</span><span class="o">.</span><span class="n">threads_init</span><span class="p">()</span>
 

	
 
    <span class="n">accounting</span> <span class="o">=</span> <span class="n">AccountingApplication</span><span class="p">()</span>
 
    <span class="c">#accounting_win.connect(&#39;delete-event&#39;, Gtk.main_quit)</span>
 

	
 
    <span class="n">Gtk</span><span class="o">.</span><span class="n">main</span><span class="p">()</span>
 
</div>
 
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
 
    <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="n">main</span><span class="p">())</span>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" >accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/models.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.models &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../index.html" />
 
    <link rel="up" title="accounting" href="../accounting.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" accesskey="U">accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.models</h1><div class="highlight"><pre>
 
<span class="kn">import</span> <span class="nn">uuid</span>
 
<span class="kn">from</span> <span class="nn">decimal</span> <span class="kn">import</span> <span class="n">Decimal</span>
 

	
 

	
 
<div class="viewcode-block" id="Transaction"><a class="viewcode-back" href="../../api/accounting.html#accounting.models.Transaction">[docs]</a><span class="k">class</span> <span class="nc">Transaction</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">date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">payee</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">postings</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
 
                 <span class="n">_generate_id</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">date</span> <span class="o">=</span> <span class="n">date</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">payee</span> <span class="o">=</span> <span class="n">payee</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">postings</span> <span class="o">=</span> <span class="n">postings</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">metadata</span> <span class="o">=</span> <span class="n">metadata</span> <span class="k">if</span> <span class="n">metadata</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="k">else</span> <span class="p">{}</span>
 

	
 
        <span class="k">if</span> <span class="n">_generate_id</span><span class="p">:</span>
 
            <span class="bp">self</span><span class="o">.</span><span class="n">generate_id</span><span class="p">()</span>
 

	
 
<div class="viewcode-block" id="Transaction.generate_id"><a class="viewcode-back" href="../../api/accounting.html#accounting.models.Transaction.generate_id">[docs]</a>    <span class="k">def</span> <span class="nf">generate_id</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">metadata</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s">&#39;Id&#39;</span><span class="p">:</span> <span class="n">uuid</span><span class="o">.</span><span class="n">uuid4</span><span class="p">()})</span>
 
</div>
 
    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="k">return</span> <span class="p">(</span><span class="s">&#39;&lt;{self.__class__.__name__} {date}&#39;</span> <span class="o">+</span>
 
                <span class="s">&#39; {self.payee} {self.postings}&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
 
                    <span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
 
                    <span class="n">date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s">&#39;%Y-%m-</span><span class="si">%d</span><span class="s">&#39;</span><span class="p">))</span>
 

	
 
</div>
 
<div class="viewcode-block" id="Posting"><a class="viewcode-back" href="../../api/accounting.html#accounting.models.Posting">[docs]</a><span class="k">class</span> <span class="nc">Posting</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">account</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">amount</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">amount</span> <span class="o">=</span> <span class="n">amount</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">metadata</span> <span class="o">=</span> <span class="n">metadata</span> <span class="k">if</span> <span class="n">metadata</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="k">else</span> <span class="p">{}</span>
 

	
 
    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="k">return</span> <span class="p">(</span><span class="s">&#39;&lt;{self.__class__.__name__} &quot;{self.account}&quot;&#39;</span> <span class="o">+</span>
 
                <span class="s">&#39; {self.amount}&gt;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
 

	
 
</div>
 
<div class="viewcode-block" id="Amount"><a class="viewcode-back" href="../../api/accounting.html#accounting.models.Amount">[docs]</a><span class="k">class</span> <span class="nc">Amount</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">amount</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">amount</span> <span class="o">=</span> <span class="n">Decimal</span><span class="p">(</span><span class="n">amount</span><span class="p">)</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">symbol</span> <span class="o">=</span> <span class="n">symbol</span>
 

	
 
    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="k">return</span> <span class="p">(</span><span class="s">&#39;&lt;{self.__class__.__name__} {self.symbol}&#39;</span> <span class="o">+</span>
 
                <span class="s">&#39; {self.amount}&gt;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
 

	
 
</div>
 
<div class="viewcode-block" id="Account"><a class="viewcode-back" href="../../api/accounting.html#accounting.models.Account">[docs]</a><span class="k">class</span> <span class="nc">Account</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">name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">amounts</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">accounts</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">name</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">amounts</span> <span class="o">=</span> <span class="n">amounts</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">accounts</span> <span class="o">=</span> <span class="n">accounts</span>
 

	
 
    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="k">return</span> <span class="p">(</span><span class="s">&#39;&lt;{self.__class__.__name__} &quot;{self.name}&quot; {self.amounts}&#39;</span> <span class="o">+</span>
 
                <span class="s">&#39; {self.accounts}&gt;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span></div>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" >accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/storage.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.storage &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../index.html" />
 
    <link rel="up" title="accounting" href="../accounting.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" accesskey="U">accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.storage</h1><div class="highlight"><pre>
 
<span class="k">class</span> <span class="nc">Storage</span><span class="p">:</span>
 
<div class="viewcode-block" id="Storage"><a class="viewcode-back" href="../../api/accounting.storage.html#accounting.storage.Storage">[docs]</a>    <span class="sd">&#39;&#39;&#39;</span>
 
<span class="sd">    ABC for accounting storage</span>
 
<span class="sd">    &#39;&#39;&#39;</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="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
 
        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
 

	
 
    <span class="k">def</span> <span class="nf">get_transactions</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
 
<div class="viewcode-block" id="Storage.get_transactions"><a class="viewcode-back" href="../../api/accounting.storage.html#accounting.storage.Storage.get_transactions">[docs]</a>        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
 

	
 
    <span class="k">def</span> <span class="nf">get_transaction</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span></div>
 
<div class="viewcode-block" id="Storage.get_transaction"><a class="viewcode-back" href="../../api/accounting.storage.html#accounting.storage.Storage.get_transaction">[docs]</a>        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
 

	
 
    <span class="k">def</span> <span class="nf">get_account</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span></div>
 
<div class="viewcode-block" id="Storage.get_account"><a class="viewcode-back" href="../../api/accounting.storage.html#accounting.storage.Storage.get_account">[docs]</a>        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
 

	
 
    <span class="k">def</span> <span class="nf">get_accounts</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span></div>
 
<div class="viewcode-block" id="Storage.get_accounts"><a class="viewcode-back" href="../../api/accounting.storage.html#accounting.storage.Storage.get_accounts">[docs]</a>        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
 
</pre></div></div></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" >accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/storage/ledgercli.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.storage.ledgercli &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../../index.html" />
 
    <link rel="up" title="accounting.storage" href="../storage.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../../accounting.html" >accounting</a> &raquo;</li>
 
          <li><a href="../storage.html" accesskey="U">accounting.storage</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.storage.ledgercli</h1><div class="highlight"><pre>
 
<span class="kn">import</span> <span class="nn">sys</span>
 
<span class="kn">import</span> <span class="nn">subprocess</span>
 
<span class="kn">import</span> <span class="nn">logging</span>
 
<span class="kn">import</span> <span class="nn">time</span>
 

	
 
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
 
<span class="kn">from</span> <span class="nn">xml.etree</span> <span class="kn">import</span> <span class="n">ElementTree</span>
 
<span class="kn">from</span> <span class="nn">contextlib</span> <span class="kn">import</span> <span class="n">contextmanager</span>
 

	
 
<span class="kn">from</span> <span class="nn">accounting.models</span> <span class="kn">import</span> <span class="n">Account</span><span class="p">,</span> <span class="n">Transaction</span><span class="p">,</span> <span class="n">Posting</span><span class="p">,</span> <span class="n">Amount</span>
 
<span class="kn">from</span> <span class="nn">accounting.storage</span> <span class="kn">import</span> <span class="n">Storage</span>
 

	
 
<span class="n">_log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="n">__name__</span><span class="p">)</span>
 

	
 

	
 
<div class="viewcode-block" id="Ledger"><a class="viewcode-back" href="../../../api/accounting.storage.html#accounting.storage.ledgercli.Ledger">[docs]</a><span class="k">class</span> <span class="nc">Ledger</span><span class="p">(</span><span class="n">Storage</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">app</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">ledger_file</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">ledger_bin</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
        <span class="k">if</span> <span class="n">app</span><span class="p">:</span>
 
            <span class="n">ledger_file</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;LEDGER_FILE&#39;</span><span class="p">]</span>
 

	
 
        <span class="k">if</span> <span class="n">ledger_file</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
 
            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">&#39;ledger_file cannot be None&#39;</span><span class="p">)</span>
 

	
 
        <span class="bp">self</span><span class="o">.</span><span class="n">ledger_bin</span> <span class="o">=</span> <span class="n">ledger_bin</span> <span class="ow">or</span> <span class="s">&#39;ledger&#39;</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">ledger_file</span> <span class="o">=</span> <span class="n">ledger_file</span>
 
        <span class="n">_log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&#39;ledger file: </span><span class="si">%s</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">ledger_file</span><span class="p">)</span>
 

	
 
        <span class="bp">self</span><span class="o">.</span><span class="n">locked</span> <span class="o">=</span> <span class="bp">False</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">ledger_process</span> <span class="o">=</span> <span class="bp">None</span>
 

	
 
    <span class="nd">@contextmanager</span>
 
<div class="viewcode-block" id="Ledger.locked_process"><a class="viewcode-back" href="../../../api/accounting.storage.html#accounting.storage.ledgercli.Ledger.locked_process">[docs]</a>    <span class="k">def</span> <span class="nf">locked_process</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="sd">r&#39;&#39;&#39;</span>
 
<span class="sd">        Context manager that checks that the ledger process is not already</span>
 
<span class="sd">        locked, then &quot;locks&quot; the process and yields the process handle and</span>
 
<span class="sd">        unlocks the process when execution is returned.</span>
 

	
 
<span class="sd">        Since this decorated as a :func:`contextlib.contextmanager` the</span>
 
<span class="sd">        recommended use is with the ``with``-statement.</span>
 

	
 
<span class="sd">        .. code-block:: python</span>
 

	
 
<span class="sd">            with self.locked_process() as p:</span>
 
<span class="sd">                p.stdin.write(b&#39;bal\n&#39;)</span>
 

	
 
<span class="sd">                output = self.read_until_prompt(p)</span>
 

	
 
<span class="sd">        &#39;&#39;&#39;</span>
...
 
@@ -351,79 +354,82 @@
 
                    <span class="n">metadata</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">value</span><span class="p">})</span>
 

	
 
            <span class="c"># Add a Transaction instance to the list</span>
 
            <span class="nb">id</span> <span class="o">=</span> <span class="n">metadata</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s">&#39;Id&#39;</span><span class="p">)</span>
 
            <span class="n">entries</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
 
                <span class="n">Transaction</span><span class="p">(</span><span class="nb">id</span><span class="o">=</span><span class="nb">id</span><span class="p">,</span> <span class="n">date</span><span class="o">=</span><span class="n">date</span><span class="p">,</span> <span class="n">payee</span><span class="o">=</span><span class="n">payee</span><span class="p">,</span> <span class="n">postings</span><span class="o">=</span><span class="n">postings</span><span class="p">,</span>
 
                            <span class="n">metadata</span><span class="o">=</span><span class="n">metadata</span><span class="p">))</span>
 

	
 
        <span class="k">return</span> <span class="n">entries</span>
 
</div>
 
<div class="viewcode-block" id="Ledger.update_transaction"><a class="viewcode-back" href="../../../api/accounting.storage.html#accounting.storage.ledgercli.Ledger.update_transaction">[docs]</a>    <span class="k">def</span> <span class="nf">update_transaction</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">transaction</span><span class="p">):</span>
 
        <span class="n">_log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;DUMMY: Updated transaction: </span><span class="si">%s</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">transaction</span><span class="p">)</span>
 

	
 
</div></div>
 
<div class="viewcode-block" id="main"><a class="viewcode-back" href="../../../api/accounting.storage.html#accounting.storage.ledgercli.main">[docs]</a><span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">argv</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
    <span class="kn">import</span> <span class="nn">argparse</span>
 
    <span class="k">if</span> <span class="n">argv</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
 
        <span class="n">argv</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span>
 

	
 
    <span class="n">parser</span> <span class="o">=</span> <span class="n">argparse</span><span class="o">.</span><span class="n">ArgumentParser</span><span class="p">()</span>
 
    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s">&#39;-v&#39;</span><span class="p">,</span> <span class="s">&#39;--verbosity&#39;</span><span class="p">,</span>
 
                        <span class="n">default</span><span class="o">=</span><span class="s">&#39;INFO&#39;</span><span class="p">,</span>
 
                        <span class="n">help</span><span class="o">=</span><span class="p">(</span><span class="s">&#39;Filter logging output. Possible values:&#39;</span> <span class="o">+</span>
 
                              <span class="s">&#39; CRITICAL, ERROR, WARNING, INFO, DEBUG&#39;</span><span class="p">))</span>
 

	
 
    <span class="n">args</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
 
    <span class="n">logging</span><span class="o">.</span><span class="n">basicConfig</span><span class="p">(</span><span class="n">level</span><span class="o">=</span><span class="nb">getattr</span><span class="p">(</span><span class="n">logging</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">verbosity</span><span class="p">,</span> <span class="s">&#39;INFO&#39;</span><span class="p">))</span>
 
    <span class="n">ledger</span> <span class="o">=</span> <span class="n">Ledger</span><span class="p">(</span><span class="n">ledger_file</span><span class="o">=</span><span class="s">&#39;non-profit-test-data.ledger&#39;</span><span class="p">)</span>
 
    <span class="k">print</span><span class="p">(</span><span class="n">ledger</span><span class="o">.</span><span class="n">bal</span><span class="p">())</span>
 
    <span class="k">print</span><span class="p">(</span><span class="n">ledger</span><span class="o">.</span><span class="n">reg</span><span class="p">())</span>
 

	
 
</div>
 
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
 
    <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="n">main</span><span class="p">())</span>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../../accounting.html" >accounting</a> &raquo;</li>
 
          <li><a href="../storage.html" >accounting.storage</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/storage/sql.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.storage.sql &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../../index.html" />
 
    <link rel="up" title="accounting.storage" href="../storage.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../../accounting.html" >accounting</a> &raquo;</li>
 
          <li><a href="../storage.html" accesskey="U">accounting.storage</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.storage.sql</h1><div class="highlight"><pre>
 
<span class="kn">import</span> <span class="nn">logging</span>
 
<span class="kn">import</span> <span class="nn">json</span>
 

	
 
<span class="kn">from</span> <span class="nn">flask.ext.sqlalchemy</span> <span class="kn">import</span> <span class="n">SQLAlchemy</span>
 

	
 
<span class="kn">from</span> <span class="nn">accounting.exceptions</span> <span class="kn">import</span> <span class="n">AccountingException</span>
 
<span class="kn">from</span> <span class="nn">accounting.storage</span> <span class="kn">import</span> <span class="n">Storage</span>
 
<span class="kn">from</span> <span class="nn">accounting.models</span> <span class="kn">import</span> <span class="n">Transaction</span><span class="p">,</span> <span class="n">Posting</span><span class="p">,</span> <span class="n">Amount</span>
 

	
 
<span class="n">_log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="n">__name__</span><span class="p">)</span>
 
<span class="n">db</span> <span class="o">=</span> <span class="bp">None</span>
 

	
 

	
 
<div class="viewcode-block" id="SQLStorage"><a class="viewcode-back" href="../../../api/accounting.storage.sql.html#accounting.storage.sql.SQLStorage">[docs]</a><span class="k">class</span> <span class="nc">SQLStorage</span><span class="p">(</span><span class="n">Storage</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">app</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
        <span class="k">global</span> <span class="n">db</span>
 

	
 
        <span class="k">if</span> <span class="ow">not</span> <span class="n">app</span><span class="p">:</span>
 
            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s">&#39;Missing app keyword argument&#39;</span><span class="p">)</span>
 

	
 
        <span class="bp">self</span><span class="o">.</span><span class="n">app</span> <span class="o">=</span> <span class="n">app</span>
 
        <span class="n">db</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">db</span> <span class="o">=</span> <span class="n">SQLAlchemy</span><span class="p">(</span><span class="n">app</span><span class="p">)</span>
 

	
 
        <span class="kn">from</span> <span class="nn">.models</span> <span class="kn">import</span> <span class="n">Transaction</span> <span class="k">as</span> <span class="n">SQLTransaction</span><span class="p">,</span> \
 
            <span class="n">Posting</span> <span class="k">as</span> <span class="n">SQLPosting</span><span class="p">,</span> <span class="n">Amount</span> <span class="k">as</span> <span class="n">SQLAmount</span>
 

	
 
        <span class="n">db</span><span class="o">.</span><span class="n">create_all</span><span class="p">()</span>
 

	
 
        <span class="bp">self</span><span class="o">.</span><span class="n">Transaction</span> <span class="o">=</span> <span class="n">SQLTransaction</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">Posting</span> <span class="o">=</span> <span class="n">SQLPosting</span>
 
        <span class="bp">self</span><span class="o">.</span><span class="n">Amount</span> <span class="o">=</span> <span class="n">SQLAmount</span>
 

	
 
<div class="viewcode-block" id="SQLStorage.get_transactions"><a class="viewcode-back" href="../../../api/accounting.storage.sql.html#accounting.storage.sql.SQLStorage.get_transactions">[docs]</a>    <span class="k">def</span> <span class="nf">get_transactions</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
 
        <span class="n">transactions</span> <span class="o">=</span> <span class="p">[]</span>
 

	
 
        <span class="k">for</span> <span class="n">transaction</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">Transaction</span><span class="o">.</span><span class="n">query</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
 
            <span class="n">dict_transaction</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="n">as_dict</span><span class="p">()</span>
 
            <span class="n">dict_postings</span> <span class="o">=</span> <span class="n">dict_transaction</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s">&#39;postings&#39;</span><span class="p">)</span>
 

	
 
            <span class="n">postings</span> <span class="o">=</span> <span class="p">[]</span>
 

	
 
            <span class="k">for</span> <span class="n">dict_posting</span> <span class="ow">in</span> <span class="n">dict_postings</span><span class="p">:</span>
 
                <span class="n">dict_amount</span> <span class="o">=</span> <span class="n">dict_posting</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s">&#39;amount&#39;</span><span class="p">)</span>
 
                <span class="n">posting</span> <span class="o">=</span> <span class="n">Posting</span><span class="p">(</span><span class="o">**</span><span class="n">dict_posting</span><span class="p">)</span>
 
                <span class="n">posting</span><span class="o">.</span><span class="n">amount</span> <span class="o">=</span> <span class="n">Amount</span><span class="p">(</span><span class="o">**</span><span class="n">dict_amount</span><span class="p">)</span>
 

	
 
                <span class="n">postings</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">posting</span><span class="p">)</span>
 

	
...
 
@@ -102,79 +105,82 @@
 
            <span class="n">transactions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Transaction</span><span class="p">(</span><span class="o">**</span><span class="n">dict_transaction</span><span class="p">))</span>
 

	
 
        <span class="k">return</span> <span class="n">transactions</span>
 
</div>
 
<div class="viewcode-block" id="SQLStorage.update_transaction"><a class="viewcode-back" href="../../../api/accounting.storage.sql.html#accounting.storage.sql.SQLStorage.update_transaction">[docs]</a>    <span class="k">def</span> <span class="nf">update_transaction</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">transaction</span><span class="p">):</span>
 
        <span class="k">if</span> <span class="n">transaction</span><span class="o">.</span><span class="n">id</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
 
            <span class="k">raise</span> <span class="n">AccountingException</span><span class="p">(</span><span class="s">&#39;The transaction id must be set for&#39;</span>
 
                                      <span class="s">&#39; update_transaction calls&#39;</span><span class="p">)</span>
 

	
 
        <span class="n">_log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;DUMMY: Update transaction: </span><span class="si">%s</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">transaction</span><span class="p">)</span>
 
</div>
 
<div class="viewcode-block" id="SQLStorage.add_transaction"><a class="viewcode-back" href="../../../api/accounting.storage.sql.html#accounting.storage.sql.SQLStorage.add_transaction">[docs]</a>    <span class="k">def</span> <span class="nf">add_transaction</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">transaction</span><span class="p">):</span>
 
        <span class="k">if</span> <span class="n">transaction</span><span class="o">.</span><span class="n">id</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
 
            <span class="n">transaction</span><span class="o">.</span><span class="n">generate_id</span><span class="p">()</span>
 

	
 
        <span class="n">_t</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Transaction</span><span class="p">()</span>
 
        <span class="n">_t</span><span class="o">.</span><span class="n">uuid</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="n">id</span>
 
        <span class="n">_t</span><span class="o">.</span><span class="n">date</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="n">date</span>
 
        <span class="n">_t</span><span class="o">.</span><span class="n">payee</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="n">payee</span>
 
        <span class="n">_t</span><span class="o">.</span><span class="n">meta</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">transaction</span><span class="o">.</span><span class="n">metadata</span><span class="p">)</span>
 

	
 
        <span class="bp">self</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_t</span><span class="p">)</span>
 

	
 
        <span class="k">for</span> <span class="n">posting</span> <span class="ow">in</span> <span class="n">transaction</span><span class="o">.</span><span class="n">postings</span><span class="p">:</span>
 
            <span class="n">_p</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Posting</span><span class="p">()</span>
 
            <span class="n">_p</span><span class="o">.</span><span class="n">transaction_uuid</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="n">id</span>
 
            <span class="n">_p</span><span class="o">.</span><span class="n">account</span> <span class="o">=</span> <span class="n">posting</span><span class="o">.</span><span class="n">account</span>
 
            <span class="n">_p</span><span class="o">.</span><span class="n">meta</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">posting</span><span class="o">.</span><span class="n">metadata</span><span class="p">)</span>
 
            <span class="n">_p</span><span class="o">.</span><span class="n">amount</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Amount</span><span class="p">(</span><span class="n">symbol</span><span class="o">=</span><span class="n">posting</span><span class="o">.</span><span class="n">amount</span><span class="o">.</span><span class="n">symbol</span><span class="p">,</span>
 
                                    <span class="n">amount</span><span class="o">=</span><span class="n">posting</span><span class="o">.</span><span class="n">amount</span><span class="o">.</span><span class="n">amount</span><span class="p">)</span>
 

	
 
            <span class="bp">self</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_p</span><span class="p">)</span>
 

	
 
        <span class="bp">self</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div></div>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../../accounting.html" >accounting</a> &raquo;</li>
 
          <li><a href="../storage.html" >accounting.storage</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/storage/sql/models.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.storage.sql.models &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../../../index.html" />
 
    <link rel="up" title="accounting.storage.sql" href="../sql.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../../../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../../../accounting.html" >accounting</a> &raquo;</li>
 
          <li><a href="../../storage.html" >accounting.storage</a> &raquo;</li>
 
          <li><a href="../sql.html" accesskey="U">accounting.storage.sql</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.storage.sql.models</h1><div class="highlight"><pre>
 
<span class="kn">import</span> <span class="nn">json</span>
 

	
 
<span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">db</span>
 

	
 

	
 
<div class="viewcode-block" id="Transaction"><a class="viewcode-back" href="../../../../api/accounting.storage.sql.html#accounting.storage.sql.models.Transaction">[docs]</a><span class="k">class</span> <span class="nc">Transaction</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
 
    <span class="nb">id</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
 
    <span class="n">uuid</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">String</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
 
    <span class="n">date</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">DateTime</span><span class="p">)</span>
 
    <span class="n">payee</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">String</span><span class="p">())</span>
 
    <span class="n">meta</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">String</span><span class="p">())</span>
 

	
 
<div class="viewcode-block" id="Transaction.as_dict"><a class="viewcode-back" href="../../../../api/accounting.storage.sql.html#accounting.storage.sql.models.Transaction.as_dict">[docs]</a>    <span class="k">def</span> <span class="nf">as_dict</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span>
 
            <span class="nb">id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">uuid</span><span class="p">,</span>
 
            <span class="n">date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">date</span><span class="p">,</span>
 
            <span class="n">payee</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">payee</span><span class="p">,</span>
 
            <span class="n">postings</span><span class="o">=</span><span class="p">[</span><span class="n">p</span><span class="o">.</span><span class="n">as_dict</span><span class="p">()</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">postings</span><span class="p">],</span>
 
            <span class="n">metadata</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="bp">self</span><span class="o">.</span><span class="n">meta</span><span class="p">)</span>
 
        <span class="p">)</span>
 

	
 
</div></div>
 
<div class="viewcode-block" id="Posting"><a class="viewcode-back" href="../../../../api/accounting.storage.sql.html#accounting.storage.sql.models.Posting">[docs]</a><span class="k">class</span> <span class="nc">Posting</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
 
    <span class="nb">id</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
 

	
 
    <span class="n">transaction_uuid</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">String</span><span class="p">,</span> <span class="n">db</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s">&#39;transaction.uuid&#39;</span><span class="p">))</span>
 
    <span class="n">transaction</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">relationship</span><span class="p">(</span><span class="s">&#39;Transaction&#39;</span><span class="p">,</span> <span class="n">backref</span><span class="o">=</span><span class="s">&#39;postings&#39;</span><span class="p">)</span>
 

	
 
    <span class="n">account</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">String</span><span class="p">,</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
 

	
 
    <span class="n">amount_id</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">Integer</span><span class="p">,</span> <span class="n">db</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s">&#39;amount.id&#39;</span><span class="p">))</span>
 
    <span class="n">amount</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">relationship</span><span class="p">(</span><span class="s">&#39;Amount&#39;</span><span class="p">)</span>
 

	
 
    <span class="n">meta</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">String</span><span class="p">)</span>
 

	
 
<div class="viewcode-block" id="Posting.as_dict"><a class="viewcode-back" href="../../../../api/accounting.storage.sql.html#accounting.storage.sql.models.Posting.as_dict">[docs]</a>    <span class="k">def</span> <span class="nf">as_dict</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span>
 
            <span class="n">account</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">,</span>
 
            <span class="n">amount</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">amount</span><span class="o">.</span><span class="n">as_dict</span><span class="p">(),</span>
 
            <span class="n">metadata</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="bp">self</span><span class="o">.</span><span class="n">meta</span><span class="p">)</span>
 
        <span class="p">)</span>
 

	
 
</div></div>
 
<div class="viewcode-block" id="Amount"><a class="viewcode-back" href="../../../../api/accounting.storage.sql.html#accounting.storage.sql.models.Amount">[docs]</a><span class="k">class</span> <span class="nc">Amount</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
 
    <span class="nb">id</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
 
    <span class="n">symbol</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">String</span><span class="p">)</span>
 
    <span class="n">amount</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="n">Column</span><span class="p">(</span><span class="n">db</span><span class="o">.</span><span class="n">Numeric</span><span class="p">)</span>
 

	
 
<div class="viewcode-block" id="Amount.as_dict"><a class="viewcode-back" href="../../../../api/accounting.storage.sql.html#accounting.storage.sql.models.Amount.as_dict">[docs]</a>    <span class="k">def</span> <span class="nf">as_dict</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
 
        <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span>
 
            <span class="n">symbol</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">symbol</span><span class="p">,</span>
 
            <span class="n">amount</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">amount</span>
 
        <span class="p">)</span></div></div>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../../../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../../../accounting.html" >accounting</a> &raquo;</li>
 
          <li><a href="../../storage.html" >accounting.storage</a> &raquo;</li>
 
          <li><a href="../sql.html" >accounting.storage.sql</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/transport.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.transport &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../index.html" />
 
    <link rel="up" title="accounting" href="../accounting.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" accesskey="U">accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.transport</h1><div class="highlight"><pre>
 
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
 

	
 
<span class="kn">from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">json</span>
 

	
 
<span class="kn">from</span> <span class="nn">accounting.models</span> <span class="kn">import</span> <span class="n">Amount</span><span class="p">,</span> <span class="n">Transaction</span><span class="p">,</span> <span class="n">Posting</span><span class="p">,</span> <span class="n">Account</span>
 

	
 
<div class="viewcode-block" id="AccountingEncoder"><a class="viewcode-back" href="../../api/accounting.html#accounting.transport.AccountingEncoder">[docs]</a><span class="k">class</span> <span class="nc">AccountingEncoder</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">JSONEncoder</span><span class="p">):</span>
 
<div class="viewcode-block" id="AccountingEncoder.default"><a class="viewcode-back" href="../../api/accounting.html#accounting.transport.AccountingEncoder.default">[docs]</a>    <span class="k">def</span> <span class="nf">default</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">o</span><span class="p">):</span>
 
        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">Account</span><span class="p">):</span>
 
            <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span>
 
                <span class="n">__type__</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span>
 
                <span class="n">name</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
 
                <span class="n">amounts</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">amounts</span><span class="p">,</span>
 
                <span class="n">accounts</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">accounts</span>
 
            <span class="p">)</span>
 
        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">Transaction</span><span class="p">):</span>
 
            <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span>
 
                <span class="n">__type__</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span>
 
                <span class="n">date</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s">&#39;%Y-%m-</span><span class="si">%d</span><span class="s">&#39;</span><span class="p">),</span>
 
                <span class="n">payee</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">payee</span><span class="p">,</span>
 
                <span class="n">postings</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">postings</span><span class="p">,</span>
 
                <span class="n">metadata</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">metadata</span>
 
            <span class="p">)</span>
 
        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">Posting</span><span class="p">):</span>
 
            <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span>
 
                <span class="n">__type__</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span>
 
                <span class="n">account</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">account</span><span class="p">,</span>
 
                <span class="n">amount</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">amount</span><span class="p">,</span>
 
                <span class="n">metadata</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">metadata</span>
 
            <span class="p">)</span>
 
        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">Amount</span><span class="p">):</span>
 
            <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span>
 
                <span class="n">__type__</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span>
 
                <span class="n">amount</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">amount</span><span class="p">),</span>
 
                <span class="n">symbol</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">symbol</span>
 
            <span class="p">)</span>
 
        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="ne">Exception</span><span class="p">):</span>
 
            <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span>
 
                <span class="n">__type__</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span>
 
                <span class="n">args</span><span class="o">=</span><span class="n">o</span><span class="o">.</span><span class="n">args</span>
 
            <span class="p">)</span>
 

	
 
        <span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">JSONEncoder</span><span class="o">.</span><span class="n">default</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">o</span><span class="p">)</span>
 
</div></div>
 
<div class="viewcode-block" id="AccountingDecoder"><a class="viewcode-back" href="../../api/accounting.html#accounting.transport.AccountingDecoder">[docs]</a><span class="k">class</span> <span class="nc">AccountingDecoder</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">JSONDecoder</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">json</span><span class="o">.</span><span class="n">JSONDecoder</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">object_hook</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dict_to_object</span><span class="p">)</span>
 

	
 
<div class="viewcode-block" id="AccountingDecoder.dict_to_object"><a class="viewcode-back" href="../../api/accounting.html#accounting.transport.AccountingDecoder.dict_to_object">[docs]</a>    <span class="k">def</span> <span class="nf">dict_to_object</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">d</span><span class="p">):</span>
 
        <span class="k">if</span> <span class="s">&#39;__type__&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">d</span><span class="p">:</span>
 
            <span class="k">return</span> <span class="n">d</span>
 

	
 
        <span class="n">types</span> <span class="o">=</span> <span class="p">{</span><span class="n">c</span><span class="o">.</span><span class="n">__name__</span> <span class="p">:</span> <span class="n">c</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="p">[</span><span class="n">Amount</span><span class="p">,</span> <span class="n">Transaction</span><span class="p">,</span> <span class="n">Posting</span><span class="p">,</span>
 
                                          <span class="n">Account</span><span class="p">]}</span>
 

	
 
        <span class="n">_type</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s">&#39;__type__&#39;</span><span class="p">)</span>
 

	
 
        <span class="k">if</span> <span class="n">_type</span> <span class="o">==</span> <span class="s">&#39;Transaction&#39;</span><span class="p">:</span>
 
            <span class="n">d</span><span class="p">[</span><span class="s">&#39;date&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">d</span><span class="p">[</span><span class="s">&#39;date&#39;</span><span class="p">],</span> <span class="s">&#39;%Y-%m-</span><span class="si">%d</span><span class="s">&#39;</span><span class="p">)</span>
 

	
 
        <span class="k">return</span> <span class="n">types</span><span class="p">[</span><span class="n">_type</span><span class="p">](</span><span class="o">**</span><span class="n">d</span><span class="p">)</span></div></div>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" >accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/accounting/web.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.web &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../../index.html" />
 
    <link rel="up" title="accounting" href="../accounting.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" accesskey="U">accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>Source code for accounting.web</h1><div class="highlight"><pre>
 
<span class="sd">&#39;&#39;&#39;</span>
 
<span class="sd">This module contains the high-level webservice logic such as the Flask setup</span>
 
<span class="sd">and the Flask endpoints.</span>
 
<span class="sd">&#39;&#39;&#39;</span>
 
<span class="kn">import</span> <span class="nn">sys</span>
 
<span class="kn">import</span> <span class="nn">logging</span>
 
<span class="kn">import</span> <span class="nn">argparse</span>
 

	
 
<span class="kn">from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">Flask</span><span class="p">,</span> <span class="n">jsonify</span><span class="p">,</span> <span class="n">request</span>
 

	
 
<span class="kn">from</span> <span class="nn">accounting</span> <span class="kn">import</span> <span class="n">Ledger</span>
 
<span class="kn">from</span> <span class="nn">accounting.transport</span> <span class="kn">import</span> <span class="n">AccountingEncoder</span><span class="p">,</span> <span class="n">AccountingDecoder</span>
 
<span class="kn">from</span> <span class="nn">accounting.exceptions</span> <span class="kn">import</span> <span class="n">AccountingException</span>
 
<span class="kn">from</span> <span class="nn">accounting.decorators</span> <span class="kn">import</span> <span class="n">jsonify_exceptions</span>
 

	
 

	
 
<span class="n">app</span> <span class="o">=</span> <span class="n">Flask</span><span class="p">(</span><span class="s">&#39;accounting&#39;</span><span class="p">)</span>
 
<span class="n">app</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">from_pyfile</span><span class="p">(</span><span class="s">&#39;config.py&#39;</span><span class="p">)</span>
 

	
 
<span class="n">ledger</span> <span class="o">=</span> <span class="bp">None</span>
 

	
 
<span class="nd">@app.before_request</span>
 
<div class="viewcode-block" id="init_ledger"><a class="viewcode-back" href="../../api/accounting.html#accounting.web.init_ledger">[docs]</a><span class="k">def</span> <span class="nf">init_ledger</span><span class="p">():</span>
 
    <span class="sd">&#39;&#39;&#39;</span>
 
<span class="sd">    :py:meth:`flask.Flask.before_request`-decorated method that initializes an</span>
 
<span class="sd">    :py:class:`accounting.Ledger` object.</span>
 
<span class="sd">    &#39;&#39;&#39;</span>
 
    <span class="k">global</span> <span class="n">ledger</span>
 
    <span class="n">ledger</span> <span class="o">=</span> <span class="n">Ledger</span><span class="p">(</span><span class="n">ledger_file</span><span class="o">=</span><span class="n">app</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;LEDGER_FILE&#39;</span><span class="p">])</span>
 

	
 

	
 
<span class="c"># These will convert output from our internal classes to JSON and back</span></div>
 
<span class="n">app</span><span class="o">.</span><span class="n">json_encoder</span> <span class="o">=</span> <span class="n">AccountingEncoder</span>
 
<span class="n">app</span><span class="o">.</span><span class="n">json_decoder</span> <span class="o">=</span> <span class="n">AccountingDecoder</span>
 

	
 

	
 
<span class="nd">@app.route</span><span class="p">(</span><span class="s">&#39;/&#39;</span><span class="p">)</span>
 
<div class="viewcode-block" id="index"><a class="viewcode-back" href="../../api/accounting.html#accounting.web.index">[docs]</a><span class="k">def</span> <span class="nf">index</span><span class="p">():</span>
 
    <span class="sd">&#39;&#39;&#39; Hello World! &#39;&#39;&#39;</span>
 
    <span class="k">return</span> <span class="s">&#39;Hello World!&#39;</span>
 

	
 
</div>
 
<span class="nd">@app.route</span><span class="p">(</span><span class="s">&#39;/balance&#39;</span><span class="p">)</span>
 
<div class="viewcode-block" id="balance_report"><a class="viewcode-back" href="../../api/accounting.html#accounting.web.balance_report">[docs]</a><span class="k">def</span> <span class="nf">balance_report</span><span class="p">():</span>
 
    <span class="sd">&#39;&#39;&#39;</span>
 
<span class="sd">    Returns the JSON-serialized result of :meth:`accounting.Ledger.bal`</span>
 
<span class="sd">    &#39;&#39;&#39;</span>
 
    <span class="n">report_data</span> <span class="o">=</span> <span class="n">ledger</span><span class="o">.</span><span class="n">bal</span><span class="p">()</span>
 

	
...
 
@@ -215,78 +218,81 @@
 
    <span class="n">app</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;json data: </span><span class="si">%s</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">json</span><span class="p">)</span>
 
    <span class="k">return</span> <span class="n">jsonify</span><span class="p">(</span><span class="n">foo</span><span class="o">=</span><span class="s">&#39;bar&#39;</span><span class="p">)</span>
 

	
 
</div>
 
<span class="nd">@app.route</span><span class="p">(</span><span class="s">&#39;/register&#39;</span><span class="p">)</span>
 
<div class="viewcode-block" id="register_report"><a class="viewcode-back" href="../../api/accounting.html#accounting.web.register_report">[docs]</a><span class="k">def</span> <span class="nf">register_report</span><span class="p">():</span>
 
    <span class="sd">&#39;&#39;&#39;</span>
 
<span class="sd">    Returns the JSON-serialized output of :py:meth:`accounting.Ledger.reg`</span>
 
<span class="sd">    &#39;&#39;&#39;</span>
 
    <span class="n">report_data</span> <span class="o">=</span> <span class="n">ledger</span><span class="o">.</span><span class="n">reg</span><span class="p">()</span>
 

	
 
    <span class="k">return</span> <span class="n">jsonify</span><span class="p">(</span><span class="n">register_report</span><span class="o">=</span><span class="n">report_data</span><span class="p">)</span>
 

	
 
</div>
 
<div class="viewcode-block" id="main"><a class="viewcode-back" href="../../api/accounting.html#accounting.web.main">[docs]</a><span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">argv</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
 
    <span class="n">prog</span> <span class="o">=</span> <span class="n">__name__</span>
 
    <span class="k">if</span> <span class="n">argv</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
 
        <span class="n">prog</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
 
        <span class="n">argv</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
 

	
 
    <span class="n">parser</span> <span class="o">=</span> <span class="n">argparse</span><span class="o">.</span><span class="n">ArgumentParser</span><span class="p">(</span><span class="n">prog</span><span class="o">=</span><span class="n">prog</span><span class="p">)</span>
 
    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s">&#39;-v&#39;</span><span class="p">,</span> <span class="s">&#39;--verbosity&#39;</span><span class="p">,</span>
 
                        <span class="n">default</span><span class="o">=</span><span class="s">&#39;INFO&#39;</span><span class="p">,</span>
 
                        <span class="n">help</span><span class="o">=</span><span class="p">(</span><span class="s">&#39;Filter logging output. Possible values:&#39;</span> <span class="o">+</span>
 
                        <span class="s">&#39; CRITICAL, ERROR, WARNING, INFO, DEBUG&#39;</span><span class="p">))</span>
 

	
 
    <span class="n">args</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">(</span><span class="n">argv</span><span class="p">)</span>
 

	
 
    <span class="n">logging</span><span class="o">.</span><span class="n">basicConfig</span><span class="p">(</span><span class="n">level</span><span class="o">=</span><span class="nb">getattr</span><span class="p">(</span><span class="n">logging</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">verbosity</span><span class="p">,</span> <span class="s">&#39;INFO&#39;</span><span class="p">))</span>
 

	
 
    <span class="n">app</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">app</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;HOST&#39;</span><span class="p">],</span> <span class="n">port</span><span class="o">=</span><span class="n">app</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;PORT&#39;</span><span class="p">])</span>
 
</div>
 
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
 
    <span class="n">main</span><span class="p">()</span>
 
</pre></div>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="../index.html" >Module code</a> &raquo;</li>
 
          <li><a href="../accounting.html" >accounting</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_modules/index.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>Overview: module code &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../index.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <h1>All modules for which code is available</h1>
 
<ul><li><a href="accounting.html">accounting</a></li>
 
<ul><li><a href="accounting/client.html">accounting.client</a></li>
 
<li><a href="accounting/decorators.html">accounting.decorators</a></li>
 
<li><a href="accounting/exceptions.html">accounting.exceptions</a></li>
 
<li><a href="accounting/gtkclient.html">accounting.gtkclient</a></li>
 
<li><a href="accounting/models.html">accounting.models</a></li>
 
<li><a href="accounting/storage.html">accounting.storage</a></li>
 
<ul><li><a href="accounting/storage/ledgercli.html">accounting.storage.ledgercli</a></li>
 
<li><a href="accounting/storage/sql.html">accounting.storage.sql</a></li>
 
<ul><li><a href="accounting/storage/sql/models.html">accounting.storage.sql.models</a></li>
 
</ul></ul><li><a href="accounting/transport.html">accounting.transport</a></li>
 
<li><a href="accounting/web.html">accounting.web</a></li>
 
</ul></ul>
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/_sources/index.txt
Show inline comments
 
.. Accounting API documentation master file, created by
 
   sphinx-quickstart on Thu Dec 12 14:02:01 2013.
 
   You can adapt this file completely to your liking, but it should at least
 
   contain the root `toctree` directive.
 

	
 
Welcome to Accounting API's documentation!
 
==========================================
 

	
 
Contents:
 

	
 
.. toctree::
 
   :maxdepth: 2
 

	
 
   README
 
   restapi
 
   api/accounting.rst
 

	
 

	
 

	
 
Indices and tables
 
==================
 

	
 
* :ref:`genindex`
 
* :ref:`modindex`
 
* :ref:`search`
doc/build/html/_sources/restapi.txt
Show inline comments
 
new file 100644
 
==========
 
 REST API
 
==========
 

	
 
Get transactions
 
----------------
 

	
 
.. http:get:: /transaction
 

	
 
    Get all transactions
 

	
 
    **Example request**
 

	
 
    .. code-block:: http
 

	
 
        GET /transaction HTTP/1.1
 
        Host: accounting.example
 
        Accept: application/json
 

	
 

	
 
    **Example response**
 

	
 
    .. code-block:: http
 

	
 
        HTTP/1.1 200 OK
 
        Content-Type: application/json
 

	
 
        {
 
          "transactions": [
 
            {
 
              "__type__": "Transaction", 
 
              "date": "2010-01-01", 
 
              "id": "Ids can be anything", 
 
              "metadata": {}, 
 
              "payee": "Kindly T. Donor", 
 
              "postings": [
 
                {
 
                  "__type__": "Posting", 
 
                  "account": "Income:Foo:Donation", 
 
                  "amount": {
 
                    "__type__": "Amount", 
 
                    "amount": "-100", 
 
                    "symbol": "$"
 
                  }, 
 
                  "metadata": {
 
                    "Invoice": "Projects/Foo/Invoices/Invoice20100101.pdf"
 
                  }
 
                }, 
 
                {
 
                  "__type__": "Posting", 
 
                  "account": "Assets:Checking", 
 
                  "amount": {
 
                    "__type__": "Amount", 
 
                    "amount": "100", 
 
                    "symbol": "$"
 
                  }, 
 
                  "metadata": {}
 
                }
 
              ]
 
            }, 
 
            {
 
              "__type__": "Transaction", 
 
              "date": "2011-03-15", 
 
              "id": "but mind you if they collide.", 
 
              "metadata": {}, 
 
              "payee": "Another J. Donor", 
 
              "postings": [
 
                {
 
                  "__type__": "Posting", 
 
                  "account": "Income:Foo:Donation", 
 
                  "amount": {
 
                    "__type__": "Amount", 
 
                    "amount": "-400", 
 
                    "symbol": "$"
 
                  }, 
 
                  "metadata": {
 
                    "Approval": "Projects/Foo/earmark-record.txt"
 
                  }
 
                }, 
 
                {
 
                  "__type__": "Posting", 
 
                  "account": "Assets:Checking", 
 
                  "amount": {
 
                    "__type__": "Amount", 
 
                    "amount": "400", 
 
                    "symbol": "$"
 
                  }, 
 
                  "metadata": {}
 
                }
 
              ]
 
            },
 
          ]
 
        }
 

	
 
Add transactions
 
----------------
 

	
 
.. http:post:: /transaction
 

	
 
    :jsonparam array transactions: A list of Transaction objects to add.
 

	
 
    **Example request**
 

	
 
    .. code-block:: http
 

	
 
        POST /transaction HTTP/1.1
 
        Host: accounting.example
 
        Content-Type: application/json
 
        Accept: application/json
 

	
 
        {
 
          "transactions": [
 
            {
 
              "__type__": "Transaction", 
 
              "date": "2010-01-01", 
 
              "id": "Ids can be anything", 
 
              "metadata": {}, 
 
              "payee": "Kindly T. Donor", 
 
              "postings": [
 
                {
 
                  "__type__": "Posting", 
 
                  "account": "Income:Foo:Donation", 
 
                  "amount": {
 
                    "__type__": "Amount", 
 
                    "amount": "-100", 
 
                    "symbol": "$"
 
                  }, 
 
                  "metadata": {
 
                    "Invoice": "Projects/Foo/Invoices/Invoice20100101.pdf"
 
                  }
 
                }, 
 
                {
 
                  "__type__": "Posting", 
 
                  "account": "Assets:Checking", 
 
                  "amount": {
 
                    "__type__": "Amount", 
 
                    "amount": "100", 
 
                    "symbol": "$"
 
                  }, 
 
                  "metadata": {}
 
                }
 
              ]
 
            }, 
 
          ]
 
        }
 

	
 
    **Example response**
 

	
 
    .. code-block:: http
 

	
 
        HTTP/1.1 200 OK
 
        Content-Type: application/json
 

	
 
        {
 
          "status": "OK",
 
          "transaction_ids": [
 
            "Ids can be anything"
 
          ]
 
        }
 

	
 

	
 
Delete a transaction
 
--------------------
 

	
 
.. http:delete:: /transaction/<string:transaction_id>
 

	
 
    Delete the transaction with ID :data:`transaction_id`.
 

	
 
    **Example request**
 

	
 
    .. code-block:: http
 

	
 
        DELETE /transaction/123456 HTTP/1.1
 
        Host: accounting.example
 
        Accept: application/json
 

	
 
    **Example response**
 

	
 
    .. code-block:: http
 

	
 
        HTTP/1.1 200 OK
 
        Content-Type: application/json
 

	
 
        {
 
          "status": "OK"
 
        }
doc/build/html/api/accounting.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting package &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../index.html" />
 
    <link rel="next" title="accounting.storage package" href="accounting.storage.html" />
 
    <link rel="prev" title="The Accounting API" href="../README.html" /> 
 
    <link rel="prev" title="REST API" href="../restapi.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="accounting.storage.html" title="accounting.storage package"
 
             accesskey="N">next</a> |</li>
 
        <li class="right" >
 
          <a href="../README.html" title="The Accounting API"
 
          <a href="../restapi.html" title="REST API"
 
             accesskey="P">previous</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <div class="section" id="accounting-package">
 
<h1>accounting package<a class="headerlink" href="#accounting-package" title="Permalink to this headline">¶</a></h1>
 
<div class="section" id="subpackages">
 
<h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this headline">¶</a></h2>
 
<div class="toctree-wrapper compound">
 
<ul>
 
<li class="toctree-l1"><a class="reference internal" href="accounting.storage.html">accounting.storage package</a><ul>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.storage.html#subpackages">Subpackages</a><ul>
 
<li class="toctree-l3"><a class="reference internal" href="accounting.storage.sql.html">accounting.storage.sql package</a><ul>
 
<li class="toctree-l4"><a class="reference internal" href="accounting.storage.sql.html#submodules">Submodules</a></li>
 
<li class="toctree-l4"><a class="reference internal" href="accounting.storage.sql.html#module-accounting.storage.sql.models">accounting.storage.sql.models module</a></li>
 
<li class="toctree-l4"><a class="reference internal" href="accounting.storage.sql.html#module-accounting.storage.sql">Module contents</a></li>
 
</ul>
 
</li>
 
</ul>
 
</li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.storage.html#submodules">Submodules</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.storage.html#module-accounting.storage.ledgercli">accounting.storage.ledgercli module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.storage.html#module-accounting.storage">Module contents</a></li>
 
</ul>
 
</li>
 
</ul>
 
</div>
 
</div>
 
<div class="section" id="submodules">
 
<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
 
</div>
 
<div class="section" id="module-accounting.client">
 
<span id="accounting-client-module"></span><h2>accounting.client module<a class="headerlink" href="#module-accounting.client" title="Permalink to this headline">¶</a></h2>
 
<dl class="class">
 
<dt id="accounting.client.Client">
 
<em class="property">class </em><tt class="descclassname">accounting.client.</tt><tt class="descname">Client</tt><big>(</big><em>host=None</em>, <em>json_encoder=None</em>, <em>json_decoder=None</em><big>)</big><a class="reference internal" href="../_modules/accounting/client.html#Client"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.client.Client" title="Permalink to this definition">¶</a></dt>
 
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">builtins.object</span></tt></p>
 
<dl class="method">
 
<dt id="accounting.client.Client.get">
 
<tt class="descname">get</tt><big>(</big><em>path</em><big>)</big><a class="reference internal" href="../_modules/accounting/client.html#Client.get"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.client.Client.get" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="method">
 
<dt id="accounting.client.Client.get_balance">
 
<tt class="descname">get_balance</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/accounting/client.html#Client.get_balance"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.client.Client.get_balance" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="method">
 
<dt id="accounting.client.Client.get_register">
 
<tt class="descname">get_register</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/accounting/client.html#Client.get_register"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.client.Client.get_register" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="method">
 
<dt id="accounting.client.Client.post">
 
<tt class="descname">post</tt><big>(</big><em>path</em>, <em>payload</em>, <em>**kw</em><big>)</big><a class="reference internal" href="../_modules/accounting/client.html#Client.post"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.client.Client.post" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="method">
...
 
@@ -317,115 +320,118 @@ the ledger file.</p>
 
          &quot;amount&quot;: {
 
            &quot;__type__&quot;: &quot;Amount&quot;,
 
            &quot;amount&quot;: &quot;-100&quot;,
 
            &quot;symbol&quot;: &quot;$&quot;
 
          }
 
        },
 
        {
 
          &quot;__type__&quot;: &quot;Posting&quot;,
 
          &quot;account&quot;: &quot;Assets:Checking&quot;,
 
          &quot;amount&quot;: {
 
            &quot;__type__&quot;: &quot;Amount&quot;,
 
            &quot;amount&quot;: &quot;100&quot;,
 
            &quot;symbol&quot;: &quot;$&quot;
 
          }
 
        }
 
      ]
 
    }
 
}</pre>
 
</div>
 
<p>becomes:</p>
 
<div class="highlight-python"><pre>2013-01-01 Kindly T. Donor
 
  Income:Foo:Donation                                         $ -100
 
  Assets:Checking                                              $ 100</pre>
 
</div>
 
</dd></dl>
 

	
 
<dl class="function">
 
<dt id="accounting.web.transaction_update">
 
<tt class="descclassname">accounting.web.</tt><tt class="descname">transaction_update</tt><big>(</big><em>transaction_id=None</em><big>)</big><a class="headerlink" href="#accounting.web.transaction_update" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
</div>
 
<div class="section" id="module-accounting">
 
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-accounting" title="Permalink to this headline">¶</a></h2>
 
</div>
 
</div>
 

	
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
  <h3><a href="../index.html">Table Of Contents</a></h3>
 
  <ul>
 
<li><a class="reference internal" href="#">accounting package</a><ul>
 
<li><a class="reference internal" href="#subpackages">Subpackages</a><ul>
 
</ul>
 
</li>
 
<li><a class="reference internal" href="#submodules">Submodules</a></li>
 
<li><a class="reference internal" href="#module-accounting.client">accounting.client module</a></li>
 
<li><a class="reference internal" href="#module-accounting.config">accounting.config module</a></li>
 
<li><a class="reference internal" href="#module-accounting.decorators">accounting.decorators module</a></li>
 
<li><a class="reference internal" href="#module-accounting.exceptions">accounting.exceptions module</a></li>
 
<li><a class="reference internal" href="#module-accounting.gtkclient">accounting.gtkclient module</a></li>
 
<li><a class="reference internal" href="#module-accounting.models">accounting.models module</a></li>
 
<li><a class="reference internal" href="#module-accounting.transport">accounting.transport module</a></li>
 
<li><a class="reference internal" href="#module-accounting.web">accounting.web module</a></li>
 
<li><a class="reference internal" href="#module-accounting">Module contents</a></li>
 
</ul>
 
</li>
 
</ul>
 

	
 
  <h4>Previous topic</h4>
 
  <p class="topless"><a href="../README.html"
 
                        title="previous chapter">The Accounting API</a></p>
 
  <p class="topless"><a href="../restapi.html"
 
                        title="previous chapter">REST API</a></p>
 
  <h4>Next topic</h4>
 
  <p class="topless"><a href="accounting.storage.html"
 
                        title="next chapter">accounting.storage package</a></p>
 
  <h3>This Page</h3>
 
  <ul class="this-page-menu">
 
    <li><a href="../_sources/api/accounting.txt"
 
           rel="nofollow">Show Source</a></li>
 
  </ul>
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="accounting.storage.html" title="accounting.storage package"
 
             >next</a> |</li>
 
        <li class="right" >
 
          <a href="../README.html" title="The Accounting API"
 
          <a href="../restapi.html" title="REST API"
 
             >previous</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/api/accounting.storage.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.storage package &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../index.html" />
 
    <link rel="up" title="accounting package" href="accounting.html" />
 
    <link rel="next" title="accounting.storage.sql package" href="accounting.storage.sql.html" />
 
    <link rel="prev" title="accounting package" href="accounting.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="accounting.storage.sql.html" title="accounting.storage.sql package"
 
             accesskey="N">next</a> |</li>
 
        <li class="right" >
 
          <a href="accounting.html" title="accounting package"
 
             accesskey="P">previous</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="accounting.html" accesskey="U">accounting package</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <div class="section" id="accounting-storage-package">
 
<h1>accounting.storage package<a class="headerlink" href="#accounting-storage-package" title="Permalink to this headline">¶</a></h1>
 
<div class="section" id="subpackages">
 
<h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this headline">¶</a></h2>
 
<div class="toctree-wrapper compound">
 
<ul>
 
<li class="toctree-l1"><a class="reference internal" href="accounting.storage.sql.html">accounting.storage.sql package</a><ul>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.storage.sql.html#submodules">Submodules</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.storage.sql.html#module-accounting.storage.sql.models">accounting.storage.sql.models module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.storage.sql.html#module-accounting.storage.sql">Module contents</a></li>
 
</ul>
 
</li>
 
</ul>
 
</div>
 
</div>
 
<div class="section" id="submodules">
 
<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
 
</div>
 
<div class="section" id="module-accounting.storage.ledgercli">
 
<span id="accounting-storage-ledgercli-module"></span><h2>accounting.storage.ledgercli module<a class="headerlink" href="#module-accounting.storage.ledgercli" title="Permalink to this headline">¶</a></h2>
 
<dl class="class">
 
<dt id="accounting.storage.ledgercli.Ledger">
 
<em class="property">class </em><tt class="descclassname">accounting.storage.ledgercli.</tt><tt class="descname">Ledger</tt><big>(</big><em>app=None</em>, <em>ledger_file=None</em>, <em>ledger_bin=None</em><big>)</big><a class="reference internal" href="../_modules/accounting/storage/ledgercli.html#Ledger"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.storage.ledgercli.Ledger" title="Permalink to this definition">¶</a></dt>
 
<dd><p>Bases: <a class="reference internal" href="#accounting.storage.Storage" title="accounting.storage.Storage"><tt class="xref py py-class docutils literal"><span class="pre">accounting.storage.Storage</span></tt></a></p>
 
<dl class="method">
 
<dt id="accounting.storage.ledgercli.Ledger.add_transaction">
 
<tt class="descname">add_transaction</tt><big>(</big><em>transaction</em><big>)</big><a class="reference internal" href="../_modules/accounting/storage/ledgercli.html#Ledger.add_transaction"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.storage.ledgercli.Ledger.add_transaction" title="Permalink to this definition">¶</a></dt>
 
<dd><p>Writes a transaction to the ledger file by opening it in &#8216;ab&#8217; mode and
 
writing a ledger transaction based on the
 
<a class="reference internal" href="accounting.html#accounting.models.Transaction" title="accounting.models.Transaction"><tt class="xref py py-class docutils literal"><span class="pre">Transaction</span></tt></a> instance in
 
<tt class="xref py py-data docutils literal"><span class="pre">transaction</span></tt>.</p>
 
</dd></dl>
 

	
 
<dl class="method">
 
<dt id="accounting.storage.ledgercli.Ledger.assemble_arguments">
 
<tt class="descname">assemble_arguments</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/accounting/storage/ledgercli.html#Ledger.assemble_arguments"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.storage.ledgercli.Ledger.assemble_arguments" title="Permalink to this definition">¶</a></dt>
 
<dd><p>Returns a list of arguments suitable for <a class="reference external" href="http://docs.python.org/3.3/library/subprocess.html#subprocess.Popen" title="(in Python v3.3)"><tt class="xref py py-class docutils literal"><span class="pre">subprocess.Popen</span></tt></a>
 
based on <tt class="xref py py-attr docutils literal"><span class="pre">self.ledger_bin</span></tt> and <tt class="xref py py-attr docutils literal"><span class="pre">self.ledger_file</span></tt>.</p>
 
</dd></dl>
 

	
 
<dl class="method">
 
<dt id="accounting.storage.ledgercli.Ledger.bal">
 
<tt class="descname">bal</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/accounting/storage/ledgercli.html#Ledger.bal"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.storage.ledgercli.Ledger.bal" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="method">
 
<dt id="accounting.storage.ledgercli.Ledger.delete_transaction">
 
<tt class="descname">delete_transaction</tt><big>(</big><em>transaction_id</em><big>)</big><a class="headerlink" href="#accounting.storage.ledgercli.Ledger.delete_transaction" title="Permalink to this definition">¶</a></dt>
...
 
@@ -248,80 +251,83 @@ the old transaction using <tt class="xref py py-data docutils literal"><span cla
 
<dt id="accounting.storage.TransactionNotFound">
 
<em class="property">exception </em><tt class="descclassname">accounting.storage.</tt><tt class="descname">TransactionNotFound</tt><a class="headerlink" href="#accounting.storage.TransactionNotFound" title="Permalink to this definition">¶</a></dt>
 
<dd><p>Bases: <a class="reference internal" href="accounting.html#accounting.exceptions.AccountingException" title="accounting.exceptions.AccountingException"><tt class="xref py py-class docutils literal"><span class="pre">accounting.exceptions.AccountingException</span></tt></a></p>
 
</dd></dl>
 

	
 
</div>
 
</div>
 

	
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
  <h3><a href="../index.html">Table Of Contents</a></h3>
 
  <ul>
 
<li><a class="reference internal" href="#">accounting.storage package</a><ul>
 
<li><a class="reference internal" href="#subpackages">Subpackages</a><ul>
 
</ul>
 
</li>
 
<li><a class="reference internal" href="#submodules">Submodules</a></li>
 
<li><a class="reference internal" href="#module-accounting.storage.ledgercli">accounting.storage.ledgercli module</a></li>
 
<li><a class="reference internal" href="#module-accounting.storage">Module contents</a></li>
 
</ul>
 
</li>
 
</ul>
 

	
 
  <h4>Previous topic</h4>
 
  <p class="topless"><a href="accounting.html"
 
                        title="previous chapter">accounting package</a></p>
 
  <h4>Next topic</h4>
 
  <p class="topless"><a href="accounting.storage.sql.html"
 
                        title="next chapter">accounting.storage.sql package</a></p>
 
  <h3>This Page</h3>
 
  <ul class="this-page-menu">
 
    <li><a href="../_sources/api/accounting.storage.txt"
 
           rel="nofollow">Show Source</a></li>
 
  </ul>
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="accounting.storage.sql.html" title="accounting.storage.sql package"
 
             >next</a> |</li>
 
        <li class="right" >
 
          <a href="accounting.html" title="accounting package"
 
             >previous</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="accounting.html" >accounting package</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/api/accounting.storage.sql.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting.storage.sql package &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../index.html" />
 
    <link rel="up" title="accounting.storage package" href="accounting.storage.html" />
 
    <link rel="prev" title="accounting.storage package" href="accounting.storage.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="accounting.storage.html" title="accounting.storage package"
 
             accesskey="P">previous</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="accounting.html" >accounting package</a> &raquo;</li>
 
          <li><a href="accounting.storage.html" accesskey="U">accounting.storage package</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <div class="section" id="accounting-storage-sql-package">
 
<h1>accounting.storage.sql package<a class="headerlink" href="#accounting-storage-sql-package" title="Permalink to this headline">¶</a></h1>
 
<div class="section" id="submodules">
 
<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
 
</div>
 
<div class="section" id="module-accounting.storage.sql.models">
 
<span id="accounting-storage-sql-models-module"></span><h2>accounting.storage.sql.models module<a class="headerlink" href="#module-accounting.storage.sql.models" title="Permalink to this headline">¶</a></h2>
 
<dl class="class">
 
<dt id="accounting.storage.sql.models.Amount">
 
<em class="property">class </em><tt class="descclassname">accounting.storage.sql.models.</tt><tt class="descname">Amount</tt><big>(</big><em>**kwargs</em><big>)</big><a class="reference internal" href="../_modules/accounting/storage/sql/models.html#Amount"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.storage.sql.models.Amount" title="Permalink to this definition">¶</a></dt>
 
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">flask_sqlalchemy.Model</span></tt></p>
 
<dl class="attribute">
 
<dt id="accounting.storage.sql.models.Amount.amount">
 
<tt class="descname">amount</tt><a class="headerlink" href="#accounting.storage.sql.models.Amount.amount" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="method">
 
<dt id="accounting.storage.sql.models.Amount.as_dict">
 
<tt class="descname">as_dict</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/accounting/storage/sql/models.html#Amount.as_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.storage.sql.models.Amount.as_dict" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="attribute">
 
<dt id="accounting.storage.sql.models.Amount.id">
 
<tt class="descname">id</tt><a class="headerlink" href="#accounting.storage.sql.models.Amount.id" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="attribute">
 
<dt id="accounting.storage.sql.models.Amount.symbol">
 
<tt class="descname">symbol</tt><a class="headerlink" href="#accounting.storage.sql.models.Amount.symbol" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
</dd></dl>
 

	
 
<dl class="class">
 
<dt id="accounting.storage.sql.models.Posting">
 
<em class="property">class </em><tt class="descclassname">accounting.storage.sql.models.</tt><tt class="descname">Posting</tt><big>(</big><em>**kwargs</em><big>)</big><a class="reference internal" href="../_modules/accounting/storage/sql/models.html#Posting"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.storage.sql.models.Posting" title="Permalink to this definition">¶</a></dt>
 
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">flask_sqlalchemy.Model</span></tt></p>
 
<dl class="attribute">
 
<dt id="accounting.storage.sql.models.Posting.account">
 
<tt class="descname">account</tt><a class="headerlink" href="#accounting.storage.sql.models.Posting.account" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="attribute">
 
<dt id="accounting.storage.sql.models.Posting.amount">
 
<tt class="descname">amount</tt><a class="headerlink" href="#accounting.storage.sql.models.Posting.amount" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="attribute">
 
<dt id="accounting.storage.sql.models.Posting.amount_id">
 
<tt class="descname">amount_id</tt><a class="headerlink" href="#accounting.storage.sql.models.Posting.amount_id" title="Permalink to this definition">¶</a></dt>
...
 
@@ -182,78 +185,81 @@
 
<dt id="accounting.storage.sql.SQLStorage.get_transactions">
 
<tt class="descname">get_transactions</tt><big>(</big><em>*args</em>, <em>**kw</em><big>)</big><a class="reference internal" href="../_modules/accounting/storage/sql.html#SQLStorage.get_transactions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.storage.sql.SQLStorage.get_transactions" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
<dl class="method">
 
<dt id="accounting.storage.sql.SQLStorage.update_transaction">
 
<tt class="descname">update_transaction</tt><big>(</big><em>transaction</em><big>)</big><a class="reference internal" href="../_modules/accounting/storage/sql.html#SQLStorage.update_transaction"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#accounting.storage.sql.SQLStorage.update_transaction" title="Permalink to this definition">¶</a></dt>
 
<dd></dd></dl>
 

	
 
</dd></dl>
 

	
 
</div>
 
</div>
 

	
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
  <h3><a href="../index.html">Table Of Contents</a></h3>
 
  <ul>
 
<li><a class="reference internal" href="#">accounting.storage.sql package</a><ul>
 
<li><a class="reference internal" href="#submodules">Submodules</a></li>
 
<li><a class="reference internal" href="#module-accounting.storage.sql.models">accounting.storage.sql.models module</a></li>
 
<li><a class="reference internal" href="#module-accounting.storage.sql">Module contents</a></li>
 
</ul>
 
</li>
 
</ul>
 

	
 
  <h4>Previous topic</h4>
 
  <p class="topless"><a href="accounting.storage.html"
 
                        title="previous chapter">accounting.storage package</a></p>
 
  <h3>This Page</h3>
 
  <ul class="this-page-menu">
 
    <li><a href="../_sources/api/accounting.storage.sql.txt"
 
           rel="nofollow">Show Source</a></li>
 
  </ul>
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="accounting.storage.html" title="accounting.storage package"
 
             >previous</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li>
 
          <li><a href="accounting.html" >accounting package</a> &raquo;</li>
 
          <li><a href="accounting.storage.html" >accounting.storage package</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/api/modules.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>accounting &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    '../',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="../index.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <div class="section" id="accounting">
 
<h1>accounting<a class="headerlink" href="#accounting" title="Permalink to this headline">¶</a></h1>
 
<div class="toctree-wrapper compound">
 
<ul>
 
<li class="toctree-l1"><a class="reference internal" href="accounting.html">accounting package</a><ul>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#subpackages">Subpackages</a><ul>
 
<li class="toctree-l3"><a class="reference internal" href="accounting.storage.html">accounting.storage package</a><ul>
 
<li class="toctree-l4"><a class="reference internal" href="accounting.storage.html#subpackages">Subpackages</a></li>
 
<li class="toctree-l4"><a class="reference internal" href="accounting.storage.html#submodules">Submodules</a></li>
 
<li class="toctree-l4"><a class="reference internal" href="accounting.storage.html#module-accounting.storage.ledgercli">accounting.storage.ledgercli module</a></li>
 
<li class="toctree-l4"><a class="reference internal" href="accounting.storage.html#module-accounting.storage">Module contents</a></li>
 
</ul>
 
</li>
 
</ul>
 
</li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#submodules">Submodules</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#module-accounting.client">accounting.client module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#module-accounting.config">accounting.config module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#module-accounting.decorators">accounting.decorators module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#module-accounting.exceptions">accounting.exceptions module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#module-accounting.gtkclient">accounting.gtkclient module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#module-accounting.models">accounting.models module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#module-accounting.transport">accounting.transport module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#module-accounting.web">accounting.web module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="accounting.html#module-accounting">Module contents</a></li>
 
</ul>
 
</li>
 
</ul>
 
</div>
 
</div>
 

	
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
  <h3>This Page</h3>
 
  <ul class="this-page-menu">
 
    <li><a href="../_sources/api/modules.txt"
 
           rel="nofollow">Show Source</a></li>
 
  </ul>
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="../search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="../genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="../py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="../http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li><a href="../index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/genindex.html
Show inline comments
 

	
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>Index &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    './',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="index.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="#" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 

	
 
<h1 id="index">Index</h1>
 

	
 
<div class="genindex-jumpbox">
 
 <a href="#A"><strong>A</strong></a>
 
 | <a href="#B"><strong>B</strong></a>
 
 | <a href="#C"><strong>C</strong></a>
 
 | <a href="#D"><strong>D</strong></a>
 
 | <a href="#G"><strong>G</strong></a>
 
 | <a href="#I"><strong>I</strong></a>
 
 | <a href="#J"><strong>J</strong></a>
 
 | <a href="#L"><strong>L</strong></a>
 
 | <a href="#M"><strong>M</strong></a>
 
 | <a href="#O"><strong>O</strong></a>
 
 | <a href="#P"><strong>P</strong></a>
 
 | <a href="#R"><strong>R</strong></a>
 
 | <a href="#S"><strong>S</strong></a>
 
 | <a href="#T"><strong>T</strong></a>
 
 | <a href="#U"><strong>U</strong></a>
 
 
 
</div>
 
<h2 id="A">A</h2>
 
<table style="width: 100%" class="indextable genindextable"><tr>
 
  <td style="width: 33%" valign="top"><dl>
 
      
 
  <dt><a href="api/accounting.storage.sql.html#accounting.storage.sql.models.Posting.account">account (accounting.storage.sql.models.Posting attribute)</a>
 
  </dt>
 

	
 
      
 
  <dt><a href="api/accounting.html#accounting.models.Account">Account (class in accounting.models)</a>
 
  </dt>
 

	
 
      
 
  <dt><a href="api/accounting.html#module-accounting">accounting (module)</a>
 
  </dt>
 

	
 
      
 
  <dt><a href="api/accounting.html#module-accounting.client">accounting.client (module)</a>
 
  </dt>
 

	
 
      
 
  <dt><a href="api/accounting.html#module-accounting.config">accounting.config (module)</a>
 
  </dt>
 

	
 
      
 
  <dt><a href="api/accounting.html#module-accounting.decorators">accounting.decorators (module)</a>
 
  </dt>
 

	
 
      
 
  <dt><a href="api/accounting.html#module-accounting.exceptions">accounting.exceptions (module)</a>
 
  </dt>
 

	
...
 
@@ -578,76 +581,79 @@
 
  </dt>
 

	
 
  </dl></td>
 
</tr></table>
 

	
 
<h2 id="U">U</h2>
 
<table style="width: 100%" class="indextable genindextable"><tr>
 
  <td style="width: 33%" valign="top"><dl>
 
      
 
  <dt><a href="api/accounting.storage.html#accounting.storage.ledgercli.Ledger.update_transaction">update_transaction() (accounting.storage.ledgercli.Ledger method)</a>
 
  </dt>
 

	
 
      <dd><dl>
 
        
 
  <dt><a href="api/accounting.storage.html#accounting.storage.Storage.update_transaction">(accounting.storage.Storage method)</a>
 
  </dt>
 

	
 
        
 
  <dt><a href="api/accounting.storage.sql.html#accounting.storage.sql.SQLStorage.update_transaction">(accounting.storage.sql.SQLStorage method)</a>
 
  </dt>
 

	
 
      </dl></dd>
 
  </dl></td>
 
  <td style="width: 33%" valign="top"><dl>
 
      
 
  <dt><a href="api/accounting.storage.sql.html#accounting.storage.sql.models.Transaction.uuid">uuid (accounting.storage.sql.models.Transaction attribute)</a>
 
  </dt>
 

	
 
  </dl></td>
 
</tr></table>
 

	
 

	
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 

	
 
   
 

	
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="#" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/http-routingtable.html
Show inline comments
 
new file 100644
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>HTTP Routing Table &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    './',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="index.html" />
 
 
 

	
 
    <script type="text/javascript">
 
      DOCUMENTATION_OPTIONS.COLLAPSE_INDEX = true;
 
    </script>
 

	
 

	
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="#" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 

	
 
   <h1>HTTP Routing Table</h1>
 

	
 
   <div class="modindex-jumpbox">
 
   <a href="#cap-/transaction"><strong>/transaction</strong></a>
 
   </div>
 

	
 
   <table class="indextable modindextable" cellspacing="0" cellpadding="2">
 
     <tr class="pcap"><td></td><td>&nbsp;</td><td></td></tr>
 
     <tr class="cap" id="cap-/transaction"><td></td><td>
 
       <strong>/transaction</strong></td><td></td></tr>
 
     <tr>
 
       <td></td>
 
       <td>
 
       <a href="restapi.html#get--transaction"><tt class="xref">GET /transaction</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr>
 
       <td></td>
 
       <td>
 
       <a href="restapi.html#post--transaction"><tt class="xref">POST /transaction</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr>
 
       <td></td>
 
       <td>
 
       <a href="restapi.html#delete--transaction--string-transaction_id-"><tt class="xref">DELETE /transaction/&lt;string:transaction_id&gt;</tt></a></td><td>
 
       <em></em></td></tr>
 
   </table>
 

	
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="#" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/index.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>Welcome to Accounting API’s documentation! &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    './',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="#" />
 
    <link rel="next" title="The Accounting API" href="README.html" /> 
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="README.html" title="The Accounting API"
 
             accesskey="N">next</a> |</li>
 
        <li><a href="#">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 
  <div class="section" id="welcome-to-accounting-api-s-documentation">
 
<h1>Welcome to Accounting API&#8217;s documentation!<a class="headerlink" href="#welcome-to-accounting-api-s-documentation" title="Permalink to this headline">¶</a></h1>
 
<p>Contents:</p>
 
<div class="toctree-wrapper compound">
 
<ul>
 
<li class="toctree-l1"><a class="reference internal" href="README.html">The Accounting API</a><ul>
 
<li class="toctree-l2"><a class="reference internal" href="README.html#dependencies">Dependencies</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="README.html#installation-i-e-development-setup">Installation (i.e. Development Setup)</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="README.html#usage">Usage</a></li>
 
</ul>
 
</li>
 
<li class="toctree-l1"><a class="reference internal" href="restapi.html">REST API</a><ul>
 
<li class="toctree-l2"><a class="reference internal" href="restapi.html#get-transactions">Get transactions</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="restapi.html#add-transactions">Add transactions</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="restapi.html#delete-a-transaction">Delete a transaction</a></li>
 
</ul>
 
</li>
 
<li class="toctree-l1"><a class="reference internal" href="api/accounting.html">accounting package</a><ul>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#subpackages">Subpackages</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#submodules">Submodules</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#module-accounting.client">accounting.client module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#module-accounting.config">accounting.config module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#module-accounting.decorators">accounting.decorators module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#module-accounting.exceptions">accounting.exceptions module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#module-accounting.gtkclient">accounting.gtkclient module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#module-accounting.models">accounting.models module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#module-accounting.transport">accounting.transport module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#module-accounting.web">accounting.web module</a></li>
 
<li class="toctree-l2"><a class="reference internal" href="api/accounting.html#module-accounting">Module contents</a></li>
 
</ul>
 
</li>
 
</ul>
 
</div>
 
</div>
 
<div class="section" id="indices-and-tables">
 
<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h1>
 
<ul class="simple">
 
<li><a class="reference internal" href="genindex.html"><em>Index</em></a></li>
 
<li><a class="reference internal" href="py-modindex.html"><em>Module Index</em></a></li>
 
<li><a class="reference internal" href="search.html"><em>Search Page</em></a></li>
 
</ul>
 
</div>
 

	
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
  <h3><a href="#">Table Of Contents</a></h3>
 
  <ul>
 
<li><a class="reference internal" href="#">Welcome to Accounting API&#8217;s documentation!</a><ul>
 
</ul>
 
</li>
 
<li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li>
 
</ul>
 

	
 
  <h4>Next topic</h4>
 
  <p class="topless"><a href="README.html"
 
                        title="next chapter">The Accounting API</a></p>
 
  <h3>This Page</h3>
 
  <ul class="this-page-menu">
 
    <li><a href="_sources/index.txt"
 
           rel="nofollow">Show Source</a></li>
 
  </ul>
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="py-modindex.html" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li class="right" >
 
          <a href="README.html" title="The Accounting API"
 
             >next</a> |</li>
 
        <li><a href="#">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file
doc/build/html/objects.inv
Show inline comments
 
binary diff not shown
doc/build/html/py-modindex.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

	
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    
 
    <title>Python Module Index &mdash; Accounting API 0.1-beta documentation</title>
 
    
 
    <link rel="stylesheet" href="_static/pydoctheme.css" type="text/css" />
 
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
 
    
 
    <script type="text/javascript">
 
      var DOCUMENTATION_OPTIONS = {
 
        URL_ROOT:    './',
 
        VERSION:     '0.1-beta',
 
        COLLAPSE_INDEX: false,
 
        FILE_SUFFIX: '.html',
 
        HAS_SOURCE:  true
 
      };
 
    </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>
 
    <link rel="top" title="Accounting API 0.1-beta documentation" href="index.html" />
 
 
 

	
 

	
 
  </head>
 
  <body>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="genindex.html" title="General Index"
 
             accesskey="I">index</a></li>
 
        <li class="right" >
 
          <a href="http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="#" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>  
 

	
 
    <div class="document">
 
      <div class="documentwrapper">
 
        <div class="bodywrapper">
 
          <div class="body">
 
            
 

	
 
   <h1>Python Module Index</h1>
 

	
 
   <div class="modindex-jumpbox">
 
   <a href="#cap-a"><strong>a</strong></a>
 
   </div>
 

	
 
   <table class="indextable modindextable" cellspacing="0" cellpadding="2">
 
     <tr class="pcap"><td></td><td>&nbsp;</td><td></td></tr>
 
     <tr class="cap" id="cap-a"><td></td><td>
 
       <strong>a</strong></td><td></td></tr>
 
     <tr>
 
       <td><img src="_static/minus.png" class="toggler"
 
              id="toggle-1" style="display: none" alt="-" /></td>
 
       <td>
 
       <a href="api/accounting.html#module-accounting"><tt class="xref">accounting</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.html#module-accounting.client"><tt class="xref">accounting.client</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.html#module-accounting.config"><tt class="xref">accounting.config</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.html#module-accounting.decorators"><tt class="xref">accounting.decorators</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.html#module-accounting.exceptions"><tt class="xref">accounting.exceptions</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.html#module-accounting.gtkclient"><tt class="xref">accounting.gtkclient</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.html#module-accounting.models"><tt class="xref">accounting.models</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.storage.html#module-accounting.storage"><tt class="xref">accounting.storage</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.storage.html#module-accounting.storage.ledgercli"><tt class="xref">accounting.storage.ledgercli</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.storage.sql.html#module-accounting.storage.sql"><tt class="xref">accounting.storage.sql</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.storage.sql.html#module-accounting.storage.sql.models"><tt class="xref">accounting.storage.sql.models</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.html#module-accounting.transport"><tt class="xref">accounting.transport</tt></a></td><td>
 
       <em></em></td></tr>
 
     <tr class="cg-1">
 
       <td></td>
 
       <td>&nbsp;&nbsp;&nbsp;
 
       <a href="api/accounting.html#module-accounting.web"><tt class="xref">accounting.web</tt></a></td><td>
 
       <em></em></td></tr>
 
   </table>
 

	
 

	
 
          </div>
 
        </div>
 
      </div>
 
      <div class="sphinxsidebar">
 
        <div class="sphinxsidebarwrapper">
 
<div id="searchbox" style="display: none">
 
  <h3>Quick search</h3>
 
    <form class="search" action="search.html" method="get">
 
      <input type="text" name="q" />
 
      <input type="submit" value="Go" />
 
      <input type="hidden" name="check_keywords" value="yes" />
 
      <input type="hidden" name="area" value="default" />
 
    </form>
 
    <p class="searchtip" style="font-size: 90%">
 
    Enter search terms or a module, class or function name.
 
    </p>
 
</div>
 
<script type="text/javascript">$('#searchbox').show(0);</script>
 
        </div>
 
      </div>
 
      <div class="clearer"></div>
 
    </div>
 
    <div class="related">
 
      <h3>Navigation</h3>
 
      <ul>
 
        <li class="right" style="margin-right: 10px">
 
          <a href="genindex.html" title="General Index"
 
             >index</a></li>
 
        <li class="right" >
 
          <a href="http-routingtable.html" title="HTTP Routing Table"
 
             >routing table</a> |</li>
 
        <li class="right" >
 
          <a href="#" title="Python Module Index"
 
             >modules</a> |</li>
 
        <li><a href="index.html">Accounting API 0.1-beta documentation</a> &raquo;</li> 
 
      </ul>
 
    </div>
 
    <div class="footer">
 
        &copy; Copyright 2013, Joar Wandborg.
 
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.
 
    </div>
 
  </body>
 
</html>
...
 
\ No newline at end of file

Changeset was too big and was cut off... Show full diff anyway

0 comments (0 inline, 0 general)