/usr/share/doc/python-fudge-doc/html/index.html is in python-fudge-doc 1.1.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 | <!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>Fudge Documentation — Fudge 1.1.0 documentation</title>
<link rel="stylesheet" href="_static/nature.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.1.0',
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="Fudge 1.1.0 documentation" href="#" />
<link rel="next" title="Using Fudge" href="using-fudge.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<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="using-fudge.html" title="Using Fudge"
accesskey="N">next</a> |</li>
<li class="nav-item nav-item-0"><a href="#">Fudge 1.1.0 documentation</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="fudge-documentation">
<h1>Fudge Documentation<a class="headerlink" href="#fudge-documentation" title="Permalink to this headline">¶</a></h1>
<p>Fudge is a Python module for using fake objects (mocks and stubs) to test real ones.</p>
<p>In readable Python code, you declare what methods are available on your fake and how they should be called. Then you inject that into your application and start testing. This declarative approach means you don’t have to record and playback actions and you don’t have to inspect your fakes after running code. If the fake object was used incorrectly then you’ll see an informative exception message with a traceback that points to the culprit.</p>
<p>Fudge was inspired by <a class="reference external" href="http://mocha.rubyforge.org/">Mocha</a> which is a simpler version of <a class="reference external" href="http://www.jmock.org/">jMock</a>. But unlike Mocha, Fudge does not automatically hijack real objects; you explicitly <a class="reference internal" href="using-fudge.html#using-fudge"><span>patch</span></a> them in your test. And unlike jMock, Fudge is only as strict about expectations as you want it to be. If the type of arguments sent to the fake method aren’t important then you don’t have to declare an expectation for them.</p>
<div class="section" id="download-install">
<h2>Download / Install<a class="headerlink" href="#download-install" title="Permalink to this headline">¶</a></h2>
<p>Just type:</p>
<div class="highlight-python"><div class="highlight"><pre>$ pip install fudge
</pre></div>
</div>
<p>You can get the <a class="reference external" href="http://pip.openplans.org/">pip command here</a>. Fudge requires Python 2.5 or higher.</p>
</div>
<div class="section" id="installing-for-python-3">
<span id="install-for-python-3"></span><h2>Installing for Python 3<a class="headerlink" href="#installing-for-python-3" title="Permalink to this headline">¶</a></h2>
<p>As of version 0.9.5, Fudge supports Python 3. Just install <a class="reference external" href="http://packages.python.org/distribute/">distribute</a> and type:</p>
<div class="highlight-python"><div class="highlight"><pre>$ python3.x setup.py install
</pre></div>
</div>
<p>This step will convert the Fudge source code using the 2to3 tool.</p>
</div>
<div class="section" id="source">
<span id="fudge-source"></span><h2>Source<a class="headerlink" href="#source" title="Permalink to this headline">¶</a></h2>
<p>The Fudge source can be downloaded as a tar.gz file from <a class="reference external" href="http://pypi.python.org/pypi/fudge">http://pypi.python.org/pypi/fudge</a></p>
<p>Using <a class="reference external" href="https://git-scm.com/">Git</a> you can clone the source from <a class="reference external" href="https://github.com/fudge-py/fudge/">https://github.com/fudge-py/fudge/</a></p>
<p>Fudge is free and open for usage under the <a class="reference external" href="http://en.wikipedia.org/wiki/MIT_License">MIT license</a>.</p>
</div>
<div class="section" id="contents">
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="using-fudge.html">Using Fudge</a><ul>
<li class="toctree-l2"><a class="reference internal" href="using-fudge.html#fudging-a-web-service">Fudging A Web Service</a></li>
<li class="toctree-l2"><a class="reference internal" href="using-fudge.html#a-simple-test-case">A Simple Test Case</a></li>
<li class="toctree-l2"><a class="reference internal" href="using-fudge.html#fake-objects-without-patches-dependency-injection">Fake objects without patches (dependency injection)</a></li>
<li class="toctree-l2"><a class="reference internal" href="using-fudge.html#stubs-without-expectations">Stubs Without Expectations</a></li>
<li class="toctree-l2"><a class="reference internal" href="using-fudge.html#replacing-a-method">Replacing A Method</a></li>
<li class="toctree-l2"><a class="reference internal" href="using-fudge.html#cascading-objects">Cascading Objects</a></li>
<li class="toctree-l2"><a class="reference internal" href="using-fudge.html#multiple-return-values">Multiple Return Values</a></li>
<li class="toctree-l2"><a class="reference internal" href="using-fudge.html#expecting-a-specific-call-order">Expecting A Specific Call Order</a></li>
<li class="toctree-l2"><a class="reference internal" href="using-fudge.html#allowing-any-call-or-attribute-a-complete-stub">Allowing any call or attribute (a complete stub)</a></li>
<li class="toctree-l2"><a class="reference internal" href="using-fudge.html#working-with-arguments">Working with Arguments</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="javascript.html">Fudge For JavaScript</a><ul>
<li class="toctree-l2"><a class="reference internal" href="javascript.html#install">Install</a></li>
<li class="toctree-l2"><a class="reference internal" href="javascript.html#usage">Usage</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="why-fudge.html">Why Another Mock Framework?</a></li>
<li class="toctree-l1"><a class="reference internal" href="migrating-0.9-to-1.0.html">Migrating from Fudge 0.9 to 1.0</a><ul>
<li class="toctree-l2"><a class="reference internal" href="migrating-0.9-to-1.0.html#the-new-patch-and-test-decorators">The new @patch and @test decorators</a></li>
<li class="toctree-l2"><a class="reference internal" href="migrating-0.9-to-1.0.html#expectations-that-were-declared-in-setup">Expectations that were declared in setup</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="section" id="api-reference">
<span id="fudge-api"></span><h2>API Reference<a class="headerlink" href="#api-reference" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="api/fudge.html">fudge</a></li>
<li class="toctree-l1"><a class="reference internal" href="api/fudge.inspector.html">fudge.inspector</a></li>
<li class="toctree-l1"><a class="reference internal" href="api/fudge.patcher.html">fudge.patcher</a></li>
</ul>
</div>
</div>
<div class="section" id="contributing">
<h2>Contributing<a class="headerlink" href="#contributing" title="Permalink to this headline">¶</a></h2>
<p>Please submit <a class="reference external" href="https://github.com/fudge-py/fudge/issues">bugs and patches</a>, preferably with tests. All contributors will be acknowledged. Thanks!</p>
</div>
<div class="section" id="credits">
<h2>Credits<a class="headerlink" href="#credits" title="Permalink to this headline">¶</a></h2>
<p>Fudge was created by <a class="reference external" href="http://farmdev.com/">Kumar McMillan</a> and contains contributions by Cristian Esquivias, Michael Williamson, Luis Fagundes and Jeremy Satterfield.</p>
</div>
<div class="section" id="changelog">
<span id="fudge-changelog"></span><h2>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>1.1.0<ul>
<li><strong>Changed</strong> <a class="reference external" href="https://github.com/fudge-py/fudge/">moved to github</a> and added maintainers</li>
<li><strong>Changed</strong> remove support for python 3.1 and 3.2 in tests in lieu of 3.4</li>
<li>added <a class="reference internal" href="api/fudge.html#fudge.Fake.has_property" title="fudge.Fake.has_property"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.has_property()</span></code></a></li>
<li>added <code class="xref py py-class docutils literal"><span class="pre">IsInstance</span></code></li>
<li>added <code class="xref py py-func docutils literal"><span class="pre">without_args()</span></code></li>
<li>Deprecation warnings are now real warnings.</li>
</ul>
</li>
<li>1.0.3<ul>
<li>Added <a class="reference internal" href="api/fudge.html#fudge.Fake.is_a_stub" title="fudge.Fake.is_a_stub"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.is_a_stub()</span></code></a> <a class="reference internal" href="using-fudge.html#creating-a-stub"><span>documented here</span></a></li>
<li><a class="reference internal" href="api/fudge.inspector.html#fudge.inspector.ValueInspector.any_value" title="fudge.inspector.ValueInspector.any_value"><code class="xref py py-func docutils literal"><span class="pre">arg.any_value()</span></code></a>
is <strong>DEPRECATED</strong> in favor of
<a class="reference internal" href="api/fudge.inspector.html#fudge.inspector.ValueInspector.any" title="fudge.inspector.ValueInspector.any"><code class="xref py py-func docutils literal"><span class="pre">arg.any()</span></code></a></li>
<li>Attributes declared by <a class="reference internal" href="api/fudge.html#fudge.Fake.has_attr" title="fudge.Fake.has_attr"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.has_attr()</span></code></a> are now settable.
Thanks to Mike Kent for the bug report.</li>
<li>Fixes ImportError when patching certain class methods like
smtplib.SMTP.sendmail</li>
<li>Fixes representation of chained fakes for class instances.</li>
</ul>
</li>
<li>1.0.2<ul>
<li>Object patching is a lot safer in many cases and now supports getter objects
and static methods. Thanks to Michael Foord and mock._patch for ideas and code.</li>
</ul>
</li>
<li>1.0.1<ul>
<li>Fixed ImportError when a patched path traverses object attributes within a module.</li>
</ul>
</li>
<li>1.0.0<ul>
<li>After extensive usage and community input, the fudge interface has
been greatly simplified!</li>
<li>There is now a <a class="reference internal" href="using-fudge.html#using-fudge"><span>way better pattern</span></a> for setting up fakes. The old way is
still supported but you’ll want to write all new code in this pattern once
you see how much easier it is.</li>
<li>Added <a class="reference internal" href="api/fudge.html#fudge.patch" title="fudge.patch"><code class="xref py py-func docutils literal"><span class="pre">fudge.patch()</span></code></a> and <a class="reference internal" href="api/fudge.html#fudge.test" title="fudge.test"><code class="xref py py-func docutils literal"><span class="pre">fudge.test()</span></code></a></li>
<li>Added <a class="reference internal" href="api/fudge.html#fudge.Fake.expects_call" title="fudge.Fake.expects_call"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.expects_call()</span></code></a> and <a class="reference internal" href="api/fudge.html#fudge.Fake.is_callable" title="fudge.Fake.is_callable"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.is_callable()</span></code></a></li>
<li><strong>Changed</strong>: The tests are no longer maintained in Python 2.4 although
Fudge probably still supports 2.4</li>
</ul>
</li>
<li>0.9.6<ul>
<li>Added support to patch builtin modules. Thanks to Luis Fagundes for the
patch.</li>
</ul>
</li>
<li>0.9.5<ul>
<li><strong>Changed</strong>: multiple calls to <a class="reference internal" href="api/fudge.html#fudge.Fake.expects" title="fudge.Fake.expects"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.expects()</span></code></a> behave just like
<a class="reference internal" href="api/fudge.html#fudge.Fake.next_call" title="fudge.Fake.next_call"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.next_call()</span></code></a>. The same goes for <a class="reference internal" href="api/fudge.html#fudge.Fake.provides" title="fudge.Fake.provides"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.provides()</span></code></a>.
You probably won’t need to update any old code for this change, it’s just
a convenience.</li>
<li>Added <a class="reference internal" href="api/fudge.html#fudge.Fake.with_matching_args" title="fudge.Fake.with_matching_args"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.with_matching_args()</span></code></a> so that expected
arguments can be declared more loosely</li>
<li>Added <a class="reference internal" href="#install-for-python-3"><span>support for Python 3</span></a></li>
<li>Improved support for Jython</li>
</ul>
</li>
<li>0.9.4<ul>
<li>Fixed bug where __init__ would always return the Fake instance of itself.
Now you can return a custom object if you want.</li>
</ul>
</li>
<li>0.9.3<ul>
<li>Added <code class="docutils literal"><span class="pre">with_args()</span></code> to <a class="reference internal" href="javascript.html#javascript-fudge"><span>JavaScript Fudge</span></a>.</li>
<li>Fixed bug where argument values that overloaded __eq__ might cause declared expectations to fail (patch from Michael Williamson, Issue 9)</li>
<li>Fixed bug where <a class="reference internal" href="api/fudge.html#fudge.Fake.raises" title="fudge.Fake.raises"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.raises()</span></code></a> obscured <a class="reference internal" href="api/fudge.html#fudge.Fake.with_args" title="fudge.Fake.with_args"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.with_args()</span></code></a> (Issue 6)</li>
<li>Fixed <code class="docutils literal"><span class="pre">returns_fake()</span></code> in JavaScript Fudge.</li>
</ul>
</li>
<li>0.9.2<ul>
<li><strong>Changed</strong>: values in failed comparisons are no longer shortened when too long.</li>
<li><strong>Changed</strong>: <a class="reference internal" href="api/fudge.html#fudge.Fake.calls" title="fudge.Fake.calls"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.calls()</span></code></a> no longer trumps expectations
(i.e. <a class="reference internal" href="api/fudge.html#fudge.Fake.with_args" title="fudge.Fake.with_args"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.with_args()</span></code></a>)</li>
<li><strong>Changed</strong>: <a class="reference internal" href="api/fudge.html#fudge.Fake.with_args" title="fudge.Fake.with_args"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.with_args()</span></code></a> is more strict. You will now see an error
when arguments are not expected yet keyword arguments were expected and vice versa.
This was technically a bug but is listed under
changes in case you need to update your code. Note that you can work
with arguments more expressively using the new <a class="reference internal" href="api/fudge.inspector.html#module-fudge.inspector" title="fudge.inspector"><code class="xref py py-mod docutils literal"><span class="pre">fudge.inspector</span></code></a> functions.</li>
<li>Added <a class="reference internal" href="api/fudge.inspector.html#module-fudge.inspector" title="fudge.inspector"><code class="xref py py-mod docutils literal"><span class="pre">fudge.inspector</span></code></a> for <a class="reference internal" href="using-fudge.html#working-with-arguments"><span>Working with Arguments</span></a>.</li>
<li>Added <a class="reference internal" href="api/fudge.html#fudge.Fake.remember_order" title="fudge.Fake.remember_order"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.remember_order()</span></code></a> so that order of expected calls can be verified.</li>
<li>Added <a class="reference internal" href="api/fudge.html#fudge.Fake.raises" title="fudge.Fake.raises"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.raises()</span></code></a> for simulating exceptions</li>
<li>Added keyword <a class="reference internal" href="api/fudge.html#fudge.Fake.next_call" title="fudge.Fake.next_call"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.next_call(for_method="other_call")</span></code></a>
so that arbitrary methods can be modified (not just the last one).</li>
<li>Fixed: error is raised if you declare multiple <a class="reference internal" href="api/fudge.html#fudge.Fake.provides" title="fudge.Fake.provides"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.provides()</span></code></a> for the same Fake.
This also applies to <a class="reference internal" href="api/fudge.html#fudge.Fake.expects" title="fudge.Fake.expects"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.expects()</span></code></a></li>
<li>Fixed bug where <a class="reference internal" href="api/fudge.html#fudge.Fake.returns" title="fudge.Fake.returns"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.returns()</span></code></a> did not work if you had replaced a call with <a class="reference internal" href="api/fudge.html#fudge.Fake.calls" title="fudge.Fake.calls"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.calls()</span></code></a></li>
<li>Fixed bug in <a class="reference internal" href="api/fudge.html#fudge.Fake.next_call" title="fudge.Fake.next_call"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.next_call()</span></code></a> so that this now works: <code class="docutils literal"><span class="pre">Fake(callable=True).next_call().returns(...)</span></code></li>
<li>Fixed: Improved Python 2.4 compatibility.</li>
<li>Fixed bug where <code class="docutils literal"><span class="pre">from</span> <span class="pre">fudge</span> <span class="pre">import</span> <span class="pre">*</span></code> did not import proper objects.</li>
</ul>
</li>
<li>0.9.1<ul>
<li><strong>DEPRECATED</strong> fudge.start() in favor of <a class="reference internal" href="api/fudge.html#fudge.clear_calls" title="fudge.clear_calls"><code class="xref py py-func docutils literal"><span class="pre">fudge.clear_calls()</span></code></a></li>
<li><strong>DEPRECATED</strong> fudge.stop() in favor of <a class="reference internal" href="api/fudge.html#fudge.verify" title="fudge.verify"><code class="xref py py-func docutils literal"><span class="pre">fudge.verify()</span></code></a></li>
<li>Added context manager <a class="reference internal" href="api/fudge.patcher.html#fudge.patcher.patched_context" title="fudge.patcher.patched_context"><code class="xref py py-func docutils literal"><span class="pre">fudge.patcher.patched_context()</span></code></a> so the with statement can be used for
patching (contributed by Cristian Esquivias)</li>
<li>Added <a class="reference internal" href="api/fudge.html#fudge.Fake.times_called" title="fudge.Fake.times_called"><code class="xref py py-func docutils literal"><span class="pre">fudge.Fake.times_called()</span></code></a> to expect a certain call count (contributed by Cristian Esquivias)</li>
<li>Added <a class="reference internal" href="api/fudge.html#fudge.Fake" title="fudge.Fake"><code class="xref py py-class docutils literal"><span class="pre">Fake(expect_call=True)</span></code></a> to indicate an expected callable. Unlike
<a class="reference internal" href="api/fudge.html#fudge.Fake" title="fudge.Fake"><code class="xref py py-class docutils literal"><span class="pre">Fake(callable=True)</span></code></a> the former will raise an error if not called.</li>
</ul>
</li>
<li>0.9.0<ul>
<li>first release</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="#">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Fudge Documentation</a><ul>
<li><a class="reference internal" href="#download-install">Download / Install</a></li>
<li><a class="reference internal" href="#installing-for-python-3">Installing for Python 3</a></li>
<li><a class="reference internal" href="#source">Source</a></li>
<li><a class="reference internal" href="#contents">Contents</a></li>
<li><a class="reference internal" href="#api-reference">API Reference</a></li>
<li><a class="reference internal" href="#contributing">Contributing</a></li>
<li><a class="reference internal" href="#credits">Credits</a></li>
<li><a class="reference internal" href="#changelog">Changelog</a></li>
</ul>
</li>
</ul>
<h4>Next topic</h4>
<p class="topless"><a href="using-fudge.html"
title="next chapter">Using Fudge</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/index.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<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" role="navigation" aria-label="related navigation">
<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="using-fudge.html" title="Using Fudge"
>next</a> |</li>
<li class="nav-item nav-item-0"><a href="#">Fudge 1.1.0 documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2008, Kumar McMillan.
Last updated on December 30, 2015.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.3.
</div>
</body>
</html>
|