Skip to content

Commit 21f9520

Browse files
committed
Update devel docs: add mysql-connector and oursql
1 parent afb36fa commit 21f9520

File tree

83 files changed

+305
-251
lines changed

Some content is hidden

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

83 files changed

+305
-251
lines changed

devel/News.html

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -149,22 +149,32 @@ <h1>News<a class="headerlink" href="#news" title="Permalink to this headline">¶
149149
<div class="section" id="minor-features">
150150
<h3>Minor features<a class="headerlink" href="#minor-features" title="Permalink to this headline"></a></h3>
151151
<ul class="simple">
152-
<li>Drop table name from <code class="docutils literal"><span class="pre">VACUUM</span></code> command in SQLiteConnection:
153-
SQLite doesn&#8217;t vacuum a single table and SQLite 3.15 uses the supplied name
154-
as the name of the attached database to vacuum.</li>
152+
<li>Drop table name from <code class="docutils literal"><span class="pre">VACUUM</span></code> command in SQLiteConnection: SQLite
153+
doesn&#8217;t vacuum a single table and SQLite 3.15 uses the supplied name as
154+
the name of the attached database to vacuum.</li>
155155
<li>Remove <code class="docutils literal"><span class="pre">driver</span></code> keyword from RdbhostConnection as it allows one driver
156156
<code class="docutils literal"><span class="pre">rdbhdb</span></code>.</li>
157-
<li>Add <code class="docutils literal"><span class="pre">driver</span></code> keyword for FirebirdConnection. Allowed values are &#8216;fdb&#8217; or
158-
&#8216;kinterbasdb&#8217;. Default is to test &#8216;fdb&#8217; and &#8216;kinterbasdb&#8217; in that order.</li>
159-
<li>Add <code class="docutils literal"><span class="pre">driver</span></code> keyword for MySQLConnection. Allowed value is &#8216;mysqldb&#8217;.</li>
157+
<li>Add <code class="docutils literal"><span class="pre">driver</span></code> keyword for FirebirdConnection. Allowed values are &#8216;fdb&#8217;
158+
or &#8216;kinterbasdb&#8217;. Default is to test &#8216;fdb&#8217; and &#8216;kinterbasdb&#8217; in that
159+
order.</li>
160+
<li>Add support for <a class="reference external" href="https://pypi.python.org/pypi/mysql-connector">MySQL Connector</a> (pure python; <a class="reference external" href="https://dev.mysql.com/doc/connector-python/en/">binary
161+
packages</a> are not at
162+
PyPI and hence are hard to install and test; most tests are passed, but
163+
there are still problems).</li>
164+
<li>Add support for <a class="reference external" href="https://github.com/python-oursql/oursql">oursql</a> MySQL
165+
driver (Python 2.6 and 2.7; most tests are passed, but there are still
166+
problems).</li>
167+
<li>Add <code class="docutils literal"><span class="pre">driver</span></code> keyword for MySQLConnection. Allowed value are &#8216;mysqldb&#8217;,
168+
&#8216;connector&#8217; and &#8216;oursql&#8217;. Default is to test for mysqldb only;
169+
(connector and oursql drivers still cause problems).</li>
160170
</ul>
161171
</div>
162172
<div class="section" id="documentation">
163173
<h3>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline"></a></h3>
164174
<ul class="simple">
165175
<li>The docs are now generated with Sphinx.</li>
166-
<li>Move <code class="docutils literal"><span class="pre">docs/LICENSE</span></code> to the top-level directory so that Github recognizes
167-
it.</li>
176+
<li>Move <code class="docutils literal"><span class="pre">docs/LICENSE</span></code> to the top-level directory so that Github
177+
recognizes it.</li>
168178
</ul>
169179
</div>
170180
<div class="section" id="tests">
@@ -173,8 +183,8 @@ <h3>Tests<a class="headerlink" href="#tests" title="Permalink to this headline">
173183
<li>Rename <code class="docutils literal"><span class="pre">py.test</span></code> -&gt; <code class="docutils literal"><span class="pre">pytest</span></code> in tests and docs.</li>
174184
<li>Great Renaming: fix <code class="docutils literal"><span class="pre">pytest</span></code> warnings by renaming <code class="docutils literal"><span class="pre">TestXXX</span></code> classes
175185
to <code class="docutils literal"><span class="pre">SOTestXXX</span></code> to prevent <code class="docutils literal"><span class="pre">pytest</span></code> to recognize them as test classes.</li>
176-
<li>Fix <code class="docutils literal"><span class="pre">pytest</span></code> warnings by converting yield tests to plain calls:
177-
yield tests were deprecated in <code class="docutils literal"><span class="pre">pytest</span></code>.</li>
186+
<li>Fix <code class="docutils literal"><span class="pre">pytest</span></code> warnings by converting yield tests to plain calls: yield
187+
tests were deprecated in <code class="docutils literal"><span class="pre">pytest</span></code>.</li>
178188
<li>Tests are now run at CIs with <code class="docutils literal"><span class="pre">python3.5</span></code>.</li>
179189
<li>Tests are split at <code class="docutils literal"><span class="pre">Circle</span> <span class="pre">CI</span></code> in 4 parallel containers.</li>
180190
</ul>

