Skip to content

Commit 6c8976b

Browse files
committed
**CI** Formatted code + Updated version number and documentation. [skip ci]
1 parent 5bb0509 commit 6c8976b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+18397
-2
lines changed

docs/.buildinfo

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Sphinx build info version 1
2+
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3+
config: 942eac4452978c75ad93f9b69f5ccc97
4+
tags: 645f666f9bcd5a90fca523b33c5a78b7

docs/.nojekyll

Whitespace-only changes.
Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
<!DOCTYPE html>
2+
<html class="writer-html5" lang="en" >
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>flaskstream2py.flask_request_reader &mdash; flaskstream2py 0.1.0 documentation</title><link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
7+
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
8+
<link rel="stylesheet" href="../../_static/copybutton.css" type="text/css" />
9+
<link rel="stylesheet" href="../../_static/graphviz.css" type="text/css" />
10+
<!--[if lt IE 9]>
11+
<script src="../../_static/js/html5shiv.min.js"></script>
12+
<![endif]-->
13+
<script id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
14+
<script src="../../_static/jquery.js"></script>
15+
<script src="../../_static/underscore.js"></script>
16+
<script src="../../_static/doctools.js"></script>
17+
<script src="../../_static/language_data.js"></script>
18+
<script src="../../_static/toggleprompt.js"></script>
19+
<script src="../../_static/clipboard.min.js"></script>
20+
<script src="../../_static/copybutton.js"></script>
21+
<script src="../../_static/js/theme.js"></script>
22+
<link rel="index" title="Index" href="../../genindex.html" />
23+
<link rel="search" title="Search" href="../../search.html" />
24+
</head>
25+
26+
<body class="wy-body-for-nav">
27+
<div class="wy-grid-for-nav">
28+
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
29+
<div class="wy-side-scroll">
30+
<div class="wy-side-nav-search" >
31+
<a href="../../index.html" class="icon icon-home"> flaskstream2py
32+
</a>
33+
<div role="search">
34+
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
35+
<input type="text" name="q" placeholder="Search docs" />
36+
<input type="hidden" name="check_keywords" value="yes" />
37+
<input type="hidden" name="area" value="default" />
38+
</form>
39+
</div>
40+
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
41+
<p><span class="caption-text">Contents:</span></p>
42+
<ul>
43+
<li class="toctree-l1"><a class="reference internal" href="../../module_docs/flaskstream2py.html">flaskstream2py</a></li>
44+
<li class="toctree-l1"><a class="reference internal" href="../../module_docs/flaskstream2py/flask_request_reader.html">flaskstream2py.flask_request_reader</a></li>
45+
</ul>
46+
47+
</div>
48+
</div>
49+
</nav>
50+
51+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
52+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
53+
<a href="../../index.html">flaskstream2py</a>
54+
</nav>
55+
56+
<div class="wy-nav-content">
57+
<div class="rst-content">
58+
<div role="navigation" aria-label="Page navigation">
59+
<ul class="wy-breadcrumbs">
60+
<li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
61+
<li><a href="../index.html">Module code</a> &raquo;</li>
62+
<li>flaskstream2py.flask_request_reader</li>
63+
<li class="wy-breadcrumbs-aside">
64+
</li>
65+
</ul>
66+
<hr/>
67+
</div>
68+
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
69+
<div itemprop="articleBody">
70+
71+
<h1>Source code for flaskstream2py.flask_request_reader</h1><div class="highlight"><pre>
72+
<span></span><span class="sd">&quot;&quot;&quot;</span>
73+
<span class="sd">FlaskRequest Source</span>
74+
<span class="sd">&quot;&quot;&quot;</span>
75+
76+
<span class="kn">from</span> <span class="nn">stream2py</span> <span class="kn">import</span> <span class="n">SourceReader</span>
77+
78+
79+
<div class="viewcode-block" id="FlaskRequestReader"><a class="viewcode-back" href="../../module_docs/flaskstream2py/flask_request_reader.html#flaskstream2py.flask_request_reader.FlaskRequestReader">[docs]</a><span class="k">class</span> <span class="nc">FlaskRequestReader</span><span class="p">(</span><span class="n">SourceReader</span><span class="p">):</span>
80+
<span class="sd">&quot;&quot;&quot;A source reader that reads from an incoming HTTP request using Flask.</span>
81+
<span class="sd"> Must be instantiated from a Flask request handler function to ensure</span>
82+
<span class="sd"> that the flask.request context is available.</span>
83+
84+
<span class="sd"> &gt;&gt;&gt; from flask import Flask</span>
85+
<span class="sd"> &gt;&gt;&gt; from flaskstream2py.flask_request_reader import FlaskRequestReader</span>
86+
<span class="sd"> &gt;&gt;&gt; app = Flask(__name__)</span>
87+
88+
<span class="sd"> &gt;&gt;&gt; def toy_callback(b: bytes, n_bytes_to_show=10):</span>
89+
<span class="sd"> ... print(f&quot;Read {len(b)} bytes. First five {b[:n_bytes_to_show]}&quot;)</span>
90+
91+
<span class="sd"> &gt;&gt;&gt; @app.route(&#39;/&#39;, methods=[&#39;POST&#39;])</span>
92+
<span class="sd"> ... def handle_stream():</span>
93+
<span class="sd"> ... reader = FlaskRequestReader()</span>
94+
<span class="sd"> ... with reader.open():</span>
95+
<span class="sd"> ... while True:</span>
96+
<span class="sd"> ... chk = reader.read()</span>
97+
<span class="sd"> ... toy_callback(chk)</span>
98+
99+
<span class="sd"> &quot;&quot;&quot;</span>
100+
101+
<span class="n">_request</span> <span class="o">=</span> <span class="kc">None</span>
102+
<span class="n">_chk_size</span> <span class="o">=</span> <span class="mi">2048</span>
103+
104+
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">chk_size</span><span class="o">=</span><span class="mi">2048</span><span class="p">):</span>
105+
<span class="sd">&quot;&quot;&quot;</span>
106+
<span class="sd"> :param chk_size: Specifies the chunk size to read (default 2048 bytes)</span>
107+
<span class="sd"> &quot;&quot;&quot;</span>
108+
<span class="bp">self</span><span class="o">.</span><span class="n">_chk_size</span> <span class="o">=</span> <span class="n">chk_size</span>
109+
<span class="k">pass</span>
110+
111+
<span class="nd">@property</span>
112+
<span class="k">def</span> <span class="nf">info</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
113+
<span class="sd">&quot;&quot;&quot;</span>
114+
<span class="sd"> Returns the __init__ arguments for the instance.</span>
115+
116+
<span class="sd"> :return: dict</span>
117+
<span class="sd"> &quot;&quot;&quot;</span>
118+
<span class="n">_info</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;chk_size&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chk_size</span><span class="p">}</span>
119+
<span class="k">return</span> <span class="n">_info</span>
120+
121+
<div class="viewcode-block" id="FlaskRequestReader.key"><a class="viewcode-back" href="../../module_docs/flaskstream2py/flask_request_reader.html#flaskstream2py.flask_request_reader.FlaskRequestReader.key">[docs]</a> <span class="k">def</span> <span class="nf">key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">):</span>
122+
<span class="k">return</span> <span class="n">data</span></div>
123+
124+
<div class="viewcode-block" id="FlaskRequestReader.open"><a class="viewcode-back" href="../../module_docs/flaskstream2py/flask_request_reader.html#flaskstream2py.flask_request_reader.FlaskRequestReader.open">[docs]</a> <span class="k">def</span> <span class="nf">open</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
125+
<span class="k">try</span><span class="p">:</span>
126+
<span class="kn">from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">request</span>
127+
128+
<span class="bp">self</span><span class="o">.</span><span class="n">_request</span> <span class="o">=</span> <span class="n">request</span>
129+
<span class="bp">self</span><span class="o">.</span><span class="n">_stream</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">stream</span>
130+
<span class="k">except</span><span class="p">:</span>
131+
<span class="k">raise</span> <span class="ne">ModuleNotFoundError</span><span class="p">(</span>
132+
<span class="s1">&#39;FlaskRequestReader requires flask to be installed&#39;</span>
133+
<span class="p">)</span></div>
134+
135+
<div class="viewcode-block" id="FlaskRequestReader.close"><a class="viewcode-back" href="../../module_docs/flaskstream2py/flask_request_reader.html#flaskstream2py.flask_request_reader.FlaskRequestReader.close">[docs]</a> <span class="k">def</span> <span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
136+
<span class="bp">self</span><span class="o">.</span><span class="n">_request</span> <span class="o">=</span> <span class="kc">None</span>
137+
<span class="bp">self</span><span class="o">.</span><span class="n">_stream</span> <span class="o">=</span> <span class="kc">None</span></div>
138+
139+
<div class="viewcode-block" id="FlaskRequestReader.read"><a class="viewcode-back" href="../../module_docs/flaskstream2py/flask_request_reader.html#flaskstream2py.flask_request_reader.FlaskRequestReader.read">[docs]</a> <span class="k">def</span> <span class="nf">read</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
140+
<span class="sd">&quot;&quot;&quot;Reads raw bytes if the request body is not finished yet.</span>
141+
<span class="sd"> Raises a StopIteration exception if the request has finished.</span>
142+
<span class="sd"> &quot;&quot;&quot;</span>
143+
<span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_stream</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_chk_size</span><span class="p">)</span>
144+
<span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
145+
<span class="k">raise</span> <span class="ne">StopIteration</span><span class="p">()</span>
146+
<span class="k">return</span> <span class="n">data</span></div></div>
147+
</pre></div>
148+
149+
</div>
150+
</div>
151+
<footer>
152+
153+
<hr/>
154+
155+
<div role="contentinfo">
156+
<p>&#169; Copyright NO COPYRIGHT.</p>
157+
</div>
158+
159+
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
160+
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
161+
provided by <a href="https://readthedocs.org">Read the Docs</a>.
162+
163+
164+
</footer>
165+
</div>
166+
</div>
167+
</section>
168+
</div>
169+
<script>
170+
jQuery(function () {
171+
SphinxRtdTheme.Navigation.enable(true);
172+
});
173+
</script>
174+
175+
</body>
176+
</html>

