Skip to content

Commit 8fa517a

Browse files
committed
1 parent 03d55e8 commit 8fa517a

File tree

131 files changed

+1125
-781
lines changed

Some content is hidden

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

131 files changed

+1125
-781
lines changed

CHANGELOG.html

Lines changed: 510 additions & 437 deletions
Large diffs are not rendered by default.

CODE_OF_CONDUCT.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
3333

3434

35-
<link rel="stylesheet" type="text/css" href="_static/sphinx_immaterial_theme.c5589c0bd87d933a4.min.css?v=eeeb54bc" />
35+
<link rel="stylesheet" type="text/css" href="_static/sphinx_immaterial_theme.58d549dac8fe20eca.min.css?v=7776979a" />
3636
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
3737
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
3838

CONTRIBUTING.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
3333

3434

35-
<link rel="stylesheet" type="text/css" href="_static/sphinx_immaterial_theme.c5589c0bd87d933a4.min.css?v=eeeb54bc" />
35+
<link rel="stylesheet" type="text/css" href="_static/sphinx_immaterial_theme.58d549dac8fe20eca.min.css?v=7776979a" />
3636
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
3737
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
3838

@@ -637,10 +637,10 @@ <h2 id="project-structure">Project structure<a class="headerlink" href="#project
637637
<span class="n">up</span> <span class="n">Updates</span> <span class="n">dev</span><span class="o">/</span><span class="n">test</span> <span class="n">dependencies</span>
638638
<span class="n">deps</span> <span class="n">Ensure</span> <span class="n">dev</span><span class="o">/</span><span class="n">test</span> <span class="n">dependencies</span> <span class="n">are</span> <span class="n">installed</span>
639639
<span class="n">check</span> <span class="n">Checks</span> <span class="n">that</span> <span class="n">build</span> <span class="ow">is</span> <span class="n">sane</span>
640-
<span class="n">lint</span> <span class="n">Reports</span> <span class="nb">all</span> <span class="n">linter</span> <span class="n">violations</span>
641640
<span class="n">test</span> <span class="n">Runs</span> <span class="nb">all</span> <span class="n">tests</span>
642641
<span class="n">docs</span> <span class="n">Builds</span> <span class="n">the</span> <span class="n">documentation</span>
643642
<span class="n">style</span> <span class="n">Auto</span><span class="o">-</span><span class="n">formats</span> <span class="n">the</span> <span class="n">code</span>
643+
<span class="n">lint</span> <span class="n">Auto</span><span class="o">-</span><span class="n">formats</span> <span class="n">the</span> <span class="n">code</span> <span class="ow">and</span> <span class="n">check</span> <span class="nb">type</span> <span class="n">hints</span>
644644
</code></pre></div>
645645
</div>
646646
<p>So to run the tests you just need to run <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">test</span></code>, etc…</p>
@@ -660,7 +660,7 @@ <h2 id="project-structure">Project structure<a class="headerlink" href="#project
660660
</dd>
661661
<dt><code class="docutils literal notranslate"><span class="pre">tortoise/contrib/</span></code>:</dt><dd><p>Anything that helps people use the project, such as Testing framework and linter plugins</p>
662662
</dd>
663-
<dt><code class="docutils literal notranslate"><span class="pre">tortoise/tests/</span></code>:</dt><dd><p>The Tortoise test code</p>
663+
<dt><code class="docutils literal notranslate"><span class="pre">tests/</span></code>:</dt><dd><p>The Tortoise test code</p>
664664
</dd>
665665
</dl>
666666
<h2 id="coding-guideline">Coding Guideline<a class="headerlink" href="#coding-guideline" title="Link to this heading"></a></h2>
@@ -711,14 +711,13 @@ <h3 id="different-types-of-tests">Different types of tests<a class="headerlink"
711711
<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">test_mysql</span></code>: Runs the tests on the mysql database</p></li>
712712
<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">testall</span></code>: runs the tests on all 4 database types: sqlite (in memory), postgresql, MySQL-MyISAM and MySQL-InnoDB</p></li>
713713
<li><p><code class="docutils literal notranslate"><span class="pre">green</span></code>: runs the same tests as <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">test</span></code>, ensures the green plugin works</p></li>
714-
<li><p><code class="docutils literal notranslate"><span class="pre">nose2</span> <span class="pre">--plugin</span> <span class="pre">tortoise.contrib.test.nose2</span> <span class="pre">--db-module</span> <span class="pre">tests.testmodels</span> <span class="pre">--db-url</span> <span class="pre">sqlite://:memory:</span> <span class="pre">``:</span> <span class="pre">same</span> <span class="pre">test</span> <span class="pre">as</span> <span class="pre">``make</span> <span class="pre">test</span></code> , ensures the nose2 plugin works</p></li>
715714
</ul>
716715
<h3 id="things-to-be-aware-of-when-running-the-test-suite">Things to be aware of when running the test suite<a class="headerlink" href="#things-to-be-aware-of-when-running-the-test-suite" title="Link to this heading"></a></h3>
717716
<ul class="simple">
718717
<li><p>Some tests always run regardless of what test suite you are running (the connection tests for mysql and postgres for example, you don’t need a database running as it doesn’t actually connect though)</p></li>
719718
<li><p>Some tests use hardcoded databases (usually sqlite) for testing, regardless of what DB url you specified.</p></li>
720719
<li><p>The postgres driver does not work under Pypy so those tests will be skipped if you are running under pypy</p></li>
721-
<li><p>You can run only specific tests by running `` py.test &lt;testfiles&gt;`` or <code class="docutils literal notranslate"><span class="pre">green</span> <span class="pre">-s</span> <span class="pre">1</span> <span class="pre">&lt;testfile&gt;</span></code></p></li>
720+
<li><p>You can run only specific tests by running <code class="docutils literal notranslate"><span class="pre">pytest</span> <span class="pre">&lt;testfiles&gt;</span></code> or <code class="docutils literal notranslate"><span class="pre">green</span> <span class="pre">-s</span> <span class="pre">1</span> <span class="pre">&lt;testfile&gt;</span></code></p></li>
722721
<li><dl class="simple">
723722
<dt>If you want a peek under the hood of test that hang to debug try running them with <code class="docutils literal notranslate"><span class="pre">green</span> <span class="pre">-s</span> <span class="pre">1</span> <span class="pre">-vv</span> <span class="pre">-d</span> <span class="pre">-a</span> <span class="pre">&lt;test&gt;</span></code></dt><dd><ul>
724723
<li><p><code class="docutils literal notranslate"><span class="pre">-s</span> <span class="pre">1</span></code> means it only runs one test at a time</p></li>