devel/SQLObject.html

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -311,11 +311,12 @@ <h2><a class="toc-backref" href="#id12">Introduction</a><a class="headerlink" hr
311311
</div>
312312
<div class="section" id="requirements">
313313
<h2><a class="toc-backref" href="#id13">Requirements</a><a class="headerlink" href="#requirements" title="Permalink to this headline"></a></h2>
314-
<p>Currently SQLObject supports <a class="reference external" href="https://www.mysql.com/">MySQL</a> via <a class="reference external" href="https://sourceforge.net/projects/mysql-python/">MySQLdb</a> aka MySQL-python,
315-
<a class="reference external" href="https://postgresql.org">PostgreSQL</a> via <a class="reference external" href="http://initd.org/psycopg/">psycopg2</a> or psycopg1, <a class="reference external" href="https://sqlite.org/">SQLite</a> via <a class="reference external" href="https://github.com/ghaering/pysqlite">PySQLite</a>, <a class="reference external" href="http://www.firebirdsql.org/en/python-driver/">Firebird</a>
316-
via <a class="reference external" href="http://www.firebirdsql.org/en/devel-python-driver/">fdb</a> or <a class="reference external" href="http://kinterbasdb.sourceforge.net/">kinterbasdb</a>, <a class="reference external" href="http://maxdb.sap.com/">MAX DB</a> (also known as SAP DB) via <a class="reference external" href="http://maxdb.sap.com/doc/7_8/50/01923f25b842438a408805774f6989/frameset.htm">sapdb</a>,
317-
Sybase via <a class="reference external" href="http://www.object-craft.com.au/projects/sybase/">Sybase</a>, and <a class="reference external" href="http://www.microsoft.com/sql/">MSSQL Server</a> via <a class="reference external" href="http://www.pymssql.org/en/latest/index.html">pymssql</a> (+ <a class="reference external" href="http://www.freetds.org/">FreeTDS</a>) or
318-
<a class="reference external" href="http://adodbapi.sourceforge.net/">adodbapi</a> (Win32).</p>
314+
<p>Currently SQLObject supports <a class="reference external" href="https://www.mysql.com/">MySQL</a> via <a class="reference external" href="https://sourceforge.net/projects/mysql-python/">MySQLdb</a> aka MySQL-python (called
315+
<a class="reference external" href="https://pypi.python.org/pypi/mysqlclient">mysqlclient</a> for Python 3) or <a class="reference external" href="https://pypi.python.org/pypi/mysql-connector">MySQL Connector</a> or <a class="reference external" href="https://github.com/python-oursql/oursql">oursql</a>, <a class="reference external" href="https://postgresql.org">PostgreSQL</a>
316+
via <a class="reference external" href="http://initd.org/psycopg/">psycopg2</a> or psycopg1, <a class="reference external" href="https://sqlite.org/">SQLite</a> via <a class="reference external" href="https://github.com/ghaering/pysqlite">PySQLite</a>, <a class="reference external" href="http://www.firebirdsql.org/en/python-driver/">Firebird</a> via <a class="reference external" href="http://www.firebirdsql.org/en/devel-python-driver/">fdb</a> or
317+
<a class="reference external" href="http://kinterbasdb.sourceforge.net/">kinterbasdb</a>, <a class="reference external" href="http://maxdb.sap.com/">MAX DB</a> (also known as SAP DB) via <a class="reference external" href="http://maxdb.sap.com/doc/7_8/50/01923f25b842438a408805774f6989/frameset.htm">sapdb</a>, Sybase via
318+
<a class="reference external" href="http://www.object-craft.com.au/projects/sybase/">Sybase</a>, and <a class="reference external" href="http://www.microsoft.com/sql/">MSSQL Server</a> via <a class="reference external" href="http://www.pymssql.org/en/latest/index.html">pymssql</a> (+ <a class="reference external" href="http://www.freetds.org/">FreeTDS</a>) or <a class="reference external" href="http://adodbapi.sourceforge.net/">adodbapi</a>
319+
(Win32).</p>
319320
<p>Python 2.6, 2.7 or 3.4+ is required.</p>
320321
</div>
321322
<div class="section" id="compared-to-other-database-wrappers">