docs/_modules/index.html

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
<!DOCTYPE html>
2+
<html class="writer-html5" lang="en" >
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>Overview: module code &mdash; flaskstream2py 0.1.0 documentation</title><link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
7+
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
8+
<link rel="stylesheet" href="../_static/copybutton.css" type="text/css" />
9+
<link rel="stylesheet" href="../_static/graphviz.css" type="text/css" />
10+
<!--[if lt IE 9]>
11+
<script src="../_static/js/html5shiv.min.js"></script>
12+
<![endif]-->
13+
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
14+
<script src="../_static/jquery.js"></script>
15+
<script src="../_static/underscore.js"></script>
16+
<script src="../_static/doctools.js"></script>
17+
<script src="../_static/language_data.js"></script>
18+
<script src="../_static/toggleprompt.js"></script>
19+
<script src="../_static/clipboard.min.js"></script>
20+
<script src="../_static/copybutton.js"></script>
21+
<script src="../_static/js/theme.js"></script>
22+
<link rel="index" title="Index" href="../genindex.html" />
23+
<link rel="search" title="Search" href="../search.html" />
24+
</head>
25+
26+
<body class="wy-body-for-nav">
27+
<div class="wy-grid-for-nav">
28+
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
29+
<div class="wy-side-scroll">
30+
<div class="wy-side-nav-search" >
31+
<a href="../index.html" class="icon icon-home"> flaskstream2py
32+
</a>
33+
<div role="search">
34+
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
35+
<input type="text" name="q" placeholder="Search docs" />
36+
<input type="hidden" name="check_keywords" value="yes" />
37+
<input type="hidden" name="area" value="default" />
38+
</form>
39+
</div>
40+
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
41+
<p><span class="caption-text">Contents:</span></p>
42+
<ul>
43+
<li class="toctree-l1"><a class="reference internal" href="../module_docs/flaskstream2py.html">flaskstream2py</a></li>
44+
<li class="toctree-l1"><a class="reference internal" href="../module_docs/flaskstream2py/flask_request_reader.html">flaskstream2py.flask_request_reader</a></li>
45+
</ul>
46+
47+
</div>
48+
</div>
49+
</nav>
50+
51+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
52+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
53+
<a href="../index.html">flaskstream2py</a>
54+
</nav>
55+
56+
<div class="wy-nav-content">
57+
<div class="rst-content">
58+
<div role="navigation" aria-label="Page navigation">
59+
<ul class="wy-breadcrumbs">
60+
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
61+
<li>Overview: module code</li>
62+
<li class="wy-breadcrumbs-aside">
63+
</li>
64+
</ul>
65+
<hr/>
66+
</div>
67+
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
68+
<div itemprop="articleBody">
69+
70+
<h1>All modules for which code is available</h1>
71+
<ul><li><a href="flaskstream2py/flask_request_reader.html">flaskstream2py.flask_request_reader</a></li>
72+
</ul>
73+
74+
</div>
75+
</div>
76+
<footer>
77+
78+
<hr/>
79+
80+
<div role="contentinfo">
81+
<p>&#169; Copyright NO COPYRIGHT.</p>
82+
</div>
83+
84+
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
85+
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
86+
provided by <a href="https://readthedocs.org">Read the Docs</a>.
87+
88+
89+
</footer>
90+
</div>
91+
</div>
92+
</section>
93+
</div>
94+
<script>
95+
jQuery(function () {
96+
SphinxRtdTheme.Navigation.enable(true);
97+
});
98+
</script>
99+
100+
</body>
101+
</html>

docs/_sources/index.rst.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Welcome to flaskstream2py's documentation!
2+
==========================================
3+
4+
5+
.. include:: ./table_of_contents.rst
6+
7+
8+
Indices and tables
9+
==================
10+
11+
* :ref:`genindex`
12+
* :ref:`modindex`
13+
* :ref:`search`
14+
15+
16+
Release: |release|
17+
18+
Last change: |today|
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
flaskstream2py
2+
==============
3+
.. automodule:: flaskstream2py
4+
:members:
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
flaskstream2py.flask_request_reader
2+
===================================
3+
.. automodule:: flaskstream2py.flask_request_reader
4+
:members:
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. toctree::
2+
:maxdepth: 2
3+
:caption: Contents:
4+
5+
module_docs/flaskstream2py
6+
module_docs/flaskstream2py/flask_request_reader

0 commit comments

Comments
 (0)