CONTRIBUTORS.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
3333

3434

35-
<link rel="stylesheet" type="text/css" href="_static/sphinx_immaterial_theme.c5589c0bd87d933a4.min.css?v=eeeb54bc" />
35+
<link rel="stylesheet" type="text/css" href="_static/sphinx_immaterial_theme.58d549dac8fe20eca.min.css?v=7776979a" />
3636
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
3737
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
3838

@@ -620,6 +620,7 @@ <h2 id="contributors">Contributors<a class="headerlink" href="#contributors" tit
620620
<li><p>Markus Beckschulte <code class="docutils literal notranslate"><span class="pre">&#64;markus-96</span></code></p></li>
621621
<li><p>Frederic Aoustin <code class="docutils literal notranslate"><span class="pre">&#64;fraoustin</span></code></p></li>
622622
<li><p>Ludwig Hähne <code class="docutils literal notranslate"><span class="pre">&#64;pankrat</span></code></p></li>
623+
<li><p>Christian Tanul <code class="docutils literal notranslate"><span class="pre">&#64;scriptogre</span></code></p></li>
623624
</ul>
624625
<h2 id="special-thanks">Special Thanks<a class="headerlink" href="#special-thanks" title="Link to this heading"></a></h2>
625626
<p>Huge thanks to <a class="reference external" href="https://github.com/kayak/pypika">https://github.com/kayak/pypika</a> for all heavy lifting.</p>

_modules/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
3333

3434

35-
<link rel="stylesheet" type="text/css" href="../_static/sphinx_immaterial_theme.c5589c0bd87d933a4.min.css?v=eeeb54bc" />
35+
<link rel="stylesheet" type="text/css" href="../_static/sphinx_immaterial_theme.58d549dac8fe20eca.min.css?v=7776979a" />
3636
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />
3737
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
3838

_modules/tortoise.html

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
3333

3434

35-
<link rel="stylesheet" type="text/css" href="../_static/sphinx_immaterial_theme.c5589c0bd87d933a4.min.css?v=eeeb54bc" />
35+
<link rel="stylesheet" type="text/css" href="../_static/sphinx_immaterial_theme.58d549dac8fe20eca.min.css?v=7776979a" />
3636
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />
3737
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
3838

@@ -513,9 +513,7 @@
513513
<h1>Source code for tortoise</h1><div class="highlight"><pre>
514514
<span></span><code><span class="kn">from</span><span class="w"> </span><span class="nn">__future__</span><span class="w"> </span><span class="kn">import</span> <span class="n">annotations</span>
515515

516-
<span class="kn">import</span><span class="w"> </span><span class="nn">asyncio</span>
517516
<span class="kn">import</span><span class="w"> </span><span class="nn">importlib</span>
518-
<span class="kn">import</span><span class="w"> </span><span class="nn">importlib.metadata</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">importlib_metadata</span>
519517
<span class="kn">import</span><span class="w"> </span><span class="nn">json</span>
520518
<span class="kn">import</span><span class="w"> </span><span class="nn">logging</span>
521519
<span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
@@ -526,6 +524,7 @@ <h1>Source code for tortoise</h1><div class="highlight"><pre>
526524
<span class="kn">from</span><span class="w"> </span><span class="nn">types</span><span class="w"> </span><span class="kn">import</span> <span class="n">ModuleType</span>
527525
<span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">cast</span>
528526

527+
<span class="kn">from</span><span class="w"> </span><span class="nn">anyio</span><span class="w"> </span><span class="kn">import</span> <span class="n">from_thread</span>
529528
<span class="kn">from</span><span class="w"> </span><span class="nn">pypika_tortoise</span><span class="w"> </span><span class="kn">import</span> <span class="n">Query</span><span class="p">,</span> <span class="n">Table</span>
530529

531530
<span class="kn">from</span><span class="w"> </span><span class="nn">tortoise.backends.base.client</span><span class="w"> </span><span class="kn">import</span> <span class="n">BaseDBAsyncClient</span>
@@ -685,7 +684,7 @@ <h1>Source code for tortoise</h1><div class="highlight"><pre>
685684
<span class="n">fk_object</span><span class="o">.</span><span class="n">to_field</span> <span class="o">=</span> <span class="n">related_model</span><span class="o">.</span><span class="n">_meta</span><span class="o">.</span><span class="n">pk_attr</span>
686685
<span class="n">related_field</span> <span class="o">=</span> <span class="n">related_model</span><span class="o">.</span><span class="n">_meta</span><span class="o">.</span><span class="n">pk</span>
687686
<span class="n">key_fk_object</span> <span class="o">=</span> <span class="n">deepcopy</span><span class="p">(</span><span class="n">related_field</span><span class="p">)</span>
688-
<span class="n">fk_object</span><span class="o">.</span><span class="n">to_field_instance</span> <span class="o">=</span> <span class="n">related_field</span> <span class="c1"># type:ignore[arg-type,call-overload]</span>
687+
<span class="n">fk_object</span><span class="o">.</span><span class="n">to_field_instance</span> <span class="o">=</span> <span class="n">related_field</span>
689688
<span class="n">fk_object</span><span class="o">.</span><span class="n">field_type</span> <span class="o">=</span> <span class="n">fk_object</span><span class="o">.</span><span class="n">to_field_instance</span><span class="o">.</span><span class="n">field_type</span>
690689

691690
<span class="n">key_field</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">field</span><span class="si">}</span><span class="s2">_id&quot;</span>
@@ -728,7 +727,7 @@ <h1>Source code for tortoise</h1><div class="highlight"><pre>
728727
<span class="n">description</span><span class="o">=</span><span class="n">fk_object</span><span class="o">.</span><span class="n">description</span><span class="p">,</span>
729728
<span class="p">)</span>
730729
<span class="p">)</span>
731-
<span class="n">fk_relation</span><span class="o">.</span><span class="n">to_field_instance</span> <span class="o">=</span> <span class="n">fk_object</span><span class="o">.</span><span class="n">to_field_instance</span> <span class="c1"># type:ignore</span>
730+
<span class="n">fk_relation</span><span class="o">.</span><span class="n">to_field_instance</span> <span class="o">=</span> <span class="n">fk_object</span><span class="o">.</span><span class="n">to_field_instance</span>
732731
<span class="n">related_model</span><span class="o">.</span><span class="n">_meta</span><span class="o">.</span><span class="n">add_field</span><span class="p">(</span><span class="n">backward_relation_name</span><span class="p">,</span> <span class="n">fk_relation</span><span class="p">)</span>
733732
<span class="k">if</span> <span class="n">is_o2o</span> <span class="ow">and</span> <span class="n">fk_object</span><span class="o">.</span><span class="n">pk</span><span class="p">:</span>
734733
<span class="n">model</span><span class="o">.</span><span class="n">_meta</span><span class="o">.</span><span class="n">pk_attr</span> <span class="o">=</span> <span class="n">key_field</span>
@@ -994,8 +993,8 @@ <h1>Source code for tortoise</h1><div class="highlight"><pre>
994993
<span class="k">if</span> <span class="ow">not</span> <span class="n">modules</span><span class="p">:</span>
995994
<span class="k">raise</span> <span class="n">ConfigurationError</span><span class="p">(</span><span class="s1">&#39;You must specify &quot;db_url&quot; and &quot;modules&quot; together&#39;</span><span class="p">)</span>
996995
<span class="n">config</span> <span class="o">=</span> <span class="n">generate_config</span><span class="p">(</span><span class="n">db_url</span><span class="p">,</span> <span class="n">modules</span><span class="p">)</span>
997-
<span class="k">else</span><span class="p">:</span>
998-
<span class="k">assert</span> <span class="n">config</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="c1"># To improve type hints</span>
996+
<span class="k">elif</span> <span class="n">config</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
997+
<span class="k">raise</span> <span class="n">ConfigurationError</span><span class="p">(</span><span class="s1">&#39;You must specify &quot;config&quot; or &quot;config_file&quot; or &quot;db_url&quot;&#39;</span><span class="p">)</span>
999998

1000999
<span class="k">try</span><span class="p">:</span>
10011000
<span class="n">connections_config</span> <span class="o">=</span> <span class="n">config</span><span class="p">[</span><span class="s2">&quot;connections&quot;</span><span class="p">]</span>
@@ -1154,14 +1153,18 @@ <h1>Source code for tortoise</h1><div class="highlight"><pre>
11541153

11551154
<span class="sd"> run_async(do_stuff())</span>
11561155
<span class="sd"> &quot;&quot;&quot;</span>
1157-
<span class="n">loop</span> <span class="o">=</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">get_event_loop</span><span class="p">()</span>
1158-
<span class="k">try</span><span class="p">:</span>
1159-
<span class="n">loop</span><span class="o">.</span><span class="n">run_until_complete</span><span class="p">(</span><span class="n">coro</span><span class="p">)</span>
1160-
<span class="k">finally</span><span class="p">:</span>
1161-
<span class="n">loop</span><span class="o">.</span><span class="n">run_until_complete</span><span class="p">(</span><span class="n">connections</span><span class="o">.</span><span class="n">close_all</span><span class="p">(</span><span class="n">discard</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span>
1156+
1157+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">main</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
1158+
<span class="k">try</span><span class="p">:</span>
1159+
<span class="k">await</span> <span class="n">coro</span>
1160+
<span class="k">finally</span><span class="p">:</span>
1161+
<span class="k">await</span> <span class="n">connections</span><span class="o">.</span><span class="n">close_all</span><span class="p">(</span><span class="n">discard</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
1162+
1163+
<span class="k">with</span> <span class="n">from_thread</span><span class="o">.</span><span class="n">start_blocking_portal</span><span class="p">()</span> <span class="k">as</span> <span class="n">portal</span><span class="p">:</span>
1164+
<span class="n">portal</span><span class="o">.</span><span class="n">call</span><span class="p">(</span><span class="n">main</span><span class="p">)</span>
11621165

11631166

1164-
<span class="n">__version__</span> <span class="o">=</span> <span class="n">importlib_metadata</span><span class="o">.</span><span class="n">version</span><span class="p">(</span><span class="s2">&quot;tortoise-orm&quot;</span><span class="p">)</span>
1167+
<span class="n">__version__</span> <span class="o">=</span> <span class="s2">&quot;0.25.1&quot;</span>
11651168

11661169
<span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span>
11671170
<span class="s2">&quot;Model&quot;</span><span class="p">,</span>

0 commit comments

Comments
 (0)