devel/TODO.html

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,6 @@ <h1>TODO<a class="headerlink" href="#todo" title="Permalink to this headline">¶
152152
</li>
153153
<li><p class="first">Switch from setuptools to distribute.</p>
154154
</li>
155-
<li><p class="first">oursql MySQL bindings: <a class="reference external" href="https://github.com/python-oursql/oursql">https://github.com/python-oursql/oursql</a></p>
156-
</li>
157-
<li><p class="first">MySQL Connector/Python: <a class="reference external" href="https://dev.mysql.com/doc/connector-python/en/">https://dev.mysql.com/doc/connector-python/en/</a></p>
158-
</li>
159155
<li><p class="first">Pure Python Mysql Interface: <a class="reference external" href="https://github.com/nasi/MyPy">https://github.com/nasi/MyPy</a></p>
160156
</li>
161157
<li><p class="first">Ultramysql <a class="reference external" href="https://github.com/esnme/ultramysql">for Python2</a> and

devel/_modules/sqlobject/col.html

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -670,8 +670,15 @@ <h1>Source code for sqlobject.col</h1><div class="highlight"><pre>
670670
<span class="k">return</span> <span class="n">value</span>
671671
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="s1">&#39;__unicode__&#39;</span><span class="p">):</span>
672672
<span class="k">return</span> <span class="n">unicode</span><span class="p">(</span><span class="n">value</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="n">dbEncoding</span><span class="p">)</span>
673-
<span class="k">if</span> <span class="n">dbName</span> <span class="o">==</span> <span class="s1">&#39;mysql&#39;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">PY2</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">bytes</span><span class="p">):</span>
674-
<span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">&#39;ascii&#39;</span><span class="p">,</span> <span class="n">errors</span><span class="o">=</span><span class="s1">&#39;surrogateescape&#39;</span><span class="p">)</span>
673+
<span class="k">if</span> <span class="n">dbName</span> <span class="o">==</span> <span class="s1">&#39;mysql&#39;</span><span class="p">:</span>
674+
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">bytearray</span><span class="p">):</span>
675+
<span class="k">if</span> <span class="n">PY2</span><span class="p">:</span>
676+
<span class="n">value</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="n">dbEncoding</span><span class="p">)</span>
677+
<span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="n">dbEncoding</span><span class="p">)</span> <span class="c1"># convrt to bytes</span>
678+
<span class="k">else</span><span class="p">:</span>
679+
<span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="n">dbEncoding</span><span class="p">,</span> <span class="n">errors</span><span class="o">=</span><span class="s1">&#39;surrogateescape&#39;</span><span class="p">)</span>
680+
<span class="k">if</span> <span class="ow">not</span> <span class="n">PY2</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">bytes</span><span class="p">):</span>
681+
<span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">&#39;ascii&#39;</span><span class="p">,</span> <span class="n">errors</span><span class="o">=</span><span class="s1">&#39;surrogateescape&#39;</span><span class="p">)</span>
675682
<span class="k">raise</span> <span class="n">validators</span><span class="o">.</span><span class="n">Invalid</span><span class="p">(</span>
676683
<span class="s2">&quot;expected a str in the StringCol &#39;</span><span class="si">%s</span><span class="s2">&#39;, got </span><span class="si">%s</span><span class="s2"> </span><span class="si">%r</span><span class="s2"> instead&quot;</span> <span class="o">%</span> <span class="p">(</span>
677684
<span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">(</span><span class="n">value</span><span class="p">),</span> <span class="n">value</span><span class="p">),</span> <span class="n">value</span><span class="p">,</span> <span class="n">state</span><span class="p">)</span>
@@ -1950,6 +1957,8 @@ <h1>Source code for sqlobject.col</h1><div class="highlight"><pre>
19501957
<span class="k">def</span> <span class="nf">to_python</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">state</span><span class="p">):</span>
19511958
<span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
19521959
<span class="k">return</span> <span class="kc">None</span>
1960+
<span class="k">if</span> <span class="n">PY2</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">unicode</span><span class="p">):</span>
1961+
<span class="n">value</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;ascii&#39;</span><span class="p">)</span>
19531962
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
19541963
<span class="k">return</span> <span class="n">UUID</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
19551964
<span class="k">raise</span> <span class="n">validators</span><span class="o">.</span><span class="n">Invalid</span><span class="p">(</span>

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy