155 lines
8.1 KiB
HTML
155 lines
8.1 KiB
HTML
|
|
<!DOCTYPE html>
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>server — SQLite REST API 0.5 documentation</title>
|
|
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
|
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
|
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
|
<script type="text/javascript" src="../_static/jquery.js"></script>
|
|
<script type="text/javascript" src="../_static/underscore.js"></script>
|
|
<script type="text/javascript" src="../_static/doctools.js"></script>
|
|
<script type="text/javascript" src="../_static/language_data.js"></script>
|
|
<link rel="index" title="Index" href="../genindex.html" />
|
|
<link rel="search" title="Search" href="../search.html" />
|
|
|
|
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
|
|
|
</head><body>
|
|
|
|
|
|
<div class="document">
|
|
<div class="documentwrapper">
|
|
<div class="bodywrapper">
|
|
|
|
|
|
<div class="body" role="main">
|
|
|
|
<h1>Source code for server</h1><div class="highlight"><pre>
|
|
<span></span><span class="ch">#!/usr/bin/python3</span>
|
|
<span class="kn">import</span> <span class="nn">os</span>
|
|
<span class="kn">import</span> <span class="nn">cherrypy</span>
|
|
|
|
<span class="kn">from</span> <span class="nn">modules</span> <span class="k">import</span> <span class="n">index</span><span class="p">,</span> <span class="n">sqlite</span>
|
|
|
|
<span class="n">SCRIPT_PATH</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="vm">__file__</span><span class="p">))</span>
|
|
|
|
|
|
<div class="viewcode-block" id="main_server_loop"><a class="viewcode-back" href="../index.html#server.main_server_loop">[docs]</a><span class="k">def</span> <span class="nf">main_server_loop</span><span class="p">():</span>
|
|
<span class="sd">''' Master http server - the main executable / daemon</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> Contains basic server settings and how the sub-modules</span>
|
|
<span class="sd"> are called and mounted to their respective paths</span>
|
|
|
|
<span class="sd"> Args:</span>
|
|
<span class="sd"> *None*</span>
|
|
|
|
<span class="sd"> Sets:</span>
|
|
<span class="sd"> *server_config*: dict(), updates cherrypy.config</span>
|
|
<span class="sd"> *conf:* dict(), see Cherrypy docs for more</span>
|
|
<span class="sd"> *cherrypy.config:* dict(), see Cherrypy docs for more</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> Returns:</span>
|
|
<span class="sd"> *N/A*</span>
|
|
|
|
<span class="sd"> Raises:</span>
|
|
<span class="sd"> *Exception* If server is unable to start</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> '''</span>
|
|
<span class="n">server_config</span> <span class="o">=</span> <span class="p">{</span>
|
|
<span class="s1">'server.socket_host'</span><span class="p">:</span> <span class="s1">'127.0.0.1'</span><span class="p">,</span>
|
|
<span class="s1">'server.socket_port'</span><span class="p">:</span> <span class="mi">8086</span>
|
|
<span class="p">}</span>
|
|
<span class="n">cherrypy</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">server_config</span><span class="p">)</span>
|
|
<span class="n">conf</span> <span class="o">=</span> <span class="p">{</span>
|
|
<span class="s1">'/'</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="s1">'tools.sessions.on'</span><span class="p">:</span> <span class="kc">False</span>
|
|
<span class="p">},</span>
|
|
<span class="s1">'/static'</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="s1">'tools.staticdir.on'</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
|
<span class="s1">'tools.staticdir.dir'</span><span class="p">:</span> <span class="s1">'./static'</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
|
|
<span class="n">cherrypy</span><span class="o">.</span><span class="n">tree</span><span class="o">.</span><span class="n">mount</span><span class="p">(</span><span class="n">index</span><span class="o">.</span><span class="n">wellcome</span><span class="p">(),</span> <span class="s2">"/"</span><span class="p">,</span> <span class="n">conf</span><span class="p">)</span>
|
|
<span class="n">cherrypy</span><span class="o">.</span><span class="n">tree</span><span class="o">.</span><span class="n">mount</span><span class="p">(</span><span class="n">sqlite</span><span class="o">.</span><span class="n">insert</span><span class="p">(),</span> <span class="s2">"/insert"</span><span class="p">,</span> <span class="n">conf</span><span class="p">)</span>
|
|
<span class="n">cherrypy</span><span class="o">.</span><span class="n">tree</span><span class="o">.</span><span class="n">mount</span><span class="p">(</span><span class="n">sqlite</span><span class="o">.</span><span class="n">select</span><span class="p">(),</span> <span class="s2">"/select"</span><span class="p">,</span> <span class="n">conf</span><span class="p">)</span>
|
|
<span class="n">cherrypy</span><span class="o">.</span><span class="n">tree</span><span class="o">.</span><span class="n">mount</span><span class="p">(</span><span class="n">sqlite</span><span class="o">.</span><span class="n">delete</span><span class="p">(),</span> <span class="s2">"/delete"</span><span class="p">,</span> <span class="n">conf</span><span class="p">)</span>
|
|
<span class="n">cherrypy</span><span class="o">.</span><span class="n">engine</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
|
|
<span class="n">cherrypy</span><span class="o">.</span><span class="n">engine</span><span class="o">.</span><span class="n">block</span><span class="p">()</span></div>
|
|
|
|
|
|
<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s1">'__main__'</span><span class="p">:</span>
|
|
<span class="k">try</span><span class="p">:</span>
|
|
<span class="n">main_server_loop</span><span class="p">()</span>
|
|
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
|
<span class="k">raise</span> <span class="n">e</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
<div class="sphinxsidebarwrapper">
|
|
<h1 class="logo"><a href="../index.html">SQLite REST API</a></h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Navigation</h3>
|
|
|
|
<div class="relations">
|
|
<h3>Related Topics</h3>
|
|
<ul>
|
|
<li><a href="../index.html">Documentation overview</a><ul>
|
|
<li><a href="index.html">Module code</a><ul>
|
|
</ul></li>
|
|
</ul></li>
|
|
</ul>
|
|
</div>
|
|
<div id="searchbox" style="display: none" role="search">
|
|
<h3 id="searchlabel">Quick search</h3>
|
|
<div class="searchformwrapper">
|
|
<form class="search" action="../search.html" method="get">
|
|
<input type="text" name="q" aria-labelledby="searchlabel" />
|
|
<input type="submit" value="Go" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">$('#searchbox').show(0);</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="clearer"></div>
|
|
</div>
|
|
<div class="footer">
|
|
©2019, SpotOn s.r.o.
|
|
|
|
|
|
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.1.0</a>
|
|
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |