sqlobject-cvs Mailing List for SQLObject (Page 7)
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
(9) |
Apr
(74) |
May
(29) |
Jun
(16) |
Jul
(28) |
Aug
(10) |
Sep
(57) |
Oct
(9) |
Nov
(29) |
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(7) |
Feb
(14) |
Mar
(6) |
Apr
(3) |
May
(12) |
Jun
(34) |
Jul
(9) |
Aug
(29) |
Sep
(22) |
Oct
(2) |
Nov
(15) |
Dec
(52) |
| 2005 |
Jan
(47) |
Feb
(78) |
Mar
(14) |
Apr
(35) |
May
(33) |
Jun
(16) |
Jul
(26) |
Aug
(63) |
Sep
(40) |
Oct
(96) |
Nov
(96) |
Dec
(123) |
| 2006 |
Jan
(159) |
Feb
(144) |
Mar
(64) |
Apr
(31) |
May
(88) |
Jun
(48) |
Jul
(16) |
Aug
(64) |
Sep
(87) |
Oct
(92) |
Nov
(56) |
Dec
(76) |
| 2007 |
Jan
(94) |
Feb
(103) |
Mar
(126) |
Apr
(123) |
May
(85) |
Jun
(11) |
Jul
(130) |
Aug
(47) |
Sep
(65) |
Oct
(70) |
Nov
(12) |
Dec
(11) |
| 2008 |
Jan
(30) |
Feb
(55) |
Mar
(88) |
Apr
(20) |
May
(50) |
Jun
|
Jul
(38) |
Aug
(1) |
Sep
(9) |
Oct
(5) |
Nov
(6) |
Dec
(39) |
| 2009 |
Jan
(8) |
Feb
(16) |
Mar
(3) |
Apr
(33) |
May
(44) |
Jun
(1) |
Jul
(10) |
Aug
(33) |
Sep
(74) |
Oct
(22) |
Nov
|
Dec
(15) |
| 2010 |
Jan
(28) |
Feb
(22) |
Mar
(46) |
Apr
(29) |
May
(1) |
Jun
(1) |
Jul
(27) |
Aug
(8) |
Sep
(5) |
Oct
(33) |
Nov
(24) |
Dec
(41) |
| 2011 |
Jan
(4) |
Feb
(12) |
Mar
(35) |
Apr
(29) |
May
(19) |
Jun
(16) |
Jul
(32) |
Aug
(25) |
Sep
(5) |
Oct
(11) |
Nov
(21) |
Dec
(12) |
| 2012 |
Jan
(3) |
Feb
(4) |
Mar
(20) |
Apr
(4) |
May
(25) |
Jun
(13) |
Jul
|
Aug
|
Sep
(2) |
Oct
(25) |
Nov
(9) |
Dec
(1) |
| 2013 |
Jan
(6) |
Feb
(8) |
Mar
|
Apr
(10) |
May
(31) |
Jun
(7) |
Jul
(18) |
Aug
(33) |
Sep
(4) |
Oct
(16) |
Nov
|
Dec
(27) |
| 2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
(11) |
May
(39) |
Jun
(8) |
Jul
(11) |
Aug
(4) |
Sep
|
Oct
(27) |
Nov
|
Dec
(71) |
| 2015 |
Jan
(17) |
Feb
(47) |
Mar
(33) |
Apr
|
May
|
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(8) |
| 2016 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
|
May
(12) |
Jun
(7) |
Jul
(9) |
Aug
(31) |
Sep
(8) |
Oct
(3) |
Nov
(15) |
Dec
(1) |
| 2017 |
Jan
(13) |
Feb
(7) |
Mar
(14) |
Apr
(8) |
May
(10) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(8) |
Nov
(4) |
Dec
(5) |
| 2018 |
Jan
(2) |
Feb
(8) |
Mar
|
Apr
(4) |
May
|
Jun
(6) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2019 |
Jan
(1) |
Feb
(16) |
Mar
(1) |
Apr
(3) |
May
(5) |
Jun
(1) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
(1) |
Dec
(3) |
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(2) |
Nov
|
Dec
(2) |
| 2021 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
| 2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
(4) |
| 2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(3) |
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
|
| 2024 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(9) |
| 2025 |
Jan
|
Feb
(4) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Oleg B. <no...@so...> - 2017-04-08 20:02:39
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via ab3889be6919f4be63e8c841ff294748935f4499 (commit)
from 4d196203af98b7c418ad8a0ebeba081e1cf76c48 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/ab3889be6919f4be63e8c841ff294748935f4499
commit ab3889be6919f4be63e8c841ff294748935f4499
Author: Oleg Broytman <ph...@ph...>
Date: Sat Apr 8 23:00:09 2017 +0300
Refactor MANIFEST.in; exclude devscripts from sdist
devscripts are not required for installation or development.
[skip ci]
diff --git a/MANIFEST.in b/MANIFEST.in
index 212861b..32ac686 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,8 +1,7 @@
global-include *.py *.rst *.txt
+recursive-include docs *.css *.html *.js *.gif *.png
include LICENSE MANIFEST.in .travis.yml circle.yml tox.ini
include debian/* sqlobject/.coveragerc
include docs/Makefile docs/genapidocs docs/rebuild
-recursive-include devscripts *
-recursive-include docs *.css *.html *.js *.gif *.png
-global-exclude *.py[co]
-prune docs/_build
+recursive-exclude devscripts *
+recursive-exclude docs/_build *
-----------------------------------------------------------------------
Summary of changes:
MANIFEST.in | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-04-07 04:51:35
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via 4d196203af98b7c418ad8a0ebeba081e1cf76c48 (commit)
via ed552e3fdf2f2b101c6eba9f83b1e27fe4d2e51b (commit)
via f3d1c3641393f098f92c1b3e54504198158c65c8 (commit)
via d89e61b8dadc60cea619ac089c6fafcf9556a48d (commit)
via 3a6f6eda84323d1dca94ec90d3affa111ec5ef90 (commit)
via 0d02d45489718c709192c53f158ad9242d4bf5ea (commit)
via 0fa4628d67982d8fd9e599c5bb68a7af47ba3fad (commit)
via 47af309433e5dc70eb61f758747e2886cb7fb274 (commit)
via 6f641c9e34c5f2ad108ab571f2a5a304c19ee028 (commit)
via 380a776fdf43b1edf755a700a1f02b2870d81867 (commit)
via d6a1e7537d4e6f954b9a80ec22cab6ae5253ec76 (commit)
via f67f0b550714416a82c03d749aa519e61a752fd5 (commit)
via 98ab6094fd6f990ea527d8b2e07bac3d8ca3fba7 (commit)
via b654cbf4f45d5e27d52c86dcee64a7d119fb86fc (commit)
via b7e0a90be5c926b1b0478d1b24ccee9aa67ce2cb (commit)
via 58925e1a6fdbadd200c9b41c251317c30d34bd9b (commit)
via d62190196491847b78f0e0ab953bc2e72f654e6f (commit)
via b4e68b5bac08d4163f31d65365881511748eb594 (commit)
via 6fa36b817c9bc7c7af42647a99cb8a28f48bb726 (commit)
from b6c60444aefc8cb2a8a192ba38f59e61a2505ec8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/4d196203af98b7c418ad8a0ebeba081e1cf76c48
commit 4d196203af98b7c418ad8a0ebeba081e1cf76c48
Author: Oleg Broytman <ph...@ph...>
Date: Fri Apr 7 07:49:39 2017 +0300
Use '/usr/bin/env python' for scripts
This allows eggs/wheels to be installed into virtual environments.
[skip ci]
diff --git a/devscripts/release b/devscripts/release
index d04373c..3a6fc74 100755
--- a/devscripts/release
+++ b/devscripts/release
@@ -8,11 +8,13 @@ chmod -R a+rX . &&
../set-commit-date.py &&
python setup.py build_py &&
+python setup.py build --executable '/usr/bin/env python' &&
python setup.py sdist &&
for py in 2.6 2.7 3.4 3.5 3.6; do
find build -name '*.py[co]' -delete &&
python$py setup.py build_py &&
+ python$py setup.py build --executable '/usr/bin/env python' &&
python$py -m compileall build &&
python$py -O -m compileall build &&
python$py setup.py bdist_egg || exit 1
http://sourceforge.net/p/sqlobject/sqlobject/ci/ed552e3fdf2f2b101c6eba9f83b1e27fe4d2e51b
commit ed552e3fdf2f2b101c6eba9f83b1e27fe4d2e51b
Author: Oleg Broytman <ph...@ph...>
Date: Fri Apr 7 06:56:36 2017 +0300
sqlite-memory tests fail at Travis for no apparent reason
diff --git a/.travis.yml b/.travis.yml
index c56d9ff..921df72 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -71,6 +71,10 @@ matrix:
- env: TOXENV=py34-pypostgresql
- env: TOXENV=py35-pypostgresql
- env: TOXENV=py36-pypostgresql
+ - env: TOXENV=py27-sqlite-memory
+ - env: TOXENV=py34-sqlite-memory
+ - env: TOXENV=py35-sqlite-memory
+ - env: TOXENV=py36-sqlite-memory
- env: TOXENV=py27-firebird-fdb
- env: TOXENV=py34-firebird-fdb
- env: TOXENV=py35-firebird-fdb
http://sourceforge.net/p/sqlobject/sqlobject/ci/f3d1c3641393f098f92c1b3e54504198158c65c8
commit f3d1c3641393f098f92c1b3e54504198158c65c8
Author: Oleg Broytman <ph...@ph...>
Date: Fri Apr 7 06:53:23 2017 +0300
Prevent flake8 to complain about 'unicode' under PY3
diff --git a/sqlobject/postgres/pgconnection.py b/sqlobject/postgres/pgconnection.py
index 7792e8b..c8d9b35 100644
--- a/sqlobject/postgres/pgconnection.py
+++ b/sqlobject/postgres/pgconnection.py
@@ -211,7 +211,7 @@ class PostgresConnection(DBAPI):
conn.setdecoding(self.module.SQL_WCHAR, encoding=dbEncoding)
if PY2:
conn.setencoding(str, encoding=dbEncoding)
- conn.setencoding(unicode, encoding=dbEncoding)
+ conn.setencoding(unicode, encoding=dbEncoding) # noqa
else:
conn.setencoding(encoding=dbEncoding)
self._executeRetry(conn, c,
http://sourceforge.net/p/sqlobject/sqlobject/ci/d89e61b8dadc60cea619ac089c6fafcf9556a48d
commit d89e61b8dadc60cea619ac089c6fafcf9556a48d
Author: Oleg Broytman <ph...@ph...>
Date: Fri Apr 7 06:51:30 2017 +0300
Stop running tests at Travis with Python 2.6.
diff --git a/.travis.yml b/.travis.yml
index e7773d1..c56d9ff 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -19,29 +19,23 @@ addons:
postgresql: "9.4"
env:
- - TOXENV=py26-mysqldb
- TOXENV=py27-mysqldb
- TOXENV=py34-mysqlclient
- TOXENV=py35-mysqlclient
- TOXENV=py36-mysqlclient
- - TOXENV=py26-mysql-connector
- TOXENV=py27-mysql-connector
- TOXENV=py34-mysql-connector
- TOXENV=py35-mysql-connector
- TOXENV=py36-mysql-connector
- - TOXENV=py26-mysql-oursql
- TOXENV=py27-mysql-oursql
- - TOXENV=py26-pymysql
- TOXENV=py27-pymysql
- TOXENV=py34-pymysql
- TOXENV=py35-pymysql
- TOXENV=py36-pymysql
- - TOXENV=py26-postgres-psycopg
- TOXENV=py27-postgres-psycopg
- TOXENV=py34-postgres-psycopg
- TOXENV=py35-postgres-psycopg
- TOXENV=py36-postgres-psycopg
- - TOXENV=py26-postgres-pygresql
- TOXENV=py27-postgres-pygresql
- TOXENV=py34-postgres-pygresql
- TOXENV=py35-postgres-pygresql
@@ -49,12 +43,10 @@ env:
- TOXENV=py34-pypostgresql
- TOXENV=py35-pypostgresql
- TOXENV=py36-pypostgresql
- - TOXENV=py26-sqlite
- TOXENV=py27-sqlite
- TOXENV=py34-sqlite
- TOXENV=py35-sqlite
- TOXENV=py36-sqlite
- - TOXENV=py26-sqlite-memory
- TOXENV=py27-sqlite-memory
- TOXENV=py34-sqlite-memory
- TOXENV=py35-sqlite-memory
@@ -72,7 +64,6 @@ env:
matrix:
allow_failures:
- - env: TOXENV=py26-postgres-pygresql
- env: TOXENV=py27-postgres-pygresql
- env: TOXENV=py34-postgres-pygresql
- env: TOXENV=py35-postgres-pygresql
diff --git a/docs/News.rst b/docs/News.rst
index e0fea06..f2697d6 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -29,6 +29,8 @@ Tests
* Run tests at Travis CI and AppVeyor with Python 3.6, x86 and x64.
+* Stop running tests at Travis with Python 2.6.
+
SQLObject 3.2.0
===============
http://sourceforge.net/p/sqlobject/sqlobject/ci/3a6f6eda84323d1dca94ec90d3affa111ec5ef90
commit 3a6f6eda84323d1dca94ec90d3affa111ec5ef90
Author: Oleg Broytman <ph...@ph...>
Date: Thu Apr 6 23:36:24 2017 +0300
[devscripts] Remove log files from pyodbc
[skip ci]
diff --git a/devscripts/cleanup b/devscripts/cleanup
index fa38d79..19fdb46 100755
--- a/devscripts/cleanup
+++ b/devscripts/cleanup
@@ -1,5 +1,5 @@
#! /bin/sh
cd "`dirname $0`" &&
-find . \( -name \*.orig -o -name \*.rej -o -name \*.tmp \) -type f -delete &&
+find . \( -name \*.orig -o -name \*.rej -o -name \*.tmp -o -name \*.log \) -type f -delete &&
exec rm -f /tmp/test-sqlite.sqdb*
http://sourceforge.net/p/sqlobject/sqlobject/ci/0d02d45489718c709192c53f158ad9242d4bf5ea
commit 0d02d45489718c709192c53f158ad9242d4bf5ea
Author: Oleg Broytman <ph...@ph...>
Date: Thu Apr 6 21:27:43 2017 +0300
Add support for PyODBC and PyPyODBC for MySQL
diff --git a/appveyor.yml b/appveyor.yml
index 8dda819..e7d182c 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -56,6 +56,26 @@ environment:
PYTHON_ARCH: "32"
db: mysql
TOX_ENV: "py36-mysql-connector-w32"
+ - PYTHON_HOME: "C:\\Python27-x64"
+ PYTHON_VERSION: "2.7"
+ PYTHON_ARCH: "64"
+ db: mysql
+ TOX_ENV: "py27-mysql-pyodbc-w32"
+ - PYTHON_HOME: "C:\\Python34-x64"
+ PYTHON_VERSION: "3.4"
+ PYTHON_ARCH: "64"
+ db: mysql
+ TOX_ENV: "py34-mysql-pyodbc-w32"
+ - PYTHON_HOME: "C:\\Python35-x64"
+ PYTHON_VERSION: "3.5"
+ PYTHON_ARCH: "64"
+ db: mysql
+ TOX_ENV: "py35-mysql-pyodbc-w32"
+ - PYTHON_HOME: "C:\\Python36-x64"
+ PYTHON_VERSION: "3.6"
+ PYTHON_ARCH: "64"
+ db: mysql
+ TOX_ENV: "py36-mysql-pyodbc-w32"
- PYTHON_HOME: "C:\\Python27"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "32"
@@ -116,26 +136,6 @@ environment:
PYTHON_ARCH: "64"
db: postgresql
TOX_ENV: "py36-postgres-pyodbc-w32"
- - PYTHON_HOME: "C:\\Python27-x64"
- PYTHON_VERSION: "2.7"
- PYTHON_ARCH: "64"
- db: postgresql
- TOX_ENV: "py27-postgres-pypyodbc-w32"
- - PYTHON_HOME: "C:\\Python34-x64"
- PYTHON_VERSION: "3.4"
- PYTHON_ARCH: "64"
- db: postgresql
- TOX_ENV: "py34-postgres-pypyodbc-w32"
- - PYTHON_HOME: "C:\\Python35-x64"
- PYTHON_VERSION: "3.5"
- PYTHON_ARCH: "64"
- db: postgresql
- TOX_ENV: "py35-postgres-pypyodbc-w32"
- - PYTHON_HOME: "C:\\Python36-x64"
- PYTHON_VERSION: "3.6"
- PYTHON_ARCH: "64"
- db: postgresql
- TOX_ENV: "py36-postgres-pypyodbc-w32"
- PYTHON_HOME: "C:\\Python27"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "32"
diff --git a/docs/News.rst b/docs/News.rst
index 975e185..e0fea06 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -21,8 +21,8 @@ Drivers (work in progress)
--------------------------
* Add support for PyODBC and PyPyODBC (pure-python ODBC DB API driver) for
- PostgreSQL. Driver names are ``pyodbc``, ``pypyodbc`` or ``odbc`` (try
- ``pyodbc`` and ``pypyodbc``). There are some problems.
+ MySQL and PostgreSQL. Driver names are ``pyodbc``, ``pypyodbc`` or
+ ``odbc`` (try ``pyodbc`` and ``pypyodbc``). There are some problems.
Tests
-----
diff --git a/docs/SQLObject.rst b/docs/SQLObject.rst
index 291092a..e1b9622 100644
--- a/docs/SQLObject.rst
+++ b/docs/SQLObject.rst
@@ -47,14 +47,14 @@ Requirements
============
Currently SQLObject supports MySQL_ via MySQLdb_ aka MySQL-python (called
-mysqlclient_ for Python 3), `MySQL Connector`_, oursql_ and PyMySQL_. For
-PostgreSQL_ psycopg2_ or psycopg1 are recommended; PyGreSQL_,
-py-postgresql_, PyODBC_ and PyPyODBC_ are supported but have problems (not
-all tests passed). SQLite_ has a built-in driver or PySQLite_. Firebird_
-is supported via fdb_ or kinterbasdb_; pyfirebirdsql_ is supported but has
-problems. `MAX DB`_ (also known as SAP DB) is supported via sapdb_. Sybase
-via Sybase_. `MSSQL Server`_ via pymssql_ (+ FreeTDS_) or adodbapi_
-(Win32).
+mysqlclient_ for Python 3), `MySQL Connector`_, oursql_, PyMySQL_, PyODBC_
+and PyPyODBC_. For PostgreSQL_ psycopg2_ or psycopg1 are recommended;
+PyGreSQL_, py-postgresql_, PyODBC_ and PyPyODBC_ are supported but have
+problems (not all tests passed). SQLite_ has a built-in driver or
+PySQLite_. Firebird_ is supported via fdb_ or kinterbasdb_; pyfirebirdsql_
+is supported but has problems. `MAX DB`_ (also known as SAP DB) is
+supported via sapdb_. Sybase via Sybase_. `MSSQL Server`_ via pymssql_ (+
+FreeTDS_) or adodbapi_ (Win32).
.. _MySQL: https://www.mysql.com/
.. _MySQLdb: https://sourceforge.net/projects/mysql-python/
@@ -1785,7 +1785,9 @@ transactions_ when using the InnoDB backend; SQLObject can explicitly
define the backend using ``sqlmeta.createSQL``.
Supported drivers are ``mysqldb``, ``connector``, ``oursql`` and
-``pymysql``; defualt is ``mysqldb``.
+``pymysql``, ``pyodbc``, ``pypyodbc`` or ``odbc`` (try ``pyodbc`` and
+``pypyodbc``); defualt is ``mysqldb``.
+
Keyword argument ``conv`` allows to pass a list of custom converters.
Example::
diff --git a/sqlobject/mysql/mysqlconnection.py b/sqlobject/mysql/mysqlconnection.py
index 05ef526..3da502b 100644
--- a/sqlobject/mysql/mysqlconnection.py
+++ b/sqlobject/mysql/mysqlconnection.py
@@ -8,7 +8,10 @@ from sqlobject.dbconnection import DBAPI
class ErrorMessage(str):
def __new__(cls, e, append_msg=''):
obj = str.__new__(cls, e.args[1] + append_msg)
- obj.code = int(e.args[0])
+ try:
+ obj.code = int(e.args[0])
+ except ValueError:
+ obj.code = e.args[0]
obj.module = e.__module__
obj.exception = e.__class__.__name__
return obj
@@ -67,11 +70,24 @@ class MySQLConnection(DBAPI):
oursql.errnos['CR_SERVER_GONE_ERROR']
self.CR_SERVER_LOST = oursql.errnos['CR_SERVER_LOST']
self.ER_DUP_ENTRY = oursql.errnos['ER_DUP_ENTRY']
+ elif driver == 'pyodbc':
+ import pyodbc
+ self.module = pyodbc
+ elif driver == 'pypyodbc':
+ import pypyodbc
+ self.module = pypyodbc
+ elif driver == 'odbc':
+ try:
+ import pyodbc
+ except ImportError:
+ import pypyodbc as pyodbc
+ self.module = pyodbc
else:
raise ValueError(
'Unknown MySQL driver "%s", '
'expected mysqldb, connector, '
- 'oursql or pymysql' % driver)
+ 'oursql, pymysql, '
+ 'odbc, pyodbc or pypyodbc' % driver)
except ImportError:
pass
else:
@@ -104,6 +120,11 @@ class MySQLConnection(DBAPI):
self.dbEncoding = None
self.driver = driver
+ if driver in ('odbc', 'pyodbc', 'pypyodbc'):
+ self.make_odbc_conn_str(db, host, port, user, password,
+ kw.pop('odbcdrv',
+ 'MySQL ODBC 5.3 ANSI Driver'))
+
global mysql_Bin
if not PY2 and mysql_Bin is None:
mysql_Bin = self.module.Binary
@@ -133,12 +154,17 @@ class MySQLConnection(DBAPI):
if self.driver == 'connector':
self.kw['consume_results'] = True
try:
- conn = self.module.connect(
- host=self.host, port=self.port, db=self.db,
- user=self.user, passwd=self.password, **self.kw)
- if self.driver != 'oursql':
- # Attempt to reconnect. This setting is persistent.
- conn.ping(True)
+ if self.driver in ('odbc', 'pyodbc', 'pypyodbc'):
+ self.debugWriter.write(
+ "ODBC connect string: " + self.odbc_conn_str)
+ conn = self.module.connect(self.odbc_conn_str)
+ else:
+ conn = self.module.connect(
+ host=self.host, port=self.port, db=self.db,
+ user=self.user, passwd=self.password, **self.kw)
+ if self.driver != 'oursql':
+ # Attempt to reconnect. This setting is persistent.
+ conn.ping(True)
except self.module.OperationalError as e:
conninfo = ("; used connection string: "
"host=%(host)s, port=%(port)s, "
@@ -236,7 +262,13 @@ class MySQLConnection(DBAPI):
try:
id = c.lastrowid
except AttributeError:
- id = c.insert_id()
+ try:
+ id = c.insert_id
+ except AttributeError:
+ self._executeRetry(conn, c, "SELECT LAST_INSERT_ID();")
+ id = c.fetchone()[0]
+ else:
+ id = c.insert_id()
if self.debugOutput:
self.printDebug(conn, id, 'QueryIns', 'result')
return id
@@ -274,7 +306,7 @@ class MySQLConnection(DBAPI):
self.query('DESCRIBE %s' % (tableName))
return True
except dberrors.ProgrammingError as e:
- if e.args[0].code == 1146: # ER_NO_SUCH_TABLE
+ if e.args[0].code in (1146, '42S02'): # ER_NO_SUCH_TABLE
return False
raise
diff --git a/tox.ini b/tox.ini
index 7519d99..0dfb792 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
[tox]
minversion = 1.8
-envlist = py{26,27}-{mysqldb,mysql-oursql},py{34,35,36}-{mysqlclient,pypostgresql},py{26,27,34,35,36}-{mysql-connector,pymysql,postgres-psycopg,postgres-pygresql,postgres-pyodbc,postgres-pypyodbc,sqlite,sqlite-memory},py{27,34,35,36}-{firebird-fdb,firebirdsql},py{27,34}-flake8,py{27,34,35,36}-{mssql,mysql-connector,postgres-psycopg,postgres-pyodbc,postgres-pypyodbc,sqlite,sqlite-memory}-w32
+envlist = py{26,27}-{mysqldb,mysql-oursql},py{34,35,36}-{mysqlclient,pypostgresql},py{26,27,34,35,36}-{mysql-connector,pymysql,mysql-pyodbc,mysql-pypyodbc,postgres-psycopg,postgres-pygresql,postgres-pyodbc,postgres-pypyodbc,sqlite,sqlite-memory},py{27,34,35,36}-{firebird-fdb,firebirdsql},py{27,34}-flake8,py{27,34,35,36}-{mssql,mysql-connector,mysql-pyodbc,mysql-pypyodbc,postgres-psycopg,postgres-pyodbc,postgres-pypyodbc,sqlite,sqlite-memory}-w32
# Base test environment settings
[testenv]
@@ -29,8 +29,8 @@ deps =
postgres-psycopg: psycopg2
postgres-pygresql: pygresql
pypostgresql: py-postgresql
- postgres-pyodbc: pyodbc
- postgres-pypyodbc: pypyodbc
+ pyodbc: pyodbc
+ pypyodbc: pypyodbc
firebird-fdb: fdb
firebirdsql: firebirdsql
mssql: pymssql
@@ -137,6 +137,53 @@ commands = {[pymysql]commands}
[testenv:py36-pymysql]
commands = {[pymysql]commands}
+[mysql-pyodbc]
+commands =
+ {[testenv]commands}
+ {envpython} -c "import pyodbc; print(pyodbc.drivers())"
+ -mysql -e 'drop database sqlobject_test;'
+ mysql -e 'create database sqlobject_test;'
+ pytest --cov=sqlobject -D mysql://root:@localhost/sqlobject_test?driver=pyodbc&odbcdrv=MySQL&charset=utf8&debug=1
+ mysql -e 'drop database sqlobject_test;'
+
+[testenv:py26-mysql-pyodbc]
+commands = {[mysql-pyodbc]commands}
+
+[testenv:py27-mysql-pyodbc]
+commands = {[mysql-pyodbc]commands}
+
+[testenv:py34-mysql-pyodbc]
+commands = {[mysql-pyodbc]commands}
+
+[testenv:py35-mysql-pyodbc]
+commands = {[mysql-pyodbc]commands}
+
+[testenv:py36-mysql-pyodbc]
+commands = {[mysql-pyodbc]commands}
+
+[mysql-pypyodbc]
+commands =
+ {[testenv]commands}
+ -mysql -e 'drop database sqlobject_test;'
+ mysql -e 'create database sqlobject_test;'
+ pytest --cov=sqlobject -D mysql://root:@localhost/sqlobject_test?driver=pypyodbc&odbcdrv=MySQL&charset=utf8&debug=1
+ mysql -e 'drop database sqlobject_test;'
+
+[testenv:py26-mysql-pypyodbc]
+commands = {[mysql-pypyodbc]commands}
+
+[testenv:py27-mysql-pypyodbc]
+commands = {[mysql-pypyodbc]commands}
+
+[testenv:py34-mysql-pypyodbc]
+commands = {[mysql-pypyodbc]commands}
+
+[testenv:py35-mysql-pypyodbc]
+commands = {[mysql-pypyodbc]commands}
+
+[testenv:py36-mysql-pypyodbc]
+commands = {[mysql-pypyodbc]commands}
+
# PostgreSQL test environments
[psycopg]
commands =
... 1927 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-26 01:19:24
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via b6c60444aefc8cb2a8a192ba38f59e61a2505ec8 (commit)
via aa993f05dfaa4e12e7c501e14e70e0c2d9861f19 (commit)
from ca89f873c3137c2f47e18fbb435ee0c4af3a3a4a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/b6c60444aefc8cb2a8a192ba38f59e61a2505ec8
commit b6c60444aefc8cb2a8a192ba38f59e61a2505ec8
Author: Oleg Broytman <ph...@ph...>
Date: Sun Mar 26 03:40:07 2017 +0300
Work with Python 3.6
[skip ci]
diff --git a/devscripts/release b/devscripts/release
index 3043a88..ee492aa 100755
--- a/devscripts/release
+++ b/devscripts/release
@@ -10,7 +10,7 @@ chmod -R a+rX . &&
python setup.py build_py &&
python setup.py register sdist upload --sign &&
-for py in 2.6 2.7 3.4 3.5; do
+for py in 2.6 2.7 3.4 3.5 3.6; do
find build -name '*.py[co]' -delete &&
python$py -m compileall build &&
python$py -O -m compileall build &&
diff --git a/devscripts/run-all-tests b/devscripts/run-all-tests
index 6c1bae6..80b2e1a 100755
--- a/devscripts/run-all-tests
+++ b/devscripts/run-all-tests
@@ -3,7 +3,7 @@
cd "`dirname \"$0\"`"/SQLObject &&
SO_DIR="`dirname $0`"
-for py_ver in 2.6 2.7 3.4 3.5; do
+for py_ver in 2.6 2.7 3.4 3.5 3.6; do
echo "---------- PYTHON $py_ver "$1" ----------"
"$SO_DIR"/cleanup &&
PY_VER=$py_ver "$SO_DIR"/run-tests-"$1" \
diff --git a/devscripts/setup b/devscripts/setup
index 8f4d2f5..315e84a 100755
--- a/devscripts/setup
+++ b/devscripts/setup
@@ -4,7 +4,7 @@ umask 002 # -rwxrwxr-x
cd "`dirname \"$0\"`"/SQLObject &&
python2.6 setup.py install -O2 &&
-for py_ver in 2.7 3.4 3.5; do
+for py_ver in 2.7 3.4 3.5 3.6; do
python$py_ver -m pip install --install-option=-O2 --upgrade .
done &&
http://sourceforge.net/p/sqlobject/sqlobject/ci/aa993f05dfaa4e12e7c501e14e70e0c2d9861f19
commit aa993f05dfaa4e12e7c501e14e70e0c2d9861f19
Author: Oleg Broytman <ph...@ph...>
Date: Sun Mar 26 01:56:20 2017 +0300
Fix tests under Python 3.6 + SQLite memory DB
diff --git a/sqlobject/tests/dbtest.py b/sqlobject/tests/dbtest.py
index 8ddcaa3..ed1cb48 100644
--- a/sqlobject/tests/dbtest.py
+++ b/sqlobject/tests/dbtest.py
@@ -101,7 +101,7 @@ def getConnection(**kw):
conn.debug = True
if conftest.option.show_sql_output:
conn.debugOutput = True
- if conn.dbName == 'sqlite':
+ if (conn.dbName == 'sqlite') and not conn._memory:
speedupSQLiteConnection(conn)
return conn
-----------------------------------------------------------------------
Summary of changes:
devscripts/release | 2 +-
devscripts/run-all-tests | 2 +-
devscripts/setup | 2 +-
sqlobject/tests/dbtest.py | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-25 22:14:23
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via ca89f873c3137c2f47e18fbb435ee0c4af3a3a4a (commit)
via 801dae53ba83aa313b281a1aa5782f84433b79e1 (commit)
via 0faf96630e54a95b43e5829ac5ab5251136a0975 (commit)
via 8d714e82c7fb3618c2a960ef417d799e07932170 (commit)
via 093945bac78e061b5daf58a6dc544597f10b2c53 (commit)
from 6c87d84438b7259af7e8348a16c3831df8abedb7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/ca89f873c3137c2f47e18fbb435ee0c4af3a3a4a
commit ca89f873c3137c2f47e18fbb435ee0c4af3a3a4a
Author: Oleg Broytman <ph...@ph...>
Date: Sat Mar 25 23:23:35 2017 +0300
Run MySQL tests at AppVeyor with Python 3.5 and 3.6
diff --git a/appveyor.yml b/appveyor.yml
index ae8b89a..5966552 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -29,6 +29,12 @@ environment:
- PYTHON: "C:\\Python34"
db: mysql
TOX_ENV: "py34-mysql-connector-w32"
+ - PYTHON: "C:\\Python35"
+ db: mysql
+ TOX_ENV: "py35-mysql-connector-w32"
+ - PYTHON: "C:\\Python36"
+ db: mysql
+ TOX_ENV: "py36-mysql-connector-w32"
- PYTHON: "C:\\Python27"
db: postgresql
TOX_ENV: "py27-postgres-psycopg-w32"
diff --git a/tox.ini b/tox.ini
index edf6e41..3d37e1d 100644
--- a/tox.ini
+++ b/tox.ini
@@ -300,7 +300,7 @@ commands = {[mssql-w32]commands}
commands =
-mysql -u root "-pPassword12!" -e 'drop database sqlobject_test;'
mysql -u root "-pPassword12!" -e 'create database sqlobject_test;'
- pytest --cov=sqlobject -D "mysql://root:Password12!@localhost/sqlobject_test?driver=connector&debug=1"
+ pytest --cov=sqlobject -D "mysql://root:Password12!@localhost/sqlobject_test?driver=connector&charset=utf8&debug=1"
mysql -u root "-pPassword12!" -e 'drop database sqlobject_test;'
[testenv:py27-mysql-connector-w32]
http://sourceforge.net/p/sqlobject/sqlobject/ci/801dae53ba83aa313b281a1aa5782f84433b79e1
commit 801dae53ba83aa313b281a1aa5782f84433b79e1
Author: Oleg Broytman <ph...@ph...>
Date: Sat Mar 25 22:48:12 2017 +0300
Use mysql-connector version <= 2.2.2
mysql-connector >= 2.2.3 requires Protobuf >= 2.6.0.
diff --git a/tox.ini b/tox.ini
index 58c9498..edf6e41 100644
--- a/tox.ini
+++ b/tox.ini
@@ -15,7 +15,7 @@ deps =
py{26,27}: egenix-mx-base
mysqldb: mysql-python
mysqlclient: mysqlclient
- mysql-connector: mysql-connector
+ mysql-connector: mysql-connector <= 2.2.2
mysql-oursql: oursql
pymysql: pymysql
postgres-psycopg: psycopg2
http://sourceforge.net/p/sqlobject/sqlobject/ci/0faf96630e54a95b43e5829ac5ab5251136a0975
commit 0faf96630e54a95b43e5829ac5ab5251136a0975
Author: Oleg Broytman <ph...@ph...>
Date: Sat Mar 25 18:27:54 2017 +0300
Disable microseconds at AppVeyor for MySQL
diff --git a/sqlobject/mysql/mysqlconnection.py b/sqlobject/mysql/mysqlconnection.py
index cffb7d5..05ef526 100644
--- a/sqlobject/mysql/mysqlconnection.py
+++ b/sqlobject/mysql/mysqlconnection.py
@@ -1,3 +1,5 @@
+import os
+
from sqlobject import col, dberrors
from sqlobject.compat import PY2
from sqlobject.dbconnection import DBAPI
@@ -411,6 +413,9 @@ class MySQLConnection(DBAPI):
def can_use_microseconds(self):
if self._can_use_microseconds is not None:
return self._can_use_microseconds
+ if os.environ.get('APPVEYOR'):
+ self._can_use_microseconds = False
+ return False
server_version = self.server_version()
if server_version is None:
return None
diff --git a/sqlobject/tests/dbtest.py b/sqlobject/tests/dbtest.py
index 9102d99..8ddcaa3 100644
--- a/sqlobject/tests/dbtest.py
+++ b/sqlobject/tests/dbtest.py
@@ -120,7 +120,11 @@ except Exception as e:
if 'sphinx' not in sys.modules:
print("Could not open database: %s" % e, file=sys.stderr)
else:
- if connection.dbName == 'firebird':
+ if (connection.dbName == 'firebird') \
+ or (
+ (connection.dbName == 'mysql') and
+ (os.environ.get('APPVEYOR'))
+ ):
use_microseconds(False)
diff --git a/tox.ini b/tox.ini
index 38a8778..58c9498 100644
--- a/tox.ini
+++ b/tox.ini
@@ -24,7 +24,7 @@ deps =
firebird-fdb: fdb
firebirdsql: firebirdsql
mssql: pymssql
-passenv = CI TRAVIS TRAVIS_* PGPASSWORD
+passenv = CI TRAVIS TRAVIS_* PGPASSWORD APPVEYOR
# Don't fail or warn on uninstalled commands
whitelist_externals =
mysql
http://sourceforge.net/p/sqlobject/sqlobject/ci/8d714e82c7fb3618c2a960ef417d799e07932170
commit 8d714e82c7fb3618c2a960ef417d799e07932170
Author: Oleg Broytman <ph...@ph...>
Date: Sat Mar 25 16:30:29 2017 +0300
Refactor .travis.yml: move around some sections
diff --git a/.travis.yml b/.travis.yml
index d29b2ba..e7773d1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,23 +18,6 @@ addons:
- firebird2.5-super
postgresql: "9.4"
-before_install:
- # Start the firebird database server.
- # We use firebird-super, so there's none of the inetd configuration
- # required by firebird-classic.
- # We also create a test user for the firebird test and
- # create a script that can be fed into isql-fb
- # to create the test database.
- - if [[ $TOXENV = *firebird* ]]; then
- sudo sed -i /etc/default/firebird2.5 -e 's/=no/=yes/' &&
- sudo /etc/init.d/firebird2.5-super start && sleep 5 &&
- sudo touch /var/lib/firebird/create_test_db &&
- sudo chmod 666 /var/lib/firebird/create_test_db &&
- echo "CREATE DATABASE 'localhost:/tmp/test.fdb';" > /var/lib/firebird/create_test_db &&
- sudo chmod 644 /var/lib/firebird/create_test_db &&
- sudo gsec -user sysdba -pass masterkey -add test -pw test;
- fi
-
env:
- TOXENV=py26-mysqldb
- TOXENV=py27-mysqldb
@@ -87,8 +70,6 @@ env:
- TOXENV=py35-firebirdsql
- TOXENV=py36-firebirdsql
-install: travis_retry pip install tox coveralls codecov
-
matrix:
allow_failures:
- env: TOXENV=py26-postgres-pygresql
@@ -109,6 +90,25 @@ matrix:
- env: TOXENV=py36-firebirdsql
fast_finish: true
+before_install:
+ # Start the firebird database server.
+ # We use firebird-super, so there's none of the inetd configuration
+ # required by firebird-classic.
+ # We also create a test user for the firebird test and
+ # create a script that can be fed into isql-fb
+ # to create the test database.
+ - if [[ $TOXENV = *firebird* ]]; then
+ sudo sed -i /etc/default/firebird2.5 -e 's/=no/=yes/' &&
+ sudo /etc/init.d/firebird2.5-super start && sleep 5 &&
+ sudo touch /var/lib/firebird/create_test_db &&
+ sudo chmod 666 /var/lib/firebird/create_test_db &&
+ echo "CREATE DATABASE 'localhost:/tmp/test.fdb';" > /var/lib/firebird/create_test_db &&
+ sudo chmod 644 /var/lib/firebird/create_test_db &&
+ sudo gsec -user sysdba -pass masterkey -add test -pw test;
+ fi
+
+install: travis_retry pip install tox coveralls codecov
+
script: tox -e ${TOXENV}
after_success:
http://sourceforge.net/p/sqlobject/sqlobject/ci/093945bac78e061b5daf58a6dc544597f10b2c53
commit 093945bac78e061b5daf58a6dc544597f10b2c53
Author: Oleg Broytman <ph...@ph...>
Date: Sat Mar 25 16:21:46 2017 +0300
Run tests at Travis CI and AppVeyor with Python 3.6, x86 and x64
diff --git a/.travis.yml b/.travis.yml
index eca2470..d29b2ba 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,6 +3,9 @@ sudo: required
language: python
+python:
+ - "3.6"
+
cache: pip
addons:
@@ -37,42 +40,52 @@ env:
- TOXENV=py27-mysqldb
- TOXENV=py34-mysqlclient
- TOXENV=py35-mysqlclient
+ - TOXENV=py36-mysqlclient
- TOXENV=py26-mysql-connector
- TOXENV=py27-mysql-connector
- TOXENV=py34-mysql-connector
- TOXENV=py35-mysql-connector
+ - TOXENV=py36-mysql-connector
- TOXENV=py26-mysql-oursql
- TOXENV=py27-mysql-oursql
- TOXENV=py26-pymysql
- TOXENV=py27-pymysql
- TOXENV=py34-pymysql
- TOXENV=py35-pymysql
+ - TOXENV=py36-pymysql
- TOXENV=py26-postgres-psycopg
- TOXENV=py27-postgres-psycopg
- TOXENV=py34-postgres-psycopg
- TOXENV=py35-postgres-psycopg
+ - TOXENV=py36-postgres-psycopg
- TOXENV=py26-postgres-pygresql
- TOXENV=py27-postgres-pygresql
- TOXENV=py34-postgres-pygresql
- TOXENV=py35-postgres-pygresql
+ - TOXENV=py36-postgres-pygresql
- TOXENV=py34-pypostgresql
- TOXENV=py35-pypostgresql
+ - TOXENV=py36-pypostgresql
- TOXENV=py26-sqlite
- TOXENV=py27-sqlite
- TOXENV=py34-sqlite
- TOXENV=py35-sqlite
+ - TOXENV=py36-sqlite
- TOXENV=py26-sqlite-memory
- TOXENV=py27-sqlite-memory
- TOXENV=py34-sqlite-memory
- TOXENV=py35-sqlite-memory
+ - TOXENV=py36-sqlite-memory
- TOXENV=py27-flake8
- TOXENV=py34-flake8
- TOXENV=py27-firebird-fdb
- TOXENV=py34-firebird-fdb
- TOXENV=py35-firebird-fdb
+ - TOXENV=py36-firebird-fdb
- TOXENV=py27-firebirdsql
- TOXENV=py34-firebirdsql
- TOXENV=py35-firebirdsql
+ - TOXENV=py36-firebirdsql
install: travis_retry pip install tox coveralls codecov
@@ -82,14 +95,18 @@ matrix:
- env: TOXENV=py27-postgres-pygresql
- env: TOXENV=py34-postgres-pygresql
- env: TOXENV=py35-postgres-pygresql
+ - env: TOXENV=py36-postgres-pygresql
- env: TOXENV=py34-pypostgresql
- env: TOXENV=py35-pypostgresql
+ - env: TOXENV=py36-pypostgresql
- env: TOXENV=py27-firebird-fdb
- env: TOXENV=py34-firebird-fdb
- env: TOXENV=py35-firebird-fdb
+ - env: TOXENV=py36-firebird-fdb
- env: TOXENV=py27-firebirdsql
- env: TOXENV=py34-firebirdsql
- env: TOXENV=py35-firebirdsql
+ - env: TOXENV=py36-firebirdsql
fast_finish: true
script: tox -e ${TOXENV}
diff --git a/appveyor.yml b/appveyor.yml
index c7ccf44..ae8b89a 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -47,6 +47,12 @@ environment:
- PYTHON: "C:\\Python35-x64"
db: postgresql
TOX_ENV: "py35-postgres-psycopg-w32"
+ - PYTHON: "C:\\Python36"
+ db: postgresql
+ TOX_ENV: "py36-postgres-psycopg-w32"
+ - PYTHON: "C:\\Python36-x64"
+ db: postgresql
+ TOX_ENV: "py36-postgres-psycopg-w32"
- PYTHON: "C:\\Python27"
TOX_ENV: "py27-sqlite-w32"
- PYTHON: "C:\\Python27-x64"
@@ -59,6 +65,10 @@ environment:
TOX_ENV: "py35-sqlite-w32"
- PYTHON: "C:\\Python35-x64"
TOX_ENV: "py35-sqlite-w32"
+ - PYTHON: "C:\\Python36"
+ TOX_ENV: "py36-sqlite-w32"
+ - PYTHON: "C:\\Python36-x64"
+ TOX_ENV: "py36-sqlite-w32"
- PYTHON: "C:\\Python27"
TOX_ENV: "py27-sqlite-memory-w32"
- PYTHON: "C:\\Python27-x64"
@@ -71,6 +81,10 @@ environment:
TOX_ENV: "py35-sqlite-memory-w32"
- PYTHON: "C:\\Python35-x64"
TOX_ENV: "py35-sqlite-memory-w32"
+ - PYTHON: "C:\\Python36"
+ TOX_ENV: "py36-sqlite-memory-w32"
+ - PYTHON: "C:\\Python36-x64"
+ TOX_ENV: "py36-sqlite-memory-w32"
install:
# Ensure we use the right python version
diff --git a/docs/News.rst b/docs/News.rst
index 57fa4c0..6123ae0 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -17,6 +17,11 @@ Minor features
Some of thses scripts are version-dependent so it's better to have them
in the main repo.
+Tests
+-----
+
+* Run tests at Travis CI and AppVeyor with Python 3.6, x86 and x64.
+
SQLObject 3.2.0
===============
diff --git a/setup.py b/setup.py
index 031c43d..d4b4324 100755
--- a/setup.py
+++ b/setup.py
@@ -80,6 +80,7 @@ and `GitHub <https://github.com/sqlobject>`_.
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
+ "Programming Language :: Python :: 3.6",
"Topic :: Database",
"Topic :: Database :: Front-Ends",
"Topic :: Software Development :: Libraries :: Python Modules",
diff --git a/tox.ini b/tox.ini
index 3cd1677..38a8778 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
[tox]
minversion = 1.8
-envlist = py{26,27}-{mysqldb,mysql-oursql},py{34,35}-{mysqlclient,pypostgresql},py{26,27,34,35}-{mysql-connector,pymysql,postgres-psycopg,postgres-pygresql,sqlite,sqlite-memory},py{27,34,35}-{firebird-fdb,firebirdsql},py{27,34}-flake8,py{27,34,35}-{mssql,mysql-connector,postgres-psycopg,sqlite,sqlite-memory}-w32
+envlist = py{26,27}-{mysqldb,mysql-oursql},py{34,35,36}-{mysqlclient,pypostgresql},py{26,27,34,35,36}-{mysql-connector,pymysql,postgres-psycopg,postgres-pygresql,sqlite,sqlite-memory},py{27,34,35,36}-{firebird-fdb,firebirdsql},py{27,34}-flake8,py{27,34,35,36}-{mssql,mysql-connector,postgres-psycopg,sqlite,sqlite-memory}-w32
# Base test environment settings
[testenv]
@@ -10,7 +10,7 @@ deps =
pytest
pytest-cov
py{26,27}: FormEncode >= 1.1.1, != 1.3.0
- py{34,35}: FormEncode >= 1.3.1
+ py{34,35,36}: FormEncode >= 1.3.1
PyDispatcher>=2.0.4
py{26,27}: egenix-mx-base
mysqldb: mysql-python
@@ -62,6 +62,9 @@ commands = {[mysqlclient]commands}
[testenv:py35-mysqlclient]
commands = {[mysqlclient]commands}
+[testenv:py36-mysqlclient]
+commands = {[mysqlclient]commands}
+
[mysql-connector]
commands =
-mysql -e 'drop database sqlobject_test;'
@@ -81,6 +84,9 @@ commands = {[mysql-connector]commands}
[testenv:py35-mysql-connector]
commands = {[mysql-connector]commands}
+[testenv:py36-mysql-connector]
+commands = {[mysql-connector]commands}
+
[oursql]
commands =
-mysql -e 'drop database sqlobject_test;'
@@ -113,6 +119,9 @@ commands = {[pymysql]commands}
[testenv:py35-pymysql]
commands = {[pymysql]commands}
+[testenv:py36-pymysql]
+commands = {[pymysql]commands}
+
# PostgreSQL test environments
[psycopg]
commands =
@@ -133,6 +142,9 @@ commands = {[psycopg]commands}
[testenv:py35-postgres-psycopg]
commands = {[psycopg]commands}
+[testenv:py36-postgres-psycopg]
+commands = {[psycopg]commands}
+
[pygresql]
commands =
-dropdb -U postgres -w sqlobject_test
@@ -152,6 +164,9 @@ commands = {[pygresql]commands}
[testenv:py35-postgres-pygresql]
commands = {[pygresql]commands}
+[testenv:py36-postgres-pygresql]
+commands = {[pygresql]commands}
+
[pypostgresql]
commands =
-dropdb -U postgres -w sqlobject_test
@@ -165,6 +180,9 @@ commands = {[pypostgresql]commands}
[testenv:py35-pypostgresql]
commands = {[pypostgresql]commands}
+[testenv:py36-pypostgresql]
+commands = {[pypostgresql]commands}
+
# SQLite test environments
[sqlite]
commands =
@@ -184,6 +202,9 @@ commands = {[sqlite]commands}
[testenv:py35-sqlite]
commands = {[sqlite]commands}
+[testenv:py36-sqlite]
+commands = {[sqlite]commands}
+
[sqlite-memory]
commands =
pytest --cov=sqlobject -D sqlite:/:memory:?debug=1
@@ -200,6 +221,9 @@ commands = {[sqlite-memory]commands}
[testenv:py35-sqlite-memory]
commands = {[sqlite-memory]commands}
+[testenv:py36-sqlite-memory]
+commands = {[sqlite-memory]commands}
+
# Firebird database test environments
[fdb]
commands =
@@ -217,6 +241,9 @@ commands = {[fdb]commands}
[testenv:py35-firebird-fdb]
commands = {[fdb]commands}
+[testenv:py36-firebird-fdb]
+commands = {[fdb]commands}
+
[firebirdsql]
commands =
sudo rm -f /tmp/test.fdb
@@ -233,6 +260,9 @@ commands = {[firebirdsql]commands}
[testenv:py35-firebirdsql]
commands = {[firebirdsql]commands}
+[testenv:py36-firebirdsql]
+commands = {[firebirdsql]commands}
+
# Special test environments
[testenv:py27-flake8]
changedir = ./
@@ -263,6 +293,9 @@ commands = {[mssql-w32]commands}
[testenv:py35-mssql-w32]
commands = {[mssql-w32]commands}
+[testenv:py36-mssql-w32]
+commands = {[mssql-w32]commands}
+
[mysql-connector-w32]
commands =
-mysql -u root "-pPassword12!" -e 'drop database sqlobject_test;'
@@ -279,6 +312,9 @@ commands = {[mysql-connector-w32]commands}
[testenv:py35-mysql-connector-w32]
... 47 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-25 04:37:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via 6c87d84438b7259af7e8348a16c3831df8abedb7 (commit)
from dd3a93bd6d11a2580789c59f852a9b5f94c1c219 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/6c87d84438b7259af7e8348a16c3831df8abedb7
commit 6c87d84438b7259af7e8348a16c3831df8abedb7
Author: Oleg Broytman <ph...@ph...>
Date: Sat Mar 25 07:15:28 2017 +0300
Change release process
Edit ANNOUNCE.rst in prerelease script.
Edit build-all-docs before merging upward.
We stopped using ReadTheDocs.
Do not commit docs - we stopped using Github/Gitlab Pages.
Announce new releases at Twitter/Wiki after mailing lists.
[skip ci]
diff --git a/devscripts/RELEASE-CHECKLIST b/devscripts/RELEASE-CHECKLIST
index 43e939c..cbc08c2 100644
--- a/devscripts/RELEASE-CHECKLIST
+++ b/devscripts/RELEASE-CHECKLIST
@@ -2,24 +2,25 @@
tests passed.
1. Check out the release branch. If it is a stable release - edit
- docs/News.rst to set release date. Commit. If it's not master - merge
- to all higher branches and master.
+ docs/News.rst to set release date. Commit.
-2. If release branch is not master - run ../prerelease $NEW_TAG; if it's
- master - run ../prerelease $NEW_TAG master.
+2. If it's the first stable release of the branch - edit build-all-docs,
+ advance stable branch. Commit. If it's not master - merge to all higher
+ branches and master.
-2a. The script checks out the release branch and calls editor; edit
- __version__.py and README.rst in the release branch - fix versions.
- Edit section [egg_info] in setup.cfg - set if it is a stable or
- development release. In setup.py edit "Development Status" in trove
- classifiers; edit download URL: if a non-stable version - append
- 'dev' and date stamp, for a stable version remove 'dev' and date
- stamp). Commit. Verify.
+3. If release branch is not master - run ../prerelease $NEW_TAG; if it's
+ master - run ../prerelease $NEW_TAG master.
-3. If it's not master - null-merge to the next higher branch.
+3a. The script checks out the release branch and calls editor; update
+ version, the list of contributors, the list of changes and download
+ URL in ANNOUNCE.rst; edit __version__.py and README.rst in the release
+ branch - fix versions. Edit section [egg_info] in setup.cfg - set if
+ it is a stable or development release. In setup.py edit "Development
+ Status" in trove classifiers; edit download URL: if a non-stable
+ version - append 'dev' and date stamp, for a stable version remove
+ 'dev' and date stamp). Commit. Verify.
-4. Update version, the list of changes, the list of contributors and
- download URL in ANNOUNCE.rst
+4. If it's not master - null-merge to the next higher branch.
5. If release branch is not master - run ../prerelease-tag $NEW_TAG; if
it's master - run ../prerelease-tag $NEW_TAG master. This checks out
@@ -32,19 +33,17 @@
7. Hide/show old releases at PyPI and SourceForge.
-8. If it's the first stable release of the branch - edit build-all-docs,
- advance stable branch. If it's a stable release edit stable tag at
- ReadTheDocs. Generate new docs using ./build-all-docs. Commit generated
- docs. Upload docs using ./publish-docs.
+8. Generate new docs using ./build-all-docs. Upload docs using
+ ./publish-docs.
9. Run ../push-all in the development repository to push all branches
and tags to the public repositories.
-10. Announce new release(s) at Twitter (https://twitter.com/SQLObject) and
- Wikipedia (https://en.wikipedia.org/wiki/SQLObject). If it is a stable
- release - announce it at
- https://en.wikipedia.org/wiki/Comparison_of_object-relational_mapping_software.
-
-11. Send announcement to the SQLObject mailing list. For a stable
+10. Send announcement to the SQLObject mailing list. For a stable
release send announcements to python, python-announce and python-db
mailing lists.
+
+11. Announce new release(s) at Twitter (https://twitter.com/SQLObject) and
+ Wikipedia (https://en.wikipedia.org/wiki/SQLObject). If it is a stable
+ release - announce it at
+ https://en.wikipedia.org/wiki/Comparison_of_object-relational_mapping_software.
diff --git a/devscripts/prerelease b/devscripts/prerelease
index 0386c16..17ed890 100755
--- a/devscripts/prerelease
+++ b/devscripts/prerelease
@@ -22,5 +22,5 @@ micro = $micro
release_level = '$state'
serial = $serial
version_info = (major, minor, micro, release_level, serial)" > sqlobject/__version__.py &&
-`git var GIT_EDITOR` docs/News.rst sqlobject/__version__.py README.rst setup.cfg setup.py &&
-exec git commit --message="Release $tag" docs/News.rst sqlobject/__version__.py README.rst setup.cfg setup.py
+`git var GIT_EDITOR` ANNOUNCE.rst docs/News.rst sqlobject/__version__.py README.rst setup.cfg setup.py &&
+exec git commit --message="Release $tag" ANNOUNCE.rst docs/News.rst sqlobject/__version__.py README.rst setup.cfg setup.py
-----------------------------------------------------------------------
Summary of changes:
devscripts/RELEASE-CHECKLIST | 47 ++++++++++++++++++++++----------------------
devscripts/prerelease | 4 ++--
2 files changed, 25 insertions(+), 26 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-22 23:11:15
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via dd3a93bd6d11a2580789c59f852a9b5f94c1c219 (commit)
from fdf95c96fc2f06719af798c27825d4507f3ab9a8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/dd3a93bd6d11a2580789c59f852a9b5f94c1c219
commit dd3a93bd6d11a2580789c59f852a9b5f94c1c219
Author: Oleg Broytman <ph...@ph...>
Date: Thu Mar 23 02:05:30 2017 +0300
Refactor release script
[skip ci]
diff --git a/devscripts/release b/devscripts/release
index 21ce6e4..3043a88 100755
--- a/devscripts/release
+++ b/devscripts/release
@@ -10,27 +10,15 @@ chmod -R a+rX . &&
python setup.py build_py &&
python setup.py register sdist upload --sign &&
-for py in 6 7; do
+for py in 2.6 2.7 3.4 3.5; do
find build -name '*.py[co]' -delete &&
- python2.$py -m compileall build &&
- python2.$py -O -m compileall build &&
- python2.$py setup.py bdist_egg upload --sign || exit 1
+ python$py -m compileall build &&
+ python$py -O -m compileall build &&
+ python$py setup.py bdist_egg upload --sign || exit 1
done
-version="`python setup.py -V`" &&
-. `dirname $0`/split.sh &&
-split_tag $version
-
-if [ "$major" -ge 3 ]; then
- find build -name '*.py[co]' -delete &&
- python setup.py bdist_wheel --universal upload --sign &&
- for py in 4 5; do
- find build -name '*.py[co]' -delete &&
- python3.$py -m compileall build &&
- python3.$py -O -m compileall build &&
- python3.$py setup.py bdist_egg upload --sign || exit 1
- done
-fi
+find build -name '*.py[co]' -delete &&
+python setup.py bdist_wheel --universal upload --sign &&
if [ "$state" = final ]; then
cp -a dist/* "$HOME"/tmp/ &&
-----------------------------------------------------------------------
Summary of changes:
devscripts/release | 24 ++++++------------------
1 file changed, 6 insertions(+), 18 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-21 14:34:37
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via fdf95c96fc2f06719af798c27825d4507f3ab9a8 (commit)
via 899d057a1a2465c8f2fecd0164306a6f70858c8e (commit)
via 63cdcff9efd3ada1509e8e6f2fd1ce2765c6eae6 (commit)
from aa22d9f6f0c92001ac87d035d5e95d9e310f9946 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/fdf95c96fc2f06719af798c27825d4507f3ab9a8
commit fdf95c96fc2f06719af798c27825d4507f3ab9a8
Author: Oleg Broytman <ph...@ph...>
Date: Tue Mar 21 17:32:16 2017 +0300
The next minor version will be 3.3.
[skip ci]
diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst
index 1dc2eb2..e636be5 100644
--- a/ANNOUNCE.rst
+++ b/ANNOUNCE.rst
@@ -1,12 +1,28 @@
Hello!
-I'm pleased to announce version 3.2.1, the first bugfix release of branch
+I'm pleased to announce version 3.3.0a1, the first alpha of the upcoming
+release of branch 3.2 of SQLObject.
+
+I'm pleased to announce version 3.3.0a2, the second alpha of the upcoming
+release of branch 3.2 of SQLObject.
+
+I'm pleased to announce version 3.3.0b1, the first beta of the upcoming
+release of branch 3.2 of SQLObject.
+
+I'm pleased to announce version 3.3.0rc1, the first release candidate
+of the upcoming release of branch 3.2 of SQLObject.
+
+I'm pleased to announce version 3.3.0, the first stable release of branch
+3.2 of SQLObject.
+
+I'm pleased to announce version 3.3.1, the first bugfix release of branch
3.2 of SQLObject.
What's new in SQLObject
=======================
+
Contributor for this release is
For a more complete list, please see the news:
@@ -42,7 +58,7 @@ Archives:
http://news.gmane.org/gmane.comp.python.sqlobject
Download:
-https://pypi.python.org/pypi/SQLObject/3.2.1a0.dev20170311
+https://pypi.python.org/pypi/SQLObject/3.3.0a0.dev20170110
News and changes:
http://sqlobject.org/News.html
http://sourceforge.net/p/sqlobject/sqlobject/ci/899d057a1a2465c8f2fecd0164306a6f70858c8e
commit 899d057a1a2465c8f2fecd0164306a6f70858c8e
Author: Oleg Broytman <ph...@ph...>
Date: Tue Mar 21 17:31:42 2017 +0300
The next bugfix version will be 3.2.1
[skip ci]
diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst
index d10189d..1dc2eb2 100644
--- a/ANNOUNCE.rst
+++ b/ANNOUNCE.rst
@@ -1,105 +1,13 @@
Hello!
-I'm pleased to announce version 3.2.0, the first stable release of branch
+I'm pleased to announce version 3.2.1, the first bugfix release of branch
3.2 of SQLObject.
What's new in SQLObject
=======================
-Contributor for this release is Neil Muller.
-
-Minor features
---------------
-
-* Drop table name from ``VACUUM`` command in SQLiteConnection: SQLite
- doesn't vacuum a single table and SQLite 3.15 uses the supplied name as
- the name of the attached database to vacuum.
-
-* Remove ``driver`` keyword from RdbhostConnection as it allows one driver
- ``rdbhdb``.
-
-* Add ``driver`` keyword for FirebirdConnection. Allowed values are 'fdb',
- 'kinterbasdb' and 'pyfirebirdsql'. Default is to test 'fdb' and
- 'kinterbasdb' in that order. pyfirebirdsql is supported but has problems.
-
-* Add ``driver`` keyword for MySQLConnection. Allowed values are 'mysqldb',
- 'connector', 'oursql' and 'pymysql'. Default is to test for mysqldb only.
-
-* Add support for `MySQL Connector
- <https://pypi.python.org/pypi/mysql-connector>`_ (pure python; `binary
- packages <https://dev.mysql.com/doc/connector-python/en/>`_ are not at
- PyPI and hence are hard to install and test).
-
-* Add support for `oursql <https://github.com/python-oursql/oursql>`_ MySQL
- driver (only Python 2.6 and 2.7 until oursql author fixes Python 3
- compatibility).
-
-* Add support for `PyMySQL <https://github.com/PyMySQL/PyMySQL/>`_ - pure
- python mysql interface).
-
-* Add parameter ``timeout`` for MSSQLConnection (usable only with pymssql
- driver); timeouts are in seconds.
-
-* Remove deprecated ez_setup.py.
-
-Drivers (work in progress)
---------------------------
-
-* Extend support for PyGreSQL driver. There are still some problems.
-
-* Add support for `py-postgresql
- <https://pypi.python.org/pypi/py-postgresql>`_ PostgreSQL driver. There
- are still problems with the driver.
-
-* Add support for `pyfirebirdsql
- <https://pypi.python.org/pypi/firebirdsql>`_.There are still problems with
- the driver.
-
-Bug fixes
----------
-
-* Fix MSSQLConnection.columnsFromSchema: remove `(` and `)` from default
- value.
-
-* Fix MSSQLConnection and SybaseConnection: insert default values into a table
- with just one IDENTITY column.
-
-* Remove excessive NULLs from ``CREATE TABLE`` for MSSQL/Sybase.
-
-* Fix concatenation operator for MSSQL/Sybase (it's ``+``, not ``||``).
-
-* Fix MSSQLConnection.server_version() under Py3 (decode version to str).
-
-Documentation
--------------
-
-* The docs are now generated with Sphinx.
-
-* Move ``docs/LICENSE`` to the top-level directory so that Github
- recognizes it.
-
-Tests
------
-
-* Rename ``py.test`` -> ``pytest`` in tests and docs.
-
-* Great Renaming: fix ``pytest`` warnings by renaming ``TestXXX`` classes
- to ``SOTestXXX`` to prevent ``pytest`` to recognize them as test classes.
-
-* Fix ``pytest`` warnings by converting yield tests to plain calls: yield
- tests were deprecated in ``pytest``.
-
-* Tests are now run at CIs with Python 3.5.
-
-* Drop ``Circle CI``.
-
-* Run at Travis CI tests with Firebird backend (server version 2.5;
- drivers fdb and firebirdsql). There are problems with tests.
-
-* Run tests at AppVeyor for windows testing. Run tests with MS SQL,
- MySQL, Postgres and SQLite backends; use Python 2.7, 3.4 and 3.5,
- x86 and x64. There are problems with MS SQL and MySQL.
+Contributor for this release is
For a more complete list, please see the news:
http://sqlobject.org/News.html
@@ -134,7 +42,7 @@ Archives:
http://news.gmane.org/gmane.comp.python.sqlobject
Download:
-https://pypi.python.org/pypi/SQLObject/3.2.0
+https://pypi.python.org/pypi/SQLObject/3.2.1a0.dev20170311
News and changes:
http://sqlobject.org/News.html
http://sourceforge.net/p/sqlobject/sqlobject/ci/63cdcff9efd3ada1509e8e6f2fd1ce2765c6eae6
commit 63cdcff9efd3ada1509e8e6f2fd1ce2765c6eae6
Author: Oleg Broytman <ph...@ph...>
Date: Tue Mar 21 17:22:04 2017 +0300
Add ANNOUNCE.rst for version 3.2.0
Announcements are rather version dependent
and should have been under version control
from the very beginning.
[skip ci]
diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst
new file mode 100644
index 0000000..d10189d
--- /dev/null
+++ b/ANNOUNCE.rst
@@ -0,0 +1,140 @@
+Hello!
+
+I'm pleased to announce version 3.2.0, the first stable release of branch
+3.2 of SQLObject.
+
+
+What's new in SQLObject
+=======================
+
+Contributor for this release is Neil Muller.
+
+Minor features
+--------------
+
+* Drop table name from ``VACUUM`` command in SQLiteConnection: SQLite
+ doesn't vacuum a single table and SQLite 3.15 uses the supplied name as
+ the name of the attached database to vacuum.
+
+* Remove ``driver`` keyword from RdbhostConnection as it allows one driver
+ ``rdbhdb``.
+
+* Add ``driver`` keyword for FirebirdConnection. Allowed values are 'fdb',
+ 'kinterbasdb' and 'pyfirebirdsql'. Default is to test 'fdb' and
+ 'kinterbasdb' in that order. pyfirebirdsql is supported but has problems.
+
+* Add ``driver`` keyword for MySQLConnection. Allowed values are 'mysqldb',
+ 'connector', 'oursql' and 'pymysql'. Default is to test for mysqldb only.
+
+* Add support for `MySQL Connector
+ <https://pypi.python.org/pypi/mysql-connector>`_ (pure python; `binary
+ packages <https://dev.mysql.com/doc/connector-python/en/>`_ are not at
+ PyPI and hence are hard to install and test).
+
+* Add support for `oursql <https://github.com/python-oursql/oursql>`_ MySQL
+ driver (only Python 2.6 and 2.7 until oursql author fixes Python 3
+ compatibility).
+
+* Add support for `PyMySQL <https://github.com/PyMySQL/PyMySQL/>`_ - pure
+ python mysql interface).
+
+* Add parameter ``timeout`` for MSSQLConnection (usable only with pymssql
+ driver); timeouts are in seconds.
+
+* Remove deprecated ez_setup.py.
+
+Drivers (work in progress)
+--------------------------
+
+* Extend support for PyGreSQL driver. There are still some problems.
+
+* Add support for `py-postgresql
+ <https://pypi.python.org/pypi/py-postgresql>`_ PostgreSQL driver. There
+ are still problems with the driver.
+
+* Add support for `pyfirebirdsql
+ <https://pypi.python.org/pypi/firebirdsql>`_.There are still problems with
+ the driver.
+
+Bug fixes
+---------
+
+* Fix MSSQLConnection.columnsFromSchema: remove `(` and `)` from default
+ value.
+
+* Fix MSSQLConnection and SybaseConnection: insert default values into a table
+ with just one IDENTITY column.
+
+* Remove excessive NULLs from ``CREATE TABLE`` for MSSQL/Sybase.
+
+* Fix concatenation operator for MSSQL/Sybase (it's ``+``, not ``||``).
+
+* Fix MSSQLConnection.server_version() under Py3 (decode version to str).
+
+Documentation
+-------------
+
+* The docs are now generated with Sphinx.
+
+* Move ``docs/LICENSE`` to the top-level directory so that Github
+ recognizes it.
+
+Tests
+-----
+
+* Rename ``py.test`` -> ``pytest`` in tests and docs.
+
+* Great Renaming: fix ``pytest`` warnings by renaming ``TestXXX`` classes
+ to ``SOTestXXX`` to prevent ``pytest`` to recognize them as test classes.
+
+* Fix ``pytest`` warnings by converting yield tests to plain calls: yield
+ tests were deprecated in ``pytest``.
+
+* Tests are now run at CIs with Python 3.5.
+
+* Drop ``Circle CI``.
+
+* Run at Travis CI tests with Firebird backend (server version 2.5;
+ drivers fdb and firebirdsql). There are problems with tests.
+
+* Run tests at AppVeyor for windows testing. Run tests with MS SQL,
+ MySQL, Postgres and SQLite backends; use Python 2.7, 3.4 and 3.5,
+ x86 and x64. There are problems with MS SQL and MySQL.
+
+For a more complete list, please see the news:
+http://sqlobject.org/News.html
+
+
+What is SQLObject
+=================
+
+SQLObject is an object-relational mapper. Your database tables are described
+as classes, and rows are instances of those classes. SQLObject is meant to be
+easy to use and quick to get started with.
+
+SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
+Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).
+
+Python 2.6, 2.7 or 3.4+ is required.
+
+
+Where is SQLObject
+==================
+
+Site:
+http://sqlobject.org
+
+Development:
+http://sqlobject.org/devel/
+
+Mailing list:
+https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss
+
+Archives:
+http://news.gmane.org/gmane.comp.python.sqlobject
+
+Download:
+https://pypi.python.org/pypi/SQLObject/3.2.0
+
+News and changes:
+http://sqlobject.org/News.html
diff --git a/devscripts/BRANCH-CHECKLIST b/devscripts/BRANCH-CHECKLIST
index 4e64f48..61e06be 100644
--- a/devscripts/BRANCH-CHECKLIST
+++ b/devscripts/BRANCH-CHECKLIST
@@ -17,9 +17,7 @@ a branch, a commit id or a tag.
appveyor.yml. In setup.py edit "Development Status" in trove
classifiers. Commit.
-1c. If the branching point was master the script updates versions in
- SQLObject-master.rst. If the branching point was not master the
- script updates versions in SQLObject-$branch.rst.
+1c. The script updates versions in ANNOUNCE.rst.
2. To deprecate a version of Python edit files docs/News.rst,
docs/SQLObject.rst, docs/TODO.rst, sqlobject/main.py, README.rst and
diff --git a/devscripts/RELEASE-CHECKLIST b/devscripts/RELEASE-CHECKLIST
index acfc14f..43e939c 100644
--- a/devscripts/RELEASE-CHECKLIST
+++ b/devscripts/RELEASE-CHECKLIST
@@ -18,17 +18,17 @@
3. If it's not master - null-merge to the next higher branch.
-4. If release branch is not master - run ../prerelease-tag $NEW_TAG; if
+4. Update version, the list of changes, the list of contributors and
+ download URL in ANNOUNCE.rst
+
+5. If release branch is not master - run ../prerelease-tag $NEW_TAG; if
it's master - run ../prerelease-tag $NEW_TAG master. This checks out
the release branch and creates the new tag at the head of the release
branch.
-5. Update version, the list of changes, the list of contributors and
- download URL in SQLObject-$branch.rst.
-
6. Run ../release. This generates and uploads new archives to PyPI and
if it is a stable release - uploads archives and release announcement
- (SQLObject-$branch.rst) to SourceForge.
+ (ANNOUNCE.rst) to SourceForge.
7. Hide/show old releases at PyPI and SourceForge.
diff --git a/devscripts/branch b/devscripts/branch
index e3d4771..38ca214 100755
--- a/devscripts/branch
+++ b/devscripts/branch
@@ -45,12 +45,8 @@ version_info = (major, minor, micro, release_level, serial)" > sqlobject/__versi
`git var GIT_EDITOR` README.rst sqlobject/__version__.py docs/News.rst appveyor.yml setup.py &&
git commit --message="Next branch will be $major.$next_minor" README.rst sqlobject/__version__.py docs/News.rst setup.py &&
- cd .. &&
- cp -p SQLObject-master.rst SQLObject-"$branch".rst &&
- exec ./replace "$major\.$minor" "$major.$next_minor" SQLObject-master.rst
+ exec ./replace "$major\.$minor" "$major.$next_minor" ANNOUNCE.rst
else
- cd .. &&
- cp -p SQLObject-"$prev_branch".rst SQLObject-"$branch".rst &&
- exec ./replace "$prev_branch" "$major.$next_minor" SQLObject-"$branch".rst
+ exec ./replace "$prev_branch" "$major.$next_minor" ANNOUNCE.rst
fi
diff --git a/devscripts/release b/devscripts/release
index 8e8d829..21ce6e4 100755
--- a/devscripts/release
+++ b/devscripts/release
@@ -35,7 +35,7 @@ fi
if [ "$state" = final ]; then
cp -a dist/* "$HOME"/tmp/ &&
rsync -ahP4 dist/* frs.sourceforge.net:/home/frs/project/sqlobject/sqlobject/"$version"/ &&
- rsync -ahP4 ../SQLObject-"$branch".rst frs.sourceforge.net:/home/frs/project/sqlobject/sqlobject/"$version"/README.rst || exit 1
+ rsync -ahP4 ANNOUNCE.rst frs.sourceforge.net:/home/frs/project/sqlobject/sqlobject/"$version"/README.rst || exit 1
fi
exec rm -rf build dist docs/html SQLObject.egg-info
-----------------------------------------------------------------------
Summary of changes:
ANNOUNCE.rst | 64 ++++++++++++++++++++++++++++++++++++++++++++
devscripts/BRANCH-CHECKLIST | 4 +--
devscripts/RELEASE-CHECKLIST | 10 +++----
devscripts/branch | 8 ++----
devscripts/release | 2 +-
5 files changed, 73 insertions(+), 15 deletions(-)
create mode 100644 ANNOUNCE.rst
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-19 19:37:01
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via aa22d9f6f0c92001ac87d035d5e95d9e310f9946 (commit)
from 01fee4436e02e1079fe2af3ad2a9433f30c724fb (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/aa22d9f6f0c92001ac87d035d5e95d9e310f9946
commit aa22d9f6f0c92001ac87d035d5e95d9e310f9946
Author: Oleg Broytman <ph...@ph...>
Date: Sun Mar 19 21:26:01 2017 +0300
Use travis_retry to retry after a network timeout
diff --git a/.travis.yml b/.travis.yml
index 848791a..eca2470 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -74,7 +74,7 @@ env:
- TOXENV=py34-firebirdsql
- TOXENV=py35-firebirdsql
-install: pip install tox coveralls codecov
+install: travis_retry pip install tox coveralls codecov
matrix:
allow_failures:
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-19 03:04:53
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via 01fee4436e02e1079fe2af3ad2a9433f30c724fb (commit)
via 69097bb952e46ec8b767a42e042891dcd734c080 (commit)
from 1b2aaadcbbe49a1e5d8cb97937fa27f579a60b99 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/01fee4436e02e1079fe2af3ad2a9433f30c724fb
commit 01fee4436e02e1079fe2af3ad2a9433f30c724fb
Author: Oleg Broytman <ph...@ph...>
Date: Sun Mar 19 05:54:16 2017 +0300
Fix: ../SQLObject-docs no longer is a repo
[skip ci]
diff --git a/devscripts/build-all-docs b/devscripts/build-all-docs
index 29fca50..5e8f286 100755
--- a/devscripts/build-all-docs
+++ b/devscripts/build-all-docs
@@ -7,8 +7,4 @@ build_docs() {
}
cd "`dirname \"$0\"`"/SQLObject &&
-build_docs 3.2.0 &&
-build_docs master devel &&
-
-cd ../SQLObject-docs &&
-exec git status
+build_docs 3.2.0 && exec build_docs master devel
http://sourceforge.net/p/sqlobject/sqlobject/ci/69097bb952e46ec8b767a42e042891dcd734c080
commit 69097bb952e46ec8b767a42e042891dcd734c080
Author: Oleg Broytman <ph...@ph...>
Date: Sun Mar 19 05:36:10 2017 +0300
Include devscripts into sdist
[skip ci]
diff --git a/MANIFEST.in b/MANIFEST.in
index f486d46..212861b 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -2,5 +2,7 @@ global-include *.py *.rst *.txt
include LICENSE MANIFEST.in .travis.yml circle.yml tox.ini
include debian/* sqlobject/.coveragerc
include docs/Makefile docs/genapidocs docs/rebuild
+recursive-include devscripts *
recursive-include docs *.css *.html *.js *.gif *.png
+global-exclude *.py[co]
prune docs/_build
-----------------------------------------------------------------------
Summary of changes:
MANIFEST.in | 2 ++
devscripts/build-all-docs | 6 +-----
2 files changed, 3 insertions(+), 5 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-19 02:32:34
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via 1b2aaadcbbe49a1e5d8cb97937fa27f579a60b99 (commit)
from ac3e39da98448311e97d070dce6436d36750bcfd (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/1b2aaadcbbe49a1e5d8cb97937fa27f579a60b99
commit 1b2aaadcbbe49a1e5d8cb97937fa27f579a60b99
Author: Oleg Broytman <ph...@ph...>
Date: Sun Mar 19 05:28:57 2017 +0300
Stop publishing docs at GitHub/GitLab Pages and PyPI
[skip ci]
diff --git a/devscripts/build-all-docs b/devscripts/build-all-docs
index e16b726..29fca50 100755
--- a/devscripts/build-all-docs
+++ b/devscripts/build-all-docs
@@ -3,8 +3,7 @@
build_docs() {
git checkout "$1" &&
../build-docs &&
- rsync -ahP --del --exclude=.git --exclude=.gitlab-ci.yml \
- --exclude=.nojekyll docs/html/ ../SQLObject-docs/"$2"/
+ rsync -ahP --del docs/html/ ../SQLObject-docs/"$2"/
}
cd "`dirname \"$0\"`"/SQLObject &&
diff --git a/devscripts/publish-docs b/devscripts/publish-docs
index 10f7596..37276d7 100755
--- a/devscripts/publish-docs
+++ b/devscripts/publish-docs
@@ -1,7 +1,5 @@
#! /bin/sh
-cd "`dirname \"$0\"`"/SQLObject-docs &&
-../set-commit-date.py && chmod -R u=rwX,go=rX . &&
-rsync -hlrtP4 --del . web.sourceforge.net:/home/project-web/sqlobject/htdocs/ &&
-git archive --format=zip -o "$HOME"/tmp/SQLObject-docs.zip master &&
-git push gl master && exec git push gh master
+cd "`dirname \"$0\"`"/SQLObject-docs && chmod -R u=rwX,go=rX . &&
+exec rsync -hlrtP4 --del . \
+ web.sourceforge.net:/home/project-web/sqlobject/htdocs/
-----------------------------------------------------------------------
Summary of changes:
devscripts/build-all-docs | 3 +--
devscripts/publish-docs | 8 +++-----
2 files changed, 4 insertions(+), 7 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-19 02:24:56
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via ac3e39da98448311e97d070dce6436d36750bcfd (commit)
via 8926bcf778dcf4789328618a155cdcbaa8bc2162 (commit)
from 80fa7be57fa66d9acfcdc3abde1d4098bb2da12f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/ac3e39da98448311e97d070dce6436d36750bcfd
commit ac3e39da98448311e97d070dce6436d36750bcfd
Author: Oleg Broytman <ph...@ph...>
Date: Sun Mar 19 05:02:12 2017 +0300
Convert scripts repository to devscripts subdirectory
Some of thses scripts are version-dependent so it's better to have them
in the main repo.
[skip ci]
diff --git a/devscripts/BRANCH-CHECKLIST b/devscripts/BRANCH-CHECKLIST
new file mode 100644
index 0000000..4e64f48
--- /dev/null
+++ b/devscripts/BRANCH-CHECKLIST
@@ -0,0 +1,32 @@
+0. Run full test suite in master. Continue if all tests passed.
+
+1. If the branching point is master run ../branch $NEW_BRANCH. If it's
+not master run ../branch $NEW_BRANCH $TREEISH, where $TREEISH is
+a branch, a commit id or a tag.
+
+1a. The script creates a new branch and calls editor; edit README.rst,
+ __version__.py and News.rst in the branch - set version. In
+ setup.cfg in the branch edit section [publish] - uncomment doc-dest
+ for stable branch. In setup.py in the branch edit URL (remove
+ '/devel') and download URL. In setup.py and DeveloperGuide.rst edit
+ Travis CI build status image URL (change branch). Commit.
+
+1b. If the branching point was master the script checks out master and
+ calls editor again; edit README.rst, __version__.py and News.rst in
+ master - set version for the next release. Edit branch in
+ appveyor.yml. In setup.py edit "Development Status" in trove
+ classifiers. Commit.
+
+1c. If the branching point was master the script updates versions in
+ SQLObject-master.rst. If the branching point was not master the
+ script updates versions in SQLObject-$branch.rst.
+
+2. To deprecate a version of Python edit files docs/News.rst,
+ docs/SQLObject.rst, docs/TODO.rst, sqlobject/main.py, README.rst and
+ setup.py in master.
+
+3. Do a null-merge from the new branch to the higher branch or the
+ master.
+
+4. Run ../push-all to push all branches and tags to the public
+ repositories.
diff --git a/devscripts/RELEASE-CHECKLIST b/devscripts/RELEASE-CHECKLIST
new file mode 100644
index 0000000..acfc14f
--- /dev/null
+++ b/devscripts/RELEASE-CHECKLIST
@@ -0,0 +1,50 @@
+0. Run full test suite in all branches and in master. Continue if all
+ tests passed.
+
+1. Check out the release branch. If it is a stable release - edit
+ docs/News.rst to set release date. Commit. If it's not master - merge
+ to all higher branches and master.
+
+2. If release branch is not master - run ../prerelease $NEW_TAG; if it's
+ master - run ../prerelease $NEW_TAG master.
+
+2a. The script checks out the release branch and calls editor; edit
+ __version__.py and README.rst in the release branch - fix versions.
+ Edit section [egg_info] in setup.cfg - set if it is a stable or
+ development release. In setup.py edit "Development Status" in trove
+ classifiers; edit download URL: if a non-stable version - append
+ 'dev' and date stamp, for a stable version remove 'dev' and date
+ stamp). Commit. Verify.
+
+3. If it's not master - null-merge to the next higher branch.
+
+4. If release branch is not master - run ../prerelease-tag $NEW_TAG; if
+ it's master - run ../prerelease-tag $NEW_TAG master. This checks out
+ the release branch and creates the new tag at the head of the release
+ branch.
+
+5. Update version, the list of changes, the list of contributors and
+ download URL in SQLObject-$branch.rst.
+
+6. Run ../release. This generates and uploads new archives to PyPI and
+ if it is a stable release - uploads archives and release announcement
+ (SQLObject-$branch.rst) to SourceForge.
+
+7. Hide/show old releases at PyPI and SourceForge.
+
+8. If it's the first stable release of the branch - edit build-all-docs,
+ advance stable branch. If it's a stable release edit stable tag at
+ ReadTheDocs. Generate new docs using ./build-all-docs. Commit generated
+ docs. Upload docs using ./publish-docs.
+
+9. Run ../push-all in the development repository to push all branches
+ and tags to the public repositories.
+
+10. Announce new release(s) at Twitter (https://twitter.com/SQLObject) and
+ Wikipedia (https://en.wikipedia.org/wiki/SQLObject). If it is a stable
+ release - announce it at
+ https://en.wikipedia.org/wiki/Comparison_of_object-relational_mapping_software.
+
+11. Send announcement to the SQLObject mailing list. For a stable
+ release send announcements to python, python-announce and python-db
+ mailing lists.
diff --git a/devscripts/add-remotes b/devscripts/add-remotes
new file mode 100755
index 0000000..3b664bd
--- /dev/null
+++ b/devscripts/add-remotes
@@ -0,0 +1,29 @@
+#! /bin/sh
+
+if [ -z "$2" ]; then
+ echo "Usage: $0 sf-url gl-url gh-url" >&2
+ exit 1
+fi
+
+sf_url="$1"
+gl_url="$2"
+gh_url="$3"
+
+if ! echo "$sf_url" | grep -q ^$USER@git\\.code\\.sf\\.net:/p/sqlobject/; then
+ echo "Usage: $0 SF-URL gl-url gh-url" >&2
+ exit 1
+fi
+
+if ! echo "$gl_url" | grep -q ^gi...@gi...:sqlobject/; then
+ echo "Usage: $0 sf-url GL-URL gh-url" >&2
+ exit 1
+fi
+
+if ! echo "$gh_url" | grep -q ^gi...@gi...:sqlobject/; then
+ echo "Usage: $0 sf-url gl-url GH-URL" >&2
+ exit 1
+fi
+
+ git remote add sf "$sf_url" &&
+ git remote add gl "$gl_url" &&
+exec git remote add gh "$gh_url"
diff --git a/devscripts/branch b/devscripts/branch
new file mode 100755
index 0000000..e3d4771
--- /dev/null
+++ b/devscripts/branch
@@ -0,0 +1,56 @@
+#! /bin/sh
+
+if [ -z "$1" -o -n "$3" ]; then
+ echo "Usage: $0 branch [treeish]" >&2
+ exit 1
+fi
+
+branch="$1"
+treeish="$2"
+
+. `dirname $0`/split.sh &&
+branch="$1"
+
+if [ -z "$treeish" ]; then
+ treeish="master"
+fi
+
+split_tag "`git describe --abbrev=0 \"$treeish\"`"
+prev_branch="$major.$minor"
+
+split_tag $branch
+next_minor="`expr $minor + 1`"
+
+git checkout -b "$branch" "$treeish" &&
+echo "
+version = '$major.$minor'
+major = $major
+minor = $minor
+micro = 0
+release_level = 'branch'
+serial = 0
+version_info = (major, minor, micro, release_level, serial)" > sqlobject/__version__.py &&
+`git var GIT_EDITOR` README.rst sqlobject/__version__.py docs/News.rst setup.cfg setup.py docs/DeveloperGuide.rst &&
+git commit --message="Branch $branch" README.rst sqlobject/__version__.py docs/News.rst setup.cfg setup.py docs/DeveloperGuide.rst &&
+
+if [ "$treeish" = master ]; then
+ git checkout master && echo "
+version = '$major.$next_minor'
+major = $major
+minor = $next_minor
+micro = 0
+release_level = 'trunk'
+serial = 0
+version_info = (major, minor, micro, release_level, serial)" > sqlobject/__version__.py &&
+ `git var GIT_EDITOR` README.rst sqlobject/__version__.py docs/News.rst appveyor.yml setup.py &&
+ git commit --message="Next branch will be $major.$next_minor" README.rst sqlobject/__version__.py docs/News.rst setup.py &&
+
+ cd .. &&
+ cp -p SQLObject-master.rst SQLObject-"$branch".rst &&
+ exec ./replace "$major\.$minor" "$major.$next_minor" SQLObject-master.rst
+
+else
+ cd .. &&
+ cp -p SQLObject-"$prev_branch".rst SQLObject-"$branch".rst &&
+ exec ./replace "$prev_branch" "$major.$next_minor" SQLObject-"$branch".rst
+fi
diff --git a/devscripts/build-all-docs b/devscripts/build-all-docs
new file mode 100755
index 0000000..e16b726
--- /dev/null
+++ b/devscripts/build-all-docs
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+build_docs() {
+ git checkout "$1" &&
+ ../build-docs &&
+ rsync -ahP --del --exclude=.git --exclude=.gitlab-ci.yml \
+ --exclude=.nojekyll docs/html/ ../SQLObject-docs/"$2"/
+}
+
+cd "`dirname \"$0\"`"/SQLObject &&
+build_docs 3.2.0 &&
+build_docs master devel &&
+
+cd ../SQLObject-docs &&
+exec git status
diff --git a/devscripts/build-docs b/devscripts/build-docs
new file mode 100755
index 0000000..8f9895b
--- /dev/null
+++ b/devscripts/build-docs
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+cd "`dirname \"$0\"`"/SQLObject &&
+cd docs &&
+exec ./rebuild
diff --git a/devscripts/cleanup b/devscripts/cleanup
new file mode 100755
index 0000000..fa38d79
--- /dev/null
+++ b/devscripts/cleanup
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+cd "`dirname $0`" &&
+find . \( -name \*.orig -o -name \*.rej -o -name \*.tmp \) -type f -delete &&
+exec rm -f /tmp/test-sqlite.sqdb*
diff --git a/devscripts/flake8/.gitignore b/devscripts/flake8/.gitignore
new file mode 100644
index 0000000..d2eae24
--- /dev/null
+++ b/devscripts/flake8/.gitignore
@@ -0,0 +1,5 @@
+E*
+F*
+W*
+all-results
+sort-by-lines
diff --git a/devscripts/flake8/run b/devscripts/flake8/run
new file mode 100755
index 0000000..2000dd6
--- /dev/null
+++ b/devscripts/flake8/run
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+flake8 ../SQLObject | sort >all-results &&
+awk '{print $2}' all-results | sort | uniq -c |
+ sort -k 1,1nr -k 2,2 >sort-by-lines
diff --git a/devscripts/flake8/split b/devscripts/flake8/split
new file mode 100755
index 0000000..958b758
--- /dev/null
+++ b/devscripts/flake8/split
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+while read _count code; do
+ grep -F " $code " all-results | sort -t : -k 1,1 -k 2,2nr >"$code"
+done <sort-by-lines
diff --git a/devscripts/git-hooks/post-checkout b/devscripts/git-hooks/post-checkout
new file mode 100755
index 0000000..2bd5be0
--- /dev/null
+++ b/devscripts/git-hooks/post-checkout
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# post-checkout hook: compile python files to byte code
+
+prev_HEAD="$1"
+new_HEAD="$2"
+new_branch="$3"
+
+if [ "$new_branch" = 1 ]; then
+ # if branch was changed - remove old bytecode files,
+ # empty directories and outdated docs
+ find . -name '*.py[co]' -delete &&
+ for d in sqlobject/include/pydispatch sqlobject/include/tests; do
+ if [ "`echo $d/*`" = "$d/*" ]; then rm -rf $d; fi
+ done &&
+ rm -rf docs/html
+fi &&
+
+python -m compileall -q -x '\.tox/.+' . &&
+python -O -m compileall -q -x '\.tox/.+' .
+
+exit 0
diff --git a/devscripts/git-hooks/post-merge b/devscripts/git-hooks/post-merge
new file mode 100755
index 0000000..633a1d0
--- /dev/null
+++ b/devscripts/git-hooks/post-merge
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# post-merge hook that compiles python files to byte code
+
+python -m compileall -q -x '\.tox/.+' . &&
+python -O -m compileall -q -x '\.tox/.+' .
+
+exit 0
diff --git a/devscripts/git-hooks/post-rewrite b/devscripts/git-hooks/post-rewrite
new file mode 100755
index 0000000..df28442
--- /dev/null
+++ b/devscripts/git-hooks/post-rewrite
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# post-rewrite hook that compiles python files to byte code
+
+python -m compileall -q -x '\.tox/.+' . &&
+python -O -m compileall -q -x '\.tox/.+' .
+
+exit 0
diff --git a/devscripts/git-svn/SQLObject-gitignore/.gitignore b/devscripts/git-svn/SQLObject-gitignore/.gitignore
new file mode 100644
index 0000000..52d4a58
--- /dev/null
+++ b/devscripts/git-svn/SQLObject-gitignore/.gitignore
@@ -0,0 +1,10 @@
+*~
+*.tmp
+*.pyc
+*.pyo
+/MANIFEST
+/SQLObject.egg-info
+/build
+/data
+/dist
+/temp
diff --git a/devscripts/git-svn/SQLObject-gitignore/docs/.gitignore b/devscripts/git-svn/SQLObject-gitignore/docs/.gitignore
new file mode 100644
index 0000000..5937020
--- /dev/null
+++ b/devscripts/git-svn/SQLObject-gitignore/docs/.gitignore
@@ -0,0 +1,3 @@
+/*.html
+/data.db
+/html
diff --git a/devscripts/git-svn/svn2git b/devscripts/git-svn/svn2git
new file mode 100755
index 0000000..e93e4f6
--- /dev/null
+++ b/devscripts/git-svn/svn2git
@@ -0,0 +1,55 @@
+#! /bin/sh
+
+if [ -z "$1" ]; then
+ echo "Usage: $0 svn_url [dir]" >&2
+ exit 1
+fi
+
+url="$1"
+
+if [ ! -f authors.txt ]; then
+ echo "Run \"get-authors $1\" first" >&2
+ exit 2
+fi
+
+if [ -z "$2" ]; then
+ dir="`basename $url`"
+else
+ dir="$2"
+fi
+
+if [ -z "$dir" ]; then
+ echo "Usage: $0 $url dir" >&2
+ exit 1
+fi
+
+# init + fetch
+git svn clone "$url" --authors-file=authors.txt --prefix=svn/ --stdlayout "$dir" &&
+cd "$dir" &&
+
+# Convert tags and branches
+
+# See http://blog.jessitron.com/2013/08/converting-from-svn-to-git.html
+
+git for-each-ref --format="%(refname:short)" refs/remotes/svn |
+ sed 's#svn/##' | grep -v '^tags' |
+ while read aBranch; do git branch $aBranch svn/$aBranch || exit 1; done
+
+# See http://thomasrast.ch/git/git-svn-conversion.html
+
+git for-each-ref --format="%(refname:short)" refs/remotes/svn/tags/ |
+while read tag; do
+ GIT_COMMITTER_DATE="`git log -1 --pretty=format:\"%ad\" \"$tag\"`" \
+ GIT_COMMITTER_EMAIL="`git log -1 --pretty=format:\"%ce\" \"$tag\"`" \
+ GIT_COMMITTER_NAME="`git log -1 --pretty=format:\"%cn\" \"$tag\"`" \
+ git tag -a -m "`git for-each-ref --format=\"%(contents)\" \"$tag\"`" \
+ "`echo \"$tag\" | sed 's#svn/tags/##'`" "$tag" || exit 1
+done
+
+# preserve authors.txt
+cp -p ../authors.txt .git/info &&
+git config --local --path svn.authorsfile .git/info/authors.txt
+
+git svn gc &&
+git gc --aggressive &&
+echo "Cloned from $url using git-svn" >.git/description
diff --git a/devscripts/git-svn/svn2git-fullhistory b/devscripts/git-svn/svn2git-fullhistory
new file mode 100755
index 0000000..bc74b89
--- /dev/null
+++ b/devscripts/git-svn/svn2git-fullhistory
@@ -0,0 +1,33 @@
+#! /bin/sh
+
+"`dirname \"$0\"`"/svn2git \
+ http://svn.colorstudy.com/SQLObject SQLObject-fullhistory &&
+
+git init --bare SQLObject.git &&
+cd SQLObject.git &&
+echo "Bare SQLObject repository" >description &&
+git fetch ../SQLObject-fullhistory master:master 1.5:1.5 1.6:1.6 1.7:1.7 tag 1.5.0b1 tag 1.5.0rc1 tag 1.5.0 tag 1.5.1 tag 1.5.2 tag 1.6.0a1 tag 1.6.0b1 tag 1.6.0 tag 1.7.0b1 &&
+
+cd .. &&
+git clone SQLObject.git SQLObject && rm -rf SQLObject.git &&
+cd SQLObject && git remote rm origin && rmdir .git/refs/remotes/origin &&
+
+echo "Development SQLObject repository" >.git/description &&
+git branch --track 1.5 origin/1.5 &&
+git branch --track 1.6 origin/1.6 &&
+git branch --track 1.7 origin/1.7 &&
+
+# Null merges
+git checkout 1.6 && git merge --no-commit -s ours 1.5 &&
+git checkout HEAD sqlobject/main.py && git commit &&
+
+git checkout 1.7 && git merge --no-commit -s ours 1.6 &&
+git checkout HEAD sqlobject/col.py && git commit &&
+
+git checkout master && git merge --no-commit -s ours 1.7 &&
+git checkout HEAD setup.cfg setup.py \
+ sqlobject/__version__.py sqlobject/converters.py \
+ sqlobject/tests/test_converters.py sqlobject/tests/test_datetime.py &&
+git commit &&
+
+exec vim .git/config
diff --git a/devscripts/null-merge b/devscripts/null-merge
new file mode 100755
index 0000000..036782b
--- /dev/null
+++ b/devscripts/null-merge
@@ -0,0 +1,54 @@
+#! /bin/sh
+
+new_branch=""
+old_branch=""
+
+while getopts n:o: opt; do
+ case $opt in
+ n ) new_branch="$OPTARG" ;;
+ o ) old_branch="$OPTARG" ;;
+ esac
+done
+shift `expr $OPTIND - 1`
+
+usage() {
+ echo "Usage: $0 [-o old_branch] [-n new_branch]|[old_branch new_branch]" >&2
+ exit 1
+}
+
+get_current_branch() {
+ current_branch="`git branch | grep '^\*' | awk '{print $2}'`"
+}
+
+if [ -n "$new_branch" ]; then
+ if [ -n "$old_branch" ]; then
... 670 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-11 15:55:30
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The annotated tag, 3.2.0 has been created
at 9a32e187527d4796bd0b0d716a0996aec9bfd434 (tag)
tagging 9582ea5f09b30def878733aeb6c2684e06f749dd (commit)
replaces 3.2.0b1
tagged by Oleg Broytman
on Sat Mar 11 18:21:16 2017 +0300
- Log -----------------------------------------------------------------
Release 3.2.0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCgAGBQJYxBXtAAoJEG4IC3C2KHsDGWUP/RF26xx4LbbXGitC1MxcIgfA
qgRMDgfo+kNb0XXuTme+/Mg0Ik9zOzM5lt6gLlaTfFZUD7bEnmSSvffeJKrISiE3
EXZvo4EQr6Zr4OMuMDMjsttqaE6jQw0SiXBQZsCULiBSkW5D2NzhdpPXZnt1zkdh
+T4Ug3U/eWvwhiGOKRFizOin754rPrRPBQ1iEiJB/wjwiCgCnbKbgS4FBKEQYWBv
3vmH3i/F0lw9Q8PWTY503JNCjpm/FrCSqAAWG1nENNgDvdW2DdP0ZGSngf7aO87S
BJ18E4xuL4Vyzjsh4Ml4ec9eez3E8fWtTtPENx13HhKLm17/broMxv/XFAinNNZu
L1YQAoGdBd5TQfw+/vEh8JPZYBtaim61/YVPKWHJIldHnAKzIWtxoJY1/QPI1PXI
lplPPGK3VpUWczwuxi/j/v9R84r6E+AtgFSpSGpU0jfv2B+oBI/tJFkozfhBV6D2
RVdWMbRJZ3chW1k2f+L6DG3i64NLwWoazj5ip+dlR0hpgaFLjkWVGJaMoqNfxfvj
1AZw1TSbHS9WmEY2QmtJuYZnJcF22MxbaGVLWMvTdsSENOlNNq1Z/OWAyUoPqymK
CPTWMo//jX5GQHQVClNUpIc5lNEmVgHgmwxLooJrw2aQUnyudM3DAl+DBIrzk5BI
1z6fOecDYmpvFLe1rFV8
=mw35
-----END PGP SIGNATURE-----
Oleg Broytman (5):
Update docs: explain branch workflow
Fix github URL
docs/conf.py: minor refactoring
SQLObject 3.2.0 was released 11 Mar 2017
Release 3.2.0
-----------------------------------------------------------------------
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-11 15:55:28
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via 80fa7be57fa66d9acfcdc3abde1d4098bb2da12f (commit)
via 9582ea5f09b30def878733aeb6c2684e06f749dd (commit)
via a668ae7d10a46ffe0cd41a4986382aaecfcd4046 (commit)
from 5cf21b222d8ee8bacf31c4aab7680bf784ec65e2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/80fa7be57fa66d9acfcdc3abde1d4098bb2da12f
commit 80fa7be57fa66d9acfcdc3abde1d4098bb2da12f
Author: Oleg Broytman <ph...@ph...>
Date: Sat Mar 11 18:42:20 2017 +0300
The next minor release will be 3.3.0
diff --git a/README.rst b/README.rst
index aeba538..173a5de 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,5 @@
-SQLObject 3.2.0
-===============
+SQLObject 3.3.0a0
+=================
Thanks for looking at SQLObject. SQLObject is an object-relational
mapper, i.e., a library that will wrap your database tables in Python
diff --git a/appveyor.yml b/appveyor.yml
index 3d95e3b..c7ccf44 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,7 +1,7 @@
# Install SQLObject on windows and test against MS SQL server and postgres
# Heavily inspired by Oliver Grisel's appveyor-demo (https://github.com/ogrisel/python-appveyor-demo)
# and Michael Sverdlik's appveyor-utils (https://github.com/cloudify-cosmo/appveyor-utils)
-version: 3.2.{build}
+version: 3.3.{build}
# Match travis
clone_depth: 50
diff --git a/docs/News.rst b/docs/News.rst
index f724643..c266992 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -7,6 +7,9 @@ News
.. _start:
+SQLObject 3.3.0 (master)
+========================
+
SQLObject 3.2.0
===============
diff --git a/setup.cfg b/setup.cfg
index 09f2643..4c5fd41 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
[egg_info]
-tag_build =
-tag_date = 0
+tag_build = dev
+tag_date = 1
tag_svn_revision = 0
[flake8]
diff --git a/setup.py b/setup.py
index ea28429..031c43d 100755
--- a/setup.py
+++ b/setup.py
@@ -69,7 +69,7 @@ and `GitHub <https://github.com/sqlobject>`_.
:target: https://travis-ci.org/sqlobject/sqlobject
""",
classifiers=[
- "Development Status :: 5 - Production/Stable",
+ "Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: "
"GNU Library or Lesser General Public License (LGPL)",
diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py
index 8d6b483..cc4f6fb 100644
--- a/sqlobject/__version__.py
+++ b/sqlobject/__version__.py
@@ -1,8 +1,8 @@
-version = '3.2.0'
+version = '3.3.0'
major = 3
-minor = 2
+minor = 3
micro = 0
-release_level = 'final'
+release_level = 'alpha'
serial = 0
version_info = (major, minor, micro, release_level, serial)
http://sourceforge.net/p/sqlobject/sqlobject/ci/9582ea5f09b30def878733aeb6c2684e06f749dd
commit 9582ea5f09b30def878733aeb6c2684e06f749dd
Author: Oleg Broytman <ph...@ph...>
Date: Sat Mar 11 18:20:25 2017 +0300
Release 3.2.0
diff --git a/README.rst b/README.rst
index 02a8dbf..aeba538 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,5 @@
-SQLObject 3.2.0b1
-=================
+SQLObject 3.2.0
+===============
Thanks for looking at SQLObject. SQLObject is an object-relational
mapper, i.e., a library that will wrap your database tables in Python
diff --git a/setup.cfg b/setup.cfg
index 4c5fd41..09f2643 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
[egg_info]
-tag_build = dev
-tag_date = 1
+tag_build =
+tag_date = 0
tag_svn_revision = 0
[flake8]
diff --git a/setup.py b/setup.py
index d1bd5f5..ea28429 100755
--- a/setup.py
+++ b/setup.py
@@ -69,7 +69,7 @@ and `GitHub <https://github.com/sqlobject>`_.
:target: https://travis-ci.org/sqlobject/sqlobject
""",
classifiers=[
- "Development Status :: 4 - Beta",
+ "Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: "
"GNU Library or Lesser General Public License (LGPL)",
@@ -89,8 +89,7 @@ and `GitHub <https://github.com/sqlobject>`_.
maintainer="Oleg Broytman",
maintainer_email="ph...@ph...",
url="http://sqlobject.org/devel/",
- download_url="https://pypi.python.org/pypi/SQLObject/%s.dev20170223" %
- version,
+ download_url="https://pypi.python.org/pypi/SQLObject/%s" % version,
license="LGPL",
packages=["sqlobject"] +
['sqlobject.%s' % package for package in subpackages],
diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py
index 554ea74..8d6b483 100644
--- a/sqlobject/__version__.py
+++ b/sqlobject/__version__.py
@@ -1,8 +1,8 @@
-version = '3.2.0b1'
+version = '3.2.0'
major = 3
minor = 2
micro = 0
-release_level = 'beta'
-serial = 1
+release_level = 'final'
+serial = 0
version_info = (major, minor, micro, release_level, serial)
http://sourceforge.net/p/sqlobject/sqlobject/ci/a668ae7d10a46ffe0cd41a4986382aaecfcd4046
commit a668ae7d10a46ffe0cd41a4986382aaecfcd4046
Author: Oleg Broytman <ph...@ph...>
Date: Sat Mar 11 18:15:53 2017 +0300
SQLObject 3.2.0 was released 11 Mar 2017
diff --git a/docs/News.rst b/docs/News.rst
index 7cce01d..f724643 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -7,8 +7,10 @@ News
.. _start:
-SQLObject 3.2.0 (master)
-========================
+SQLObject 3.2.0
+===============
+
+Released 11 Mar 2017.
Minor features
--------------
-----------------------------------------------------------------------
Summary of changes:
README.rst | 2 +-
appveyor.yml | 2 +-
docs/News.rst | 7 ++++++-
setup.py | 5 ++---
sqlobject/__version__.py | 8 ++++----
5 files changed, 14 insertions(+), 10 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-10 19:04:29
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via 5cf21b222d8ee8bacf31c4aab7680bf784ec65e2 (commit)
from d19424a617f6ae928c74a9c65ba75a6b5931ab54 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/5cf21b222d8ee8bacf31c4aab7680bf784ec65e2
commit 5cf21b222d8ee8bacf31c4aab7680bf784ec65e2
Author: Oleg Broytman <ph...@ph...>
Date: Fri Mar 10 22:03:29 2017 +0300
docs/conf.py: minor refactoring
[skip ci]
diff --git a/docs/conf.py b/docs/conf.py
index 230944d..f8272ab 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -20,6 +20,7 @@ import os
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
# sys.path.insert(0, os.path.abspath('.'))
+sys.path.insert(0, os.path.abspath('..'))
# -- General configuration ------------------------------------------------
@@ -55,7 +56,6 @@ copyright = u'2004-%d, %s' % (date.today().year, authors)
# |version| and |release|, also used in various other places throughout the
# built documents.
#
-sys.path.insert(0, os.path.abspath('..'))
from sqlobject.__version__ import version as __version__ # noqa: E402
# The short X.Y version.
version = '.'.join(__version__.split('.')[:2])
-----------------------------------------------------------------------
Summary of changes:
docs/conf.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-08 00:47:19
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via d19424a617f6ae928c74a9c65ba75a6b5931ab54 (commit)
from bb5179f953319c1db7b98cc048d7635bd996eff4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/d19424a617f6ae928c74a9c65ba75a6b5931ab54
commit d19424a617f6ae928c74a9c65ba75a6b5931ab54
Author: Oleg Broytman <ph...@ph...>
Date: Wed Mar 8 03:46:22 2017 +0300
Fix github URL
[skip ci]
diff --git a/docs/DeveloperGuide.rst b/docs/DeveloperGuide.rst
index 1b33cdd..6969978 100644
--- a/docs/DeveloperGuide.rst
+++ b/docs/DeveloperGuide.rst
@@ -20,7 +20,7 @@ First install `FormEncode <http://www.formencode.org/en/latest/download.html>`_:
Then do the same for SQLObject::
- $ git clone git clone git://github.com/sqlobject/sqlobject
+ $ git clone git clone git://github.com/sqlobject/sqlobject.git
$ cd sqlobject
$ sudo python setup.py develop
-----------------------------------------------------------------------
Summary of changes:
docs/DeveloperGuide.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-03-07 19:34:13
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via bb5179f953319c1db7b98cc048d7635bd996eff4 (commit)
from b294c06c6cd6b5d55e015cc69c00c0c1f9b03494 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/bb5179f953319c1db7b98cc048d7635bd996eff4
commit bb5179f953319c1db7b98cc048d7635bd996eff4
Author: Oleg Broytman <ph...@ph...>
Date: Tue Mar 7 22:30:22 2017 +0300
Update docs: explain branch workflow
[skip ci]
diff --git a/docs/DeveloperGuide.rst b/docs/DeveloperGuide.rst
index 517bbcc..1b33cdd 100644
--- a/docs/DeveloperGuide.rst
+++ b/docs/DeveloperGuide.rst
@@ -104,6 +104,19 @@ converters. Another approach for ``from_python`` is to return an object
that has ``__sqlrepr__`` method. Such objects convert to SQL strings
themselves, converters are not used.
+Branch workflow
+===============
+
+Initially ``SQLObject`` was being developed using ``Subversion``. Even
+after switching to git development process somewhat preserves the old
+workflow.
+
+The ``trunk``, called ``master`` in git, is the most advanced and the
+most unstable branch. It is where new features are applied. Bug fixes
+are applied to ``oldstable`` and ``stable`` branches and are merged
+upward -- from ``oldstable`` to ``stable`` and from ``stable`` to
+``master``.
+
Style Guide
===========
-----------------------------------------------------------------------
Summary of changes:
docs/DeveloperGuide.rst | 13 +++++++++++++
1 file changed, 13 insertions(+)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-02-23 13:50:03
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The annotated tag, 3.2.0b1 has been created
at 944072c2c194c21df57df779a0d6b7abca898c0f (tag)
tagging b294c06c6cd6b5d55e015cc69c00c0c1f9b03494 (commit)
replaces 3.2.0a1
tagged by Oleg Broytman
on Thu Feb 23 16:40:00 2017 +0300
- Log -----------------------------------------------------------------
Release 3.2.0b1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCgAGBQJYruYwAAoJEG4IC3C2KHsDFWQQALiISNay4sZLicgo7qiw2tdO
hMH1tQwPqnnQagH5aI18xJJcMaQrJyf9ktuGpGri2Yzecd5F3zqZYepZOAglM+Ae
J9fFECxeFAZDuo9me5VpD+sVXeKixhF03qhkz5Ucs0njKkndZd2qpeCbnsSwxS07
pLsnXX612ojohcbqJdqewUCQbT2pFDoJliK5RRbo4UL9nMrs1r5dfG6QeS9f4kvI
gsve1Yn3lJ2fKY4vN3OIPrZ4mF65QSuZEIAMwL+XkXLiwwqQHtjLF0Sq9ExR1S8/
/8OFi/XrTG/+tiTTuyIJlxsyrUlnh7iQOdtsBs1CpPEJpWlgUQXoIinoGJ0PkoLT
apQ5uCFayI+HsMucKr3lmRkSzqFGP9hvj8zpyG4o+NXVbDfZ2gXYMysDDW21vABB
jjZd0WfJ/fjNOFQHFChlYUOBbFG3SwsxH3+80oevWS0rPOSBt/VJ+3sYb4JNCg55
OAJyj2RQvXk+e8G/IbAiW0s3u3BbcWqpg9ux3Ve+y2XhaP6V4XEypHkBBUCZ0+za
jbdQqOAsbgruKADZoqMVntrivNeA/Eb6dhk8Yuc1XaDXo216zkR7xK7frCPg3tI7
veqUgkgSzN5pAV9CxEk8FKZIdXnShvifprr/2jlPks1IQNFJsHxeVDFSEICNb+/Y
XYoapDa6smAzbtY0mZDg
=h9X1
-----END PGP SIGNATURE-----
Oleg Broytman (12):
Remove pg8000 driver
Start and configure Firebird server only in *firebird* environments
Rename win* tox envs to *-w32
Remove the list of test dirs from mssql-w32 tox envs
Run tests at AppVeyor with MySQL
Run Pg and SQLite tests with Py3.5-win
Rename pywin-* test envs to py-*-w32
Run tests at AppVeyor with Python-x64
Run createdb/dropdb with option -w
Update docs: simplify logging example
Pause for 5 seconds after starting Firebird
Release 3.2.0b1
-----------------------------------------------------------------------
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-02-23 13:50:01
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The annotated tag, 3.2.0a1 has been created
at baa226b15a33196f3f0fe8d4cfbfeba38b944c06 (tag)
tagging 11c9d096545979fdca49bb20dd7e12bb8f295b13 (commit)
replaces 3.1.0
tagged by Oleg Broytman
on Sun Feb 5 19:33:49 2017 +0300
- Log -----------------------------------------------------------------
Release 3.2.0a1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCgAGBQJYl1PtAAoJEG4IC3C2KHsDN6MP/15ZXijN54YdWgeyAGbLhNoC
yEIkqHnNddejrarwsKYFC7UPuu0ZtROjHpDT3l6xLRna1CCIq83jTWA9a7SkKqRR
u3bk0/PumhoeDLdMXE4jlD+5wpDj3463l24UsalX0Wo2VYkQg8V4Tuf8pjmwMfJ1
mDebT8P6URfbx6f6jLPlDd4THFsTYgEDdUsgFf68KkbamPtY/LeuUhVfUkEHUu0B
3UZ3/0mCJa6cZIFBNyVJyaPd2DA4g6IteBi2SRc6PMeV0AMontdXDdekZS5rICmG
rSo7zJSGTxj5hnuIJO9pHPnVv9eulsZcSuGo/rVPFv/KwmFmmUoo06c5LGScdo/n
V6X5jCnP+3+3sHQFXv6YO82HH6W5e9pPW50PC4Aty/OyPzLjWVYbmQBfHV1vk0vT
LGPA40KZ4qwb//Bl2BK7dTsr380VLZrtw8n8771B+HjWJvBuHoarj/zKNwgTgGQy
pch5Qsflcr+38aGTbbdvptuxxYSSHotoHzbamEwcChLQGFphkWfNZvgSDC9bQQQZ
RO6bc86Mjdmei5zF54Jn6vzONw/2G4E8Fv2x0i1Nvn5ouzAULD1ZGi0M6gJftvmY
vXBc821WBxTpuAxaCGdfVMBBqK9BRabjEFtx6Z3JEsQHYbYe5LauMQE8q4xnxY39
bje8qILgAzsac8yK+UNE
=UJEw
-----END PGP SIGNATURE-----
Neil (14):
Fix issue 128 by dropping the table name from the call
First stab at firebird support in travis
Simplify firebird setup
Fix firebirdsql driver parameters
Rename test environment and mark fdb tests as failing for now
Also mark firebirdsql as failing
Trying to make appveyor work
Add -w flags so postgres password issues fail
Whitelist PGPASSWORD for windows
Trying to get ms sql tests running
reduce number of tests run for now.
Use pytest-timeout to avoid mssql tests hanging
Longer timeout
Drop -v for pymssql. Use postgres test order so more tests are run before timeout issues kick in
Oleg Broytman (153):
The next release from master will be 3.2.0a0
Do not include .gitignore into sdist
Add missing comma
News.rst: fix grammar (passive voice)
Fix strange problem manifested with py 2.7.12
Restore mxDateTime installation in tox.ini
Remove global [flake8]ignore from setup.cfg
Use Sphinx to build docs
Use Sphinx autodoc extension to build modules' docs from docstrings
Copy _build/html to docs to include into sdist and eggs
Change index: add toctree and indices
Build docs from the current sources
Deduce version/release for docs from __version__
Use this year for copyright year in docs
Ignore flake8 warning E402: import not at the top
News: The docs are now generated with Sphinx
Radically simplify MANIFEST.in by using global-include
tox.ini: Remove basepython from flake8 environments
Run tests with python3.5
Fix py.test warnings by renaming TestXXX classes to SOTestXXX
Fix py.test warnings by converting yield test to plain calls
Ignore .cache and .tox directories only at the top
Remove SQLObjectClass from conftest.py
Rename testDestroyCascade.py -> test_destroy_cascade.py
The problem is related to neither tox nor Python 2.7.12
Reorder .gitignore alphabetically
Remove basepython from tox.ini
Use createdb/dropdb for Postgres
apt-get python3-psycopg2 for tests
Update docker key at Circle CI
Run tests at Circle CI in parallel
Remove unused whitelisted psql from tox.ini
Run flake8 from root to test docs and scripts
TODO: Quote table/column names that are reserved keywords
Move docs/LICENSE to the top-level directory so that Github recognizes it
Delete unused docs/default.css
Rename py.test -> pytest in tests and docs
Fix API docs
Merge pull request #129 from drnlm/bugs/fix_issue_128_sqlite_3.15
Update news
TODO: Type annotations and mypy tests
TODO: Ultramysql
Fix reST links
Declarative dependencies for Travis CI
Fix indent in circle.yml
RdbhostConnection allows one driver ``rdbhdb``
Update news.
Add ``driver`` keyword for FirebirdConnection
Add ``driver`` keyword for MySQLConnection
Ignore flake8 E305 error
Prepare MySQLConnection to use different drivers
Add support for oursql MySQL driver
Add support for mysql-connector
Do not ping using oursql driver
Fix mysql-connector tests in tox.ini
Declare mysql-connector and oursql work in progress
TODO: add PyMySQL and umysqldb
TODO: remove MyPy
Add support for PyMySQL
TODO: remove ultramysql
Change URLs to PyPI in TODO
TODO: reformat reST
TODO: add dbms - a DB API wrapper for DB API drivers
Fix bytearray encoding/decoding
Rename postgres[ql] test envs to psycopg
Extend support for PyGreSQL driver
Add support for pg8000 PostgreSQL driver
Add support for py-postgresql driver
Add support for pyfirebirdsql driver
Upgrade ez_setup.py
Fix DevGuide: we use Sphinx instead of pudge
Upgrade ez_setup.py
Fix py-postgresql driver
Fix pg8000 driver
Reformat case statement in circle.yml
Remove temporary apt-key workarounds from circle.yml
Fix tests: convert data to lists and tuples
Fix pg8000 driver: no need to replace password
Register a converter for pg8000 Bytea type
Force utf-8 charset for tests
Fix pg8000: DuplicateEntryError is a kind of ProgrammingError
Fix py-postgresql: register a converter for bytes
Fix DuplicateEntryError in py-postgresql
We fixed most problems with py-postgresql
MySQL: use driver instead of module.__name__
MySQL: call set_character_set(dbEncoding) for all drivers
Set charset=utf8 for test DB URIs for oursql
There are major problems with pg8000 driver
Drop Circle CI
Drop database before tests; just in case
Fix oursql dependencies
Remove test where dbEncoding for a column differs from database
Fix unicode test: convert everything to bytes under Py2
Fix mysql-connector driver: encode unicode query with surrogate escape
Fix non-standard port for Postgres drivers
Fixed mysql-connector, oursql, pymysql
Merge pull request #131 from drnlm/feature/enable_firebird_testing
Refactor pyXY factors in tox.ini
Rename tox envs to allow running db-specific tests
Set cache size for testing with pg8000 driver
Handle bytes in BinaryValidator (for PyGreSQL)
Refactor calls to registerConverter
Update News: run at Travis CI tests with Firebird backend
Fix tests for Firebird
Fix test for Firebird: skip RLIKE test
Merge pull request #132 from drnlm/feature/add_appveyor_for_windows_testing
Update News: add appveyor for windows testing
Remove excessive spaces and blank lines
Run sqlite tests at AppVeyor
Fix test_parse_uri.py on w32
Skip test_sslmode on w32
Update DeveloperGuide: we now use AppVeyor
Add debug print in _executeRetry in MySQLConnection
Force debugging output in tests: append debug=1 to DB URIs
Fix tests for Firebird: prevent microseconds
Fix tests for Firebird: shorten table names
Fix TEXT type in id/foreign keys: Firebird doesn't have TEXT type
Fix test: convert mx.DateTime to date
Fix flake8 warning: change indent due to shorter class name
Refactor skipping DB-specific test
Run SQLite tests with in-memory DB
Fix string.find - it returns -1 on error
pyfirebirdsql driver is tested but has problems
Add parameter ``timeout`` for MSSQLConnection (only for pymssql)
Fix MSSQLConnection.columnsFromSchema: remove () from default value
Fix MSSQLConnection and SybaseConnection
Remove excessive NULLs for MSSQL/Sybase
Fix concatenation operator for MSSQL/Sybase
Fix test_auto.py: turn off microseconds for MS SQL
Ignore error in case we don't have DROP permission
Document newer MS SQL server versions
Fix N-quoted values: under Py2 they must be bytes
Fix MSSQLConnection.server_version() under Py3
Update docs
Fix tests: getConnectionURI() can raise AttributeError under Sphinx
Minor updates in FAQ and News
Fix docs: SelectResult => SelectResults
TODO: support PyODBC
Remove gmane: it's currently partially offline
Remove FreeNode IRC from the community docs
Update docs
Update links: remove outdated projects
Update main docs: I => we
Update main docs: stop mentioning new-style classes
Update main docs: specify WebWare links
Update main docs: clarify import examples
Update main docs: clarify how to pass boolean parameters in DB URIs
Update main docs: add AUTOINCREMENT for SQLite
Update main docs: the Interbase calculator was moved
Update main docs: minor clarifications, enhancements and reformatting
Update main docs: list connection-specific parameters
Remove deprecated ez_setup.py
Release 3.2.0a1
-----------------------------------------------------------------------
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-02-23 13:49:16
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via b294c06c6cd6b5d55e015cc69c00c0c1f9b03494 (commit)
from 052a6f478c817f98d2d0414455990fb19ba50cf3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/b294c06c6cd6b5d55e015cc69c00c0c1f9b03494
commit b294c06c6cd6b5d55e015cc69c00c0c1f9b03494
Author: Oleg Broytman <ph...@ph...>
Date: Thu Feb 23 16:39:20 2017 +0300
Release 3.2.0b1
diff --git a/README.rst b/README.rst
index c72ee14..02a8dbf 100644
--- a/README.rst
+++ b/README.rst
@@ -1,4 +1,4 @@
-SQLObject 3.2.0a1
+SQLObject 3.2.0b1
=================
Thanks for looking at SQLObject. SQLObject is an object-relational
diff --git a/setup.py b/setup.py
index cc788d0..d1bd5f5 100755
--- a/setup.py
+++ b/setup.py
@@ -69,7 +69,7 @@ and `GitHub <https://github.com/sqlobject>`_.
:target: https://travis-ci.org/sqlobject/sqlobject
""",
classifiers=[
- "Development Status :: 3 - Alpha",
+ "Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: "
"GNU Library or Lesser General Public License (LGPL)",
@@ -89,7 +89,7 @@ and `GitHub <https://github.com/sqlobject>`_.
maintainer="Oleg Broytman",
maintainer_email="ph...@ph...",
url="http://sqlobject.org/devel/",
- download_url="https://pypi.python.org/pypi/SQLObject/%s.dev20170205" %
+ download_url="https://pypi.python.org/pypi/SQLObject/%s.dev20170223" %
version,
license="LGPL",
packages=["sqlobject"] +
diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py
index 61ac4eb..554ea74 100644
--- a/sqlobject/__version__.py
+++ b/sqlobject/__version__.py
@@ -1,8 +1,8 @@
-version = '3.2.0a1'
+version = '3.2.0b1'
major = 3
minor = 2
micro = 0
-release_level = 'alpha'
+release_level = 'beta'
serial = 1
version_info = (major, minor, micro, release_level, serial)
-----------------------------------------------------------------------
Summary of changes:
README.rst | 2 +-
setup.py | 4 ++--
sqlobject/__version__.py | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-02-21 19:25:25
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via 052a6f478c817f98d2d0414455990fb19ba50cf3 (commit)
via 0aa1621e6bf08692525ebdb8fac69aed0bb42f10 (commit)
from 0fee3500a949c3d0021786792082483caa82920d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/052a6f478c817f98d2d0414455990fb19ba50cf3
commit 052a6f478c817f98d2d0414455990fb19ba50cf3
Author: Oleg Broytman <ph...@ph...>
Date: Tue Feb 21 22:09:53 2017 +0300
Pause for 5 seconds after starting Firebird
Give the server time to warm up.
diff --git a/.travis.yml b/.travis.yml
index cb55d65..848791a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -24,7 +24,7 @@ before_install:
# to create the test database.
- if [[ $TOXENV = *firebird* ]]; then
sudo sed -i /etc/default/firebird2.5 -e 's/=no/=yes/' &&
- sudo /etc/init.d/firebird2.5-super start &&
+ sudo /etc/init.d/firebird2.5-super start && sleep 5 &&
sudo touch /var/lib/firebird/create_test_db &&
sudo chmod 666 /var/lib/firebird/create_test_db &&
echo "CREATE DATABASE 'localhost:/tmp/test.fdb';" > /var/lib/firebird/create_test_db &&
http://sourceforge.net/p/sqlobject/sqlobject/ci/0aa1621e6bf08692525ebdb8fac69aed0bb42f10
commit 0aa1621e6bf08692525ebdb8fac69aed0bb42f10
Author: Oleg Broytman <ph...@ph...>
Date: Fri Feb 10 14:59:41 2017 +0300
Update docs: simplify logging example
[skip ci]
diff --git a/docs/SQLObject.rst b/docs/SQLObject.rst
index be704c2..003172e 100644
--- a/docs/SQLObject.rst
+++ b/docs/SQLObject.rst
@@ -1759,20 +1759,17 @@ empty SQLObject uses ``print``'s instead of logging; `loglevel` can be
To configure logging one can do something like that::
import logging
- logging.basicConfig()
- for handler in logging.root.handlers[:]:
- logging.root.removeHandler(handler)
- handler = logging.FileHandler("test.log")
- fmt = '[%(asctime)s] %(name)s %(levelname)s: %(message)s'
- handler.setFormatter(logging.Formatter(fmt))
- logging.root.addHandler(handler)
- logging.root.setLevel(logging.DEBUG)
+ logging.basicConfig(
+ filename='test.log',
+ format='[%(asctime)s] %(name)s %(levelname)s: %(message)s',
+ level=logging.DEBUG,
+ )
log = logging.getLogger("TEST")
log.info("Log started")
__connection__ = "sqlite:/:memory:?debug=1&logger=TEST&loglevel=debug"
-The code redirects SQLObject debug messages to the `test.log` file.
+The code redirects SQLObject debug messages to `test.log` file.
MySQL
-----
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 2 +-
docs/SQLObject.rst | 15 ++++++---------
2 files changed, 7 insertions(+), 10 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-02-09 13:07:35
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via 0fee3500a949c3d0021786792082483caa82920d (commit)
via 60b412218b53f2443e1e3f701c82b223e6d7509e (commit)
via ffcdbe970272a35b40e4f78d05170d83e47010c6 (commit)
via 50ae1a7da60555e7da80bf10c4b5e6cfebfa8a9d (commit)
via 347e63397079d08ad78ba6e616bdad93fa7bed1f (commit)
via 882e147c9c5c04faf6ea7d8b9f5bae9898d36afa (commit)
via 23332ccd1bd6b8c2b3bc1c0682fc8ade0e41c289 (commit)
from b06003c4189912aae186244e90ed950cc641f19d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/0fee3500a949c3d0021786792082483caa82920d
commit 0fee3500a949c3d0021786792082483caa82920d
Author: Oleg Broytman <ph...@ph...>
Date: Thu Feb 9 14:45:18 2017 +0300
Run createdb/dropdb with option -w
These are non-interactive tests.
diff --git a/tox.ini b/tox.ini
index 4837f8f..3cd1677 100644
--- a/tox.ini
+++ b/tox.ini
@@ -116,10 +116,10 @@ commands = {[pymysql]commands}
# PostgreSQL test environments
[psycopg]
commands =
- -dropdb -U postgres sqlobject_test
- createdb -U postgres sqlobject_test
+ -dropdb -U postgres -w sqlobject_test
+ createdb -U postgres -w sqlobject_test
pytest --cov=sqlobject -D postgres://postgres:@localhost/sqlobject_test?driver=psycopg&charset=utf-8&debug=1 tests include/tests inheritance/tests versioning/test
- dropdb -U postgres sqlobject_test
+ dropdb -U postgres -w sqlobject_test
[testenv:py26-postgres-psycopg]
commands = {[psycopg]commands}
@@ -135,10 +135,10 @@ commands = {[psycopg]commands}
[pygresql]
commands =
- -dropdb -U postgres sqlobject_test
- createdb -U postgres sqlobject_test
+ -dropdb -U postgres -w sqlobject_test
+ createdb -U postgres -w sqlobject_test
pytest --cov=sqlobject -D postgres://postgres:@localhost/sqlobject_test?driver=pygresql&charset=utf-8&debug=1 tests include/tests inheritance/tests versioning/test
- dropdb -U postgres sqlobject_test
+ dropdb -U postgres -w sqlobject_test
[testenv:py26-postgres-pygresql]
commands = {[pygresql]commands}
@@ -154,10 +154,10 @@ commands = {[pygresql]commands}
[pypostgresql]
commands =
- -dropdb -U postgres sqlobject_test
- createdb -U postgres sqlobject_test
+ -dropdb -U postgres -w sqlobject_test
+ createdb -U postgres -w sqlobject_test
pytest --cov=sqlobject -D postgres://postgres:@localhost/sqlobject_test?driver=pypostgresql&charset=utf-8&debug=1 tests include/tests inheritance/tests versioning/test
- dropdb -U postgres sqlobject_test
+ dropdb -U postgres -w sqlobject_test
[testenv:py34-pypostgresql]
commands = {[pypostgresql]commands}
@@ -281,10 +281,10 @@ commands = {[mysql-connector-w32]commands}
[psycopg-w32]
commands =
- -dropdb -w -U postgres sqlobject_test
- createdb -w -U postgres sqlobject_test
+ -dropdb -U postgres -w sqlobject_test
+ createdb -U postgres -w sqlobject_test
pytest --cov=sqlobject -D "postgres://postgres:Password12!@localhost/sqlobject_test?driver=psycopg2&charset=utf-8&debug=1" tests include/tests inheritance/tests versioning/test
- dropdb -w -U postgres sqlobject_test
+ dropdb -U postgres -w sqlobject_test
[testenv:py27-postgres-psycopg-w32]
commands = {[psycopg-w32]commands}
http://sourceforge.net/p/sqlobject/sqlobject/ci/60b412218b53f2443e1e3f701c82b223e6d7509e
commit 60b412218b53f2443e1e3f701c82b223e6d7509e
Author: Oleg Broytman <ph...@ph...>
Date: Thu Feb 9 04:41:12 2017 +0300
Run tests at AppVeyor with Python-x64
diff --git a/appveyor.yml b/appveyor.yml
index 930c9c2..3d95e3b 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -32,24 +32,45 @@ environment:
- PYTHON: "C:\\Python27"
db: postgresql
TOX_ENV: "py27-postgres-psycopg-w32"
+ - PYTHON: "C:\\Python27-x64"
+ db: postgresql
+ TOX_ENV: "py27-postgres-psycopg-w32"
- PYTHON: "C:\\Python34"
db: postgresql
TOX_ENV: "py34-postgres-psycopg-w32"
+ - PYTHON: "C:\\Python34-x64"
+ db: postgresql
+ TOX_ENV: "py34-postgres-psycopg-w32"
- PYTHON: "C:\\Python35"
db: postgresql
TOX_ENV: "py35-postgres-psycopg-w32"
+ - PYTHON: "C:\\Python35-x64"
+ db: postgresql
+ TOX_ENV: "py35-postgres-psycopg-w32"
- PYTHON: "C:\\Python27"
TOX_ENV: "py27-sqlite-w32"
+ - PYTHON: "C:\\Python27-x64"
+ TOX_ENV: "py27-sqlite-w32"
- PYTHON: "C:\\Python34"
TOX_ENV: "py34-sqlite-w32"
+ - PYTHON: "C:\\Python34-x64"
+ TOX_ENV: "py34-sqlite-w32"
- PYTHON: "C:\\Python35"
TOX_ENV: "py35-sqlite-w32"
+ - PYTHON: "C:\\Python35-x64"
+ TOX_ENV: "py35-sqlite-w32"
- PYTHON: "C:\\Python27"
TOX_ENV: "py27-sqlite-memory-w32"
+ - PYTHON: "C:\\Python27-x64"
+ TOX_ENV: "py27-sqlite-memory-w32"
- PYTHON: "C:\\Python34"
TOX_ENV: "py34-sqlite-memory-w32"
+ - PYTHON: "C:\\Python34-x64"
+ TOX_ENV: "py34-sqlite-memory-w32"
- PYTHON: "C:\\Python35"
TOX_ENV: "py35-sqlite-memory-w32"
+ - PYTHON: "C:\\Python35-x64"
+ TOX_ENV: "py35-sqlite-memory-w32"
install:
# Ensure we use the right python version
diff --git a/docs/News.rst b/docs/News.rst
index 6e757d3..7cce01d 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -99,8 +99,8 @@ Tests
drivers fdb and firebirdsql). There are problems with tests.
* Run tests at AppVeyor for windows testing. Run tests with MS SQL,
- MySQL, Postgres and SQLite backends; use Python 2.7, 3.4 and 3.5.
- There are problems with MS SQL and MySQL.
+ MySQL, Postgres and SQLite backends; use Python 2.7, 3.4 and 3.5,
+ x86 and x64. There are problems with MS SQL and MySQL.
SQLObject 3.1.0
===============
http://sourceforge.net/p/sqlobject/sqlobject/ci/ffcdbe970272a35b40e4f78d05170d83e47010c6
commit ffcdbe970272a35b40e4f78d05170d83e47010c6
Author: Oleg Broytman <ph...@ph...>
Date: Thu Feb 9 04:31:57 2017 +0300
Rename pywin-* test envs to py-*-w32
diff --git a/appveyor.yml b/appveyor.yml
index 5d91470..930c9c2 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -19,37 +19,37 @@ environment:
# from https://www.appveyor.com/docs/installed-software/#python
- PYTHON: "C:\\Python27"
db: mssql2014
- TOX_ENV: "pywin27-mssql"
+ TOX_ENV: "py27-mssql-w32"
- PYTHON: "C:\\Python34"
db: mssql2014
- TOX_ENV: "pywin34-mssql"
+ TOX_ENV: "py34-mssql-w32"
- PYTHON: "C:\\Python27"
db: mysql
- TOX_ENV: "pywin27-mysql-connector"
+ TOX_ENV: "py27-mysql-connector-w32"
- PYTHON: "C:\\Python34"
db: mysql
- TOX_ENV: "pywin34-mysql-connector"
+ TOX_ENV: "py34-mysql-connector-w32"
- PYTHON: "C:\\Python27"
db: postgresql
- TOX_ENV: "pywin27-postgres-psycopg"
+ TOX_ENV: "py27-postgres-psycopg-w32"
- PYTHON: "C:\\Python34"
db: postgresql
- TOX_ENV: "pywin34-postgres-psycopg"
+ TOX_ENV: "py34-postgres-psycopg-w32"
- PYTHON: "C:\\Python35"
db: postgresql
- TOX_ENV: "pywin35-postgres-psycopg"
+ TOX_ENV: "py35-postgres-psycopg-w32"
- PYTHON: "C:\\Python27"
- TOX_ENV: "pywin27-sqlite"
+ TOX_ENV: "py27-sqlite-w32"
- PYTHON: "C:\\Python34"
- TOX_ENV: "pywin34-sqlite"
+ TOX_ENV: "py34-sqlite-w32"
- PYTHON: "C:\\Python35"
- TOX_ENV: "pywin35-sqlite"
+ TOX_ENV: "py35-sqlite-w32"
- PYTHON: "C:\\Python27"
- TOX_ENV: "pywin27-sqlite-memory"
+ TOX_ENV: "py27-sqlite-memory-w32"
- PYTHON: "C:\\Python34"
- TOX_ENV: "pywin34-sqlite-memory"
+ TOX_ENV: "py34-sqlite-memory-w32"
- PYTHON: "C:\\Python35"
- TOX_ENV: "pywin35-sqlite-memory"
+ TOX_ENV: "py35-sqlite-memory-w32"
install:
# Ensure we use the right python version
diff --git a/tox.ini b/tox.ini
index 59d4946..4837f8f 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
[tox]
minversion = 1.8
-envlist = py{26,27}-{mysqldb,mysql-oursql},py{34,35}-{mysqlclient,pypostgresql},py{26,27,34,35}-{mysql-connector,pymysql,postgres-psycopg,postgres-pygresql,sqlite,sqlite-memory},py{27,34,35}-{firebird-fdb,firebirdsql},py{27,34}-flake8,pywin{27,34,35}-{mssql,mysql-connector,postgres-psycopg,sqlite,sqlite-memory}
+envlist = py{26,27}-{mysqldb,mysql-oursql},py{34,35}-{mysqlclient,pypostgresql},py{26,27,34,35}-{mysql-connector,pymysql,postgres-psycopg,postgres-pygresql,sqlite,sqlite-memory},py{27,34,35}-{firebird-fdb,firebirdsql},py{27,34}-flake8,py{27,34,35}-{mssql,mysql-connector,postgres-psycopg,sqlite,sqlite-memory}-w32
# Base test environment settings
[testenv]
@@ -254,13 +254,13 @@ commands =
pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pymssql&timeout=30&debug=1"
sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test"
-[testenv:pywin27-mssql]
+[testenv:py27-mssql-w32]
commands = {[mssql-w32]commands}
-[testenv:pywin34-mssql]
+[testenv:py34-mssql-w32]
commands = {[mssql-w32]commands}
-[testenv:pywin35-mssql]
+[testenv:py35-mssql-w32]
commands = {[mssql-w32]commands}
[mysql-connector-w32]
@@ -270,13 +270,13 @@ commands =
pytest --cov=sqlobject -D "mysql://root:Password12!@localhost/sqlobject_test?driver=connector&debug=1"
mysql -u root "-pPassword12!" -e 'drop database sqlobject_test;'
-[testenv:pywin27-mysql-connector]
+[testenv:py27-mysql-connector-w32]
commands = {[mysql-connector-w32]commands}
-[testenv:pywin34-mysql-connector]
+[testenv:py34-mysql-connector-w32]
commands = {[mysql-connector-w32]commands}
-[testenv:pywin35-mysql-connector]
+[testenv:py35-mysql-connector-w32]
commands = {[mysql-connector-w32]commands}
[psycopg-w32]
@@ -286,37 +286,37 @@ commands =
pytest --cov=sqlobject -D "postgres://postgres:Password12!@localhost/sqlobject_test?driver=psycopg2&charset=utf-8&debug=1" tests include/tests inheritance/tests versioning/test
dropdb -w -U postgres sqlobject_test
-[testenv:pywin27-postgres-psycopg]
+[testenv:py27-postgres-psycopg-w32]
commands = {[psycopg-w32]commands}
-[testenv:pywin34-postgres-psycopg]
+[testenv:py34-postgres-psycopg-w32]
commands = {[psycopg-w32]commands}
-[testenv:pywin35-postgres-psycopg]
+[testenv:py35-postgres-psycopg-w32]
commands = {[psycopg-w32]commands}
[sqlite-w32]
commands =
pytest --cov=sqlobject -D sqlite:/C:/projects/sqlobject/sqlobject_test.sqdb?debug=1
-[testenv:pywin27-sqlite]
+[testenv:py27-sqlite-w32]
commands = {[sqlite-w32]commands}
-[testenv:pywin34-sqlite]
+[testenv:py34-sqlite-w32]
commands = {[sqlite-w32]commands}
-[testenv:pywin35-sqlite]
+[testenv:py35-sqlite-w32]
commands = {[sqlite-w32]commands}
[sqlite-memory-w32]
commands =
pytest --cov=sqlobject -D sqlite:/:memory:?debug=1
-[testenv:pywin27-sqlite-memory]
+[testenv:py27-sqlite-memory-w32]
commands = {[sqlite-memory-w32]commands}
-[testenv:pywin34-sqlite-memory]
+[testenv:py34-sqlite-memory-w32]
commands = {[sqlite-memory-w32]commands}
-[testenv:pywin35-sqlite-memory]
+[testenv:py35-sqlite-memory-w32]
commands = {[sqlite-memory-w32]commands}
http://sourceforge.net/p/sqlobject/sqlobject/ci/50ae1a7da60555e7da80bf10c4b5e6cfebfa8a9d
commit 50ae1a7da60555e7da80bf10c4b5e6cfebfa8a9d
Author: Oleg Broytman <ph...@ph...>
Date: Thu Feb 9 04:28:13 2017 +0300
Run Pg and SQLite tests with Py3.5-win
diff --git a/appveyor.yml b/appveyor.yml
index efa3097..5d91470 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -20,53 +20,36 @@ environment:
- PYTHON: "C:\\Python27"
db: mssql2014
TOX_ENV: "pywin27-mssql"
- - PYTHON: "C:\\Python27"
- db: mysql
- TOX_ENV: "pywin27-mysql-connector"
- - PYTHON: "C:\\Python27"
- db: postgresql
- TOX_ENV: "pywin27-postgres-psycopg"
- #- PYTHON: "C:\\Python27-x64"
- # db: mssql2014
- #- PYTHON: "C:\\Python27-x64"
- # db: postgresql
- PYTHON: "C:\\Python34"
db: mssql2014
TOX_ENV: "pywin34-mssql"
+ - PYTHON: "C:\\Python27"
+ db: mysql
+ TOX_ENV: "pywin27-mysql-connector"
- PYTHON: "C:\\Python34"
db: mysql
TOX_ENV: "pywin34-mysql-connector"
+ - PYTHON: "C:\\Python27"
+ db: postgresql
+ TOX_ENV: "pywin27-postgres-psycopg"
- PYTHON: "C:\\Python34"
db: postgresql
TOX_ENV: "pywin34-postgres-psycopg"
- #- PYTHON: "C:\\Python34-x64"
- # db: mssql2014
- #- PYTHON: "C:\\Python34-x64"
- # db: postgresql
- #- PYTHON: "C:\\Python35"
- # db: mssql2014
- #- PYTHON: "C:\\Python35"
- # db: postgresql
- #- PYTHON: "C:\\Python35-x64"
- # db: mssql2014
- #- PYTHON: "C:\\Python35-x64"
- # db: postgresql
- #- PYTHON: "C:\\Python36"
- # db: mssql2014
- #- PYTHON: "C:\\Python36"
- # db: postgresql
- #- PYTHON: "C:\\Python36-x64"
- # db: mssql2014
- #- PYTHON: "C:\\Python36-x64"
- # db: postgresql
+ - PYTHON: "C:\\Python35"
+ db: postgresql
+ TOX_ENV: "pywin35-postgres-psycopg"
- PYTHON: "C:\\Python27"
TOX_ENV: "pywin27-sqlite"
- PYTHON: "C:\\Python34"
TOX_ENV: "pywin34-sqlite"
+ - PYTHON: "C:\\Python35"
+ TOX_ENV: "pywin35-sqlite"
- PYTHON: "C:\\Python27"
TOX_ENV: "pywin27-sqlite-memory"
- PYTHON: "C:\\Python34"
TOX_ENV: "pywin34-sqlite-memory"
+ - PYTHON: "C:\\Python35"
+ TOX_ENV: "pywin35-sqlite-memory"
install:
# Ensure we use the right python version
diff --git a/docs/News.rst b/docs/News.rst
index df02ff6..6e757d3 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -95,11 +95,12 @@ Tests
* Drop ``Circle CI``.
-* Run at Travis CI tests with Firebird backend (server version 2.5; drivers fdb
- and firebirdsql). There are problems with tests.
+* Run at Travis CI tests with Firebird backend (server version 2.5;
+ drivers fdb and firebirdsql). There are problems with tests.
-* Run tests at AppVeyor for windows testing. Run tests with MS SQL, MySQL,
- Postgres and SQLite. There are problems with MS SQL and MySQL.
+* Run tests at AppVeyor for windows testing. Run tests with MS SQL,
+ MySQL, Postgres and SQLite backends; use Python 2.7, 3.4 and 3.5.
+ There are problems with MS SQL and MySQL.
SQLObject 3.1.0
===============
diff --git a/tox.ini b/tox.ini
index 3e604d6..59d4946 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
[tox]
minversion = 1.8
-envlist = py{26,27}-{mysqldb,mysql-oursql},py{34,35}-{mysqlclient,pypostgresql},py{26,27,34,35}-{mysql-connector,pymysql,postgres-psycopg,postgres-pygresql,sqlite,sqlite-memory},py{27,34,35}-{firebird-fdb,firebirdsql},py{27,34}-flake8,pywin{27,34}-{mssql,mysql-connector,postgres-psycopg,sqlite,sqlite-memory}
+envlist = py{26,27}-{mysqldb,mysql-oursql},py{34,35}-{mysqlclient,pypostgresql},py{26,27,34,35}-{mysql-connector,pymysql,postgres-psycopg,postgres-pygresql,sqlite,sqlite-memory},py{27,34,35}-{firebird-fdb,firebirdsql},py{27,34}-flake8,pywin{27,34,35}-{mssql,mysql-connector,postgres-psycopg,sqlite,sqlite-memory}
# Base test environment settings
[testenv]
@@ -260,6 +260,9 @@ commands = {[mssql-w32]commands}
[testenv:pywin34-mssql]
commands = {[mssql-w32]commands}
+[testenv:pywin35-mssql]
+commands = {[mssql-w32]commands}
+
[mysql-connector-w32]
commands =
-mysql -u root "-pPassword12!" -e 'drop database sqlobject_test;'
@@ -273,6 +276,9 @@ commands = {[mysql-connector-w32]commands}
[testenv:pywin34-mysql-connector]
commands = {[mysql-connector-w32]commands}
+[testenv:pywin35-mysql-connector]
+commands = {[mysql-connector-w32]commands}
+
[psycopg-w32]
commands =
-dropdb -w -U postgres sqlobject_test
@@ -286,6 +292,9 @@ commands = {[psycopg-w32]commands}
[testenv:pywin34-postgres-psycopg]
commands = {[psycopg-w32]commands}
+[testenv:pywin35-postgres-psycopg]
+commands = {[psycopg-w32]commands}
+
[sqlite-w32]
commands =
pytest --cov=sqlobject -D sqlite:/C:/projects/sqlobject/sqlobject_test.sqdb?debug=1
@@ -296,6 +305,9 @@ commands = {[sqlite-w32]commands}
[testenv:pywin34-sqlite]
commands = {[sqlite-w32]commands}
+[testenv:pywin35-sqlite]
+commands = {[sqlite-w32]commands}
+
[sqlite-memory-w32]
commands =
pytest --cov=sqlobject -D sqlite:/:memory:?debug=1
@@ -305,3 +317,6 @@ commands = {[sqlite-memory-w32]commands}
[testenv:pywin34-sqlite-memory]
commands = {[sqlite-memory-w32]commands}
+
+[testenv:pywin35-sqlite-memory]
+commands = {[sqlite-memory-w32]commands}
http://sourceforge.net/p/sqlobject/sqlobject/ci/347e63397079d08ad78ba6e616bdad93fa7bed1f
commit 347e63397079d08ad78ba6e616bdad93fa7bed1f
Author: Oleg Broytman <ph...@ph...>
Date: Thu Feb 9 01:59:00 2017 +0300
Run tests at AppVeyor with MySQL
diff --git a/appveyor.yml b/appveyor.yml
index a92631c..efa3097 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -7,9 +7,11 @@ version: 3.2.{build}
clone_depth: 50
services:
+ - mysql
- postgresql
environment:
+ MYSQL_PWD: "Password12!"
PGUSER: "postgres"
PGPASSWORD: "Password12!"
... 166 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-02-08 22:10:52
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via b06003c4189912aae186244e90ed950cc641f19d (commit)
via aca6f12710642610c0711e5446efb21a6df09f3c (commit)
from 11c9d096545979fdca49bb20dd7e12bb8f295b13 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/b06003c4189912aae186244e90ed950cc641f19d
commit b06003c4189912aae186244e90ed950cc641f19d
Author: Oleg Broytman <ph...@ph...>
Date: Wed Feb 8 22:56:23 2017 +0300
Start and configure Firebird server only in *firebird* environments
diff --git a/.travis.yml b/.travis.yml
index 315b73c..cb55d65 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -15,13 +15,22 @@ addons:
- firebird2.5-super
postgresql: "9.4"
-# Start the firebird database server
-# We use firebird-super, so there's none of the inetd configuration required by firebird-classic
-# We also create a test user for the firebird test and create a script that can be fed into isql-fb to create the test database
before_install:
- - sudo sed -i /etc/default/firebird2.5 -e 's/=no/=yes/' && sudo /etc/init.d/firebird2.5-super start
- - sudo touch /var/lib/firebird/create_test_db && sudo chmod 666 /var/lib/firebird/create_test_db && echo "CREATE DATABASE 'localhost:/tmp/test.fdb';" > /var/lib/firebird/create_test_db && sudo chmod 644 /var/lib/firebird/create_test_db
- - sudo gsec -user sysdba -pass masterkey -add test -pw test
+ # Start the firebird database server.
+ # We use firebird-super, so there's none of the inetd configuration
+ # required by firebird-classic.
+ # We also create a test user for the firebird test and
+ # create a script that can be fed into isql-fb
+ # to create the test database.
+ - if [[ $TOXENV = *firebird* ]]; then
+ sudo sed -i /etc/default/firebird2.5 -e 's/=no/=yes/' &&
+ sudo /etc/init.d/firebird2.5-super start &&
+ sudo touch /var/lib/firebird/create_test_db &&
+ sudo chmod 666 /var/lib/firebird/create_test_db &&
+ echo "CREATE DATABASE 'localhost:/tmp/test.fdb';" > /var/lib/firebird/create_test_db &&
+ sudo chmod 644 /var/lib/firebird/create_test_db &&
+ sudo gsec -user sysdba -pass masterkey -add test -pw test;
+ fi
env:
- TOXENV=py26-mysqldb
http://sourceforge.net/p/sqlobject/sqlobject/ci/aca6f12710642610c0711e5446efb21a6df09f3c
commit aca6f12710642610c0711e5446efb21a6df09f3c
Author: Oleg Broytman <ph...@ph...>
Date: Wed Feb 8 21:51:06 2017 +0300
Remove pg8000 driver
There are major problems with the driver. We can reconsider it
if our pull requests will be accepted.
diff --git a/.travis.yml b/.travis.yml
index 0f83b96..315b73c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -48,10 +48,6 @@ env:
- TOXENV=py35-postgres-pygresql
- TOXENV=py34-pypostgresql
- TOXENV=py35-pypostgresql
- - TOXENV=py26-postgres-pg8000
- - TOXENV=py27-postgres-pg8000
- - TOXENV=py34-postgres-pg8000
- - TOXENV=py35-postgres-pg8000
- TOXENV=py26-sqlite
- TOXENV=py27-sqlite
- TOXENV=py34-sqlite
@@ -79,10 +75,6 @@ matrix:
- env: TOXENV=py35-postgres-pygresql
- env: TOXENV=py34-pypostgresql
- env: TOXENV=py35-pypostgresql
- - env: TOXENV=py26-postgres-pg8000
- - env: TOXENV=py27-postgres-pg8000
- - env: TOXENV=py34-postgres-pg8000
- - env: TOXENV=py35-postgres-pg8000
- env: TOXENV=py27-firebird-fdb
- env: TOXENV=py34-firebird-fdb
- env: TOXENV=py35-firebird-fdb
diff --git a/docs/News.rst b/docs/News.rst
index 534171b..b27c6dc 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -53,10 +53,6 @@ Drivers (work in progress)
<https://pypi.python.org/pypi/py-postgresql>`_ PostgreSQL driver. There
are still problems with the driver.
-* Add support for `pg8000 <https://pypi.python.org/pypi/pg8000>`_
- PostgreSQL driver. There are major problems with the driver caused by both
- the driver and SQLObject.
-
* Add support for `pyfirebirdsql
<https://pypi.python.org/pypi/firebirdsql>`_.There are still problems with
the driver.
diff --git a/docs/SQLObject.rst b/docs/SQLObject.rst
index 783060b..be704c2 100644
--- a/docs/SQLObject.rst
+++ b/docs/SQLObject.rst
@@ -48,8 +48,8 @@ Requirements
Currently SQLObject supports MySQL_ via MySQLdb_ aka MySQL-python (called
mysqlclient_ for Python 3), `MySQL Connector`_, oursql_ and PyMySQL_. For
-PostgreSQL_ psycopg2_ or psycopg1 are recommended; PyGreSQL_, py-postgresql_
-and pg8000_ are supported but have problems (not all tests passed). SQLite_ has
+PostgreSQL_ psycopg2_ or psycopg1 are recommended; PyGreSQL_ and py-postgresql_
+are supported but have problems (not all tests passed). SQLite_ has
a built-in driver or PySQLite_. Firebird_ is supported via fdb_ or
kinterbasdb_; pyfirebirdsql_ is supported but has problems. `MAX DB`_ (also
known as SAP DB) is supported via sapdb_. Sybase via Sybase_. `MSSQL Server`_
@@ -65,7 +65,6 @@ via pymssql_ (+ FreeTDS_) or adodbapi_ (Win32).
.. _psycopg2: http://initd.org/psycopg/
.. _PyGreSQL: http://www.pygresql.org/
.. _py-postgresql: https://pypi.python.org/pypi/py-postgresql
-.. _pg8000: https://pypi.python.org/pypi/pg8000
.. _SQLite: https://sqlite.org/
.. _PySQLite: https://github.com/ghaering/pysqlite
.. _Firebird: http://www.firebirdsql.org/en/python-driver/
@@ -1830,8 +1829,8 @@ PostgresConnection supports transactions and all other features.
The user can choose a DB API driver for PostgreSQL by using a ``driver``
parameter in DB URI or PostgresConnection that can be a comma-separated
list of driver names. Possible drivers are: ``psycopg2``, psycopg1,
-``psycopg`` (tries psycopg2 and psycopg1), ``pygresql``, ``pygresql``,
-``pg8000`` or ``pypostgresql``. Default is ``psycopg``.
+``psycopg`` (tries psycopg2 and psycopg1), ``pygresql``, ``pygresql``
+or ``pypostgresql``. Default is ``psycopg``.
Connection-specific parameters are: ``sslmode``, ``unicodeCols``,
``schema``, ``charset``.
diff --git a/sqlobject/postgres/pgconnection.py b/sqlobject/postgres/pgconnection.py
index 5fb9f99..5920cd5 100644
--- a/sqlobject/postgres/pgconnection.py
+++ b/sqlobject/postgres/pgconnection.py
@@ -1,6 +1,4 @@
-from getpass import getuser
import re
-import sys
from sqlobject import col
from sqlobject import dberrors
from sqlobject import sqlbuilder
@@ -55,14 +53,11 @@ class PostgresConnection(DBAPI):
elif driver in ('py-postgresql', 'pypostgresql'):
from postgresql.driver import dbapi20
self.module = dbapi20
- elif driver == 'pg8000':
- import pg8000
- self.module = pg8000
else:
raise ValueError(
'Unknown PostgreSQL driver "%s", '
'expected psycopg2, psycopg1, '
- 'pygresql, pg8000 or pypostgresql' % driver)
+ 'pygresql or pypostgresql' % driver)
except ImportError:
pass
else:
@@ -142,12 +137,6 @@ class PostgresConnection(DBAPI):
else:
if "unix" in dsn_dict:
del dsn_dict["unix"]
- if driver == 'pg8000':
- if host and host.startswith('/'):
- dsn_dict["host"] = None
- dsn_dict["unix_sock"] = host
- if user is None:
- dsn_dict["user"] = getuser()
self.driver = driver
self.dsn = dsn
self.unicodeCols = kw.pop('unicodeCols', False)
@@ -183,11 +172,6 @@ class PostgresConnection(DBAPI):
raise dberrors.OperationalError(
ErrorMessage(e, "used connection string %r" % self.dsn))
- if self.driver == 'pg8000' and \
- 'sqlobject.tests.dbtest' in sys.modules and \
- hasattr(conn, 'set_cache_size'):
- conn.set_cache_size(1000) # rows
-
# For printDebug in _executeRetry
self._connectionNumbers[id(conn)] = self._connectionCount
diff --git a/tox.ini b/tox.ini
index cf0066a..96f4fcd 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
[tox]
minversion = 1.8
-envlist = py{26,27}-{mysqldb,mysql-oursql},py{34,35}-{mysqlclient,pypostgresql},py{26,27,34,35}-{mysql-connector,pymysql,postgres-psycopg,postgres-pygresql,postgres-pg8000,sqlite,sqlite-memory},py{27,34,35}-{firebird-fdb,firebirdsql},py{27,34}-flake8,pywin{27,34}-{mssql,postgres-psycopg,sqlite,sqlite-memory}
+envlist = py{26,27}-{mysqldb,mysql-oursql},py{34,35}-{mysqlclient,pypostgresql},py{26,27,34,35}-{mysql-connector,pymysql,postgres-psycopg,postgres-pygresql,sqlite,sqlite-memory},py{27,34,35}-{firebird-fdb,firebirdsql},py{27,34}-flake8,pywin{27,34}-{mssql,postgres-psycopg,sqlite,sqlite-memory}
# Base test environment settings
[testenv]
@@ -23,7 +23,6 @@ deps =
pypostgresql: py-postgresql
firebird-fdb: fdb
firebirdsql: firebirdsql
- postgres-pg8000: pg8000
mssql: pymssql
passenv = CI TRAVIS TRAVIS_* PGPASSWORD
# Don't fail or warn on uninstalled commands
@@ -166,25 +165,6 @@ commands = {[pypostgresql]commands}
[testenv:py35-pypostgresql]
commands = {[pypostgresql]commands}
-[pg8000]
-commands =
- -dropdb -U postgres sqlobject_test
- createdb -U postgres sqlobject_test
- pytest --cov=sqlobject -D postgres://postgres:@localhost/sqlobject_test?driver=pg8000&charset=utf-8&debug=1 tests include/tests inheritance/tests versioning/test
- dropdb -U postgres sqlobject_test
-
-[testenv:py26-postgres-pg8000]
-commands = {[pg8000]commands}
-
-[testenv:py27-postgres-pg8000]
-commands = {[pg8000]commands}
-
-[testenv:py34-postgres-pg8000]
-commands = {[pg8000]commands}
-
-[testenv:py35-postgres-pg8000]
-commands = {[pg8000]commands}
-
# SQLite test environments
[sqlite]
commands =
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 29 +++++++++++++++--------------
docs/News.rst | 4 ----
docs/SQLObject.rst | 9 ++++-----
sqlobject/postgres/pgconnection.py | 18 +-----------------
tox.ini | 22 +---------------------
5 files changed, 21 insertions(+), 61 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-02-05 16:44:52
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via 11c9d096545979fdca49bb20dd7e12bb8f295b13 (commit)
from dec28cb8e3a3aab0f819b7f2d8d45190d8cab2a4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/11c9d096545979fdca49bb20dd7e12bb8f295b13
commit 11c9d096545979fdca49bb20dd7e12bb8f295b13
Author: Oleg Broytman <ph...@ph...>
Date: Sun Feb 5 19:32:45 2017 +0300
Release 3.2.0a1
diff --git a/README.rst b/README.rst
index 499adf6..c72ee14 100644
--- a/README.rst
+++ b/README.rst
@@ -1,4 +1,4 @@
-SQLObject 3.2.0a0
+SQLObject 3.2.0a1
=================
Thanks for looking at SQLObject. SQLObject is an object-relational
diff --git a/setup.py b/setup.py
index e54f83f..cc788d0 100755
--- a/setup.py
+++ b/setup.py
@@ -69,7 +69,7 @@ and `GitHub <https://github.com/sqlobject>`_.
:target: https://travis-ci.org/sqlobject/sqlobject
""",
classifiers=[
- "Development Status :: 2 - Pre-Alpha",
+ "Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: "
"GNU Library or Lesser General Public License (LGPL)",
@@ -89,7 +89,7 @@ and `GitHub <https://github.com/sqlobject>`_.
maintainer="Oleg Broytman",
maintainer_email="ph...@ph...",
url="http://sqlobject.org/devel/",
- download_url="https://pypi.python.org/pypi/SQLObject/%s.dev20160816" %
+ download_url="https://pypi.python.org/pypi/SQLObject/%s.dev20170205" %
version,
license="LGPL",
packages=["sqlobject"] +
diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py
index 032c6a0..61ac4eb 100644
--- a/sqlobject/__version__.py
+++ b/sqlobject/__version__.py
@@ -1,8 +1,8 @@
-version = '3.2.0a0'
+version = '3.2.0a1'
major = 3
minor = 2
micro = 0
-release_level = 'pre-alpha'
-serial = 0
+release_level = 'alpha'
+serial = 1
version_info = (major, minor, micro, release_level, serial)
-----------------------------------------------------------------------
Summary of changes:
README.rst | 2 +-
setup.py | 4 ++--
sqlobject/__version__.py | 6 +++---
3 files changed, 6 insertions(+), 6 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-01-31 21:19:04
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via dec28cb8e3a3aab0f819b7f2d8d45190d8cab2a4 (commit)
via c8f304a427f12ac0786fbccf166b674703005f1c (commit)
via 792dbbeb99194bb5b7b67672d1b71bf48dff81d3 (commit)
via 1652e518453ee2965966c6f0e8579801d3abb6f0 (commit)
via e744d39481772d5521258959f150a31ab7d39e58 (commit)
via 5d4d8d224d82adfebe83c64a11d2c00382b5c6c0 (commit)
via a7c1eddcee298b65aa9e48fda655baaed442ba6c (commit)
via 6a3e2eb65f0ae029408f20e2026763c359074c03 (commit)
via 16692fa96609c6b5f36d9370472386c52decf12b (commit)
via f840a860a36c941e7946cc80e288c07fc7d904ad (commit)
via adc173f290fc99b3310c4bdd47946ae1e1f933d7 (commit)
via fbf0ce9dcb0c7b8cee0f1cc6dd2d300d3a11c321 (commit)
via 5381f4cd73466fe3379429f5220f63f3bb3da286 (commit)
via 2f0d4fe25292c317eb94139de7a89443a3b01654 (commit)
via dfed78480e7d8179750bb61ce24b595b569d717b (commit)
via 08fce24a80a9b723e56843fcdff5bfab67c05ade (commit)
via 9d5af49f96a4b0372b3f1669376df938f68109f3 (commit)
from c0962266abd0bbb729d1f1d8af4b1b1c8caf0e37 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/dec28cb8e3a3aab0f819b7f2d8d45190d8cab2a4
commit dec28cb8e3a3aab0f819b7f2d8d45190d8cab2a4
Author: Oleg Broytman <ph...@ph...>
Date: Mon Jan 30 13:34:59 2017 +0300
Remove deprecated ez_setup.py
diff --git a/docs/News.rst b/docs/News.rst
index e25a8be..534171b 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -42,6 +42,8 @@ Minor features
* Add parameter ``timeout`` for MSSQLConnection (usable only with pymssql
driver); timeouts are in seconds.
+* Remove deprecated ez_setup.py.
+
Drivers (work in progress)
--------------------------
diff --git a/ez_setup.py b/ez_setup.py
deleted file mode 100644
index 83c0595..0000000
--- a/ez_setup.py
+++ /dev/null
@@ -1,437 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Setuptools bootstrapping installer.
-
-Maintained at https://github.com/pypa/setuptools/tree/bootstrap.
-
-Run this script to install or upgrade setuptools.
-"""
-
-import os
-import shutil
-import sys
-import tempfile
-import zipfile
-import optparse
-import subprocess
-import platform
-import textwrap
-import contextlib
-import json
-import codecs
-
-from distutils import log
-
-try:
- from urllib.request import urlopen
- from urllib.parse import urljoin
-except ImportError:
- from urllib2 import urlopen
- from urlparse import urljoin
-
-try:
- from site import USER_SITE
-except ImportError:
- USER_SITE = None
-
-LATEST = object()
-DEFAULT_VERSION = LATEST
-DEFAULT_URL = "https://pypi.io/packages/source/s/setuptools/"
-DEFAULT_SAVE_DIR = os.curdir
-
-MEANINGFUL_INVALID_ZIP_ERR_MSG = 'Maybe {0} is corrupted, delete it and try again.'
-
-
-def _python_cmd(*args):
- """
- Execute a command.
-
- Return True if the command succeeded.
- """
- args = (sys.executable,) + args
- return subprocess.call(args) == 0
-
-
-def _install(archive_filename, install_args=()):
- """Install Setuptools."""
- with archive_context(archive_filename):
- # installing
- log.warn('Installing Setuptools')
- if not _python_cmd('setup.py', 'install', *install_args):
- log.warn('Something went wrong during the installation.')
- log.warn('See the error message above.')
- # exitcode will be 2
- return 2
-
-
-def _build_egg(egg, archive_filename, to_dir):
- """Build Setuptools egg."""
- with archive_context(archive_filename):
- # building an egg
- log.warn('Building a Setuptools egg in %s', to_dir)
- _python_cmd('setup.py', '-q', 'bdist_egg', '--dist-dir', to_dir)
- # returning the result
- log.warn(egg)
- if not os.path.exists(egg):
- raise IOError('Could not build the egg.')
-
-
-class ContextualZipFile(zipfile.ZipFile):
-
- """Supplement ZipFile class to support context manager for Python 2.6."""
-
- def __enter__(self):
- return self
-
- def __exit__(self, type, value, traceback):
- self.close()
-
- def __new__(cls, *args, **kwargs):
- """Construct a ZipFile or ContextualZipFile as appropriate."""
- if hasattr(zipfile.ZipFile, '__exit__'):
- return zipfile.ZipFile(*args, **kwargs)
- return super(ContextualZipFile, cls).__new__(cls)
-
-
-@contextlib.contextmanager
-def archive_context(filename):
- """
- Unzip filename to a temporary directory, set to the cwd.
-
- The unzipped target is cleaned up after.
- """
- tmpdir = tempfile.mkdtemp()
- log.warn('Extracting in %s', tmpdir)
- old_wd = os.getcwd()
- try:
- os.chdir(tmpdir)
- try:
- with ContextualZipFile(filename) as archive:
- archive.extractall()
- except zipfile.BadZipfile as err:
- if not err.args:
- err.args = ('', )
- err.args = err.args + (
- MEANINGFUL_INVALID_ZIP_ERR_MSG.format(filename),
- )
- raise
-
- # going in the directory
- subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0])
- os.chdir(subdir)
- log.warn('Now working in %s', subdir)
- yield
-
- finally:
- os.chdir(old_wd)
- shutil.rmtree(tmpdir)
-
-
-def _do_download(version, download_base, to_dir, download_delay):
- """Download Setuptools."""
- py_desig = 'py{sys.version_info[0]}.{sys.version_info[1]}'.format(sys=sys)
- tp = 'setuptools-{version}-{py_desig}.egg'
- egg = os.path.join(to_dir, tp.format(**locals()))
- if not os.path.exists(egg):
- archive = download_setuptools(version, download_base,
- to_dir, download_delay)
- _build_egg(egg, archive, to_dir)
- sys.path.insert(0, egg)
-
- # Remove previously-imported pkg_resources if present (see
- # https://bitbucket.org/pypa/setuptools/pull-request/7/ for details).
- if 'pkg_resources' in sys.modules:
- _unload_pkg_resources()
-
- import setuptools
- setuptools.bootstrap_install_from = egg
-
-
-def use_setuptools(
- version=DEFAULT_VERSION, download_base=DEFAULT_URL,
- to_dir=DEFAULT_SAVE_DIR, download_delay=15):
- """
- Ensure that a setuptools version is installed.
-
- Return None. Raise SystemExit if the requested version
- or later cannot be installed.
- """
- version = _resolve_version(version)
- to_dir = os.path.abspath(to_dir)
-
- # prior to importing, capture the module state for
- # representative modules.
- rep_modules = 'pkg_resources', 'setuptools'
- imported = set(sys.modules).intersection(rep_modules)
-
- try:
- import pkg_resources
- pkg_resources.require("setuptools>=" + version)
- # a suitable version is already installed
- return
- except ImportError:
- # pkg_resources not available; setuptools is not installed; download
- pass
- except pkg_resources.DistributionNotFound:
- # no version of setuptools was found; allow download
- pass
- except pkg_resources.VersionConflict as VC_err:
- if imported:
- _conflict_bail(VC_err, version)
-
- # otherwise, unload pkg_resources to allow the downloaded version to
- # take precedence.
- del pkg_resources
- _unload_pkg_resources()
-
- return _do_download(version, download_base, to_dir, download_delay)
-
-
-def _conflict_bail(VC_err, version):
- """
- Setuptools was imported prior to invocation, so it is
- unsafe to unload it. Bail out.
- """
- conflict_tmpl = textwrap.dedent("""
- The required version of setuptools (>={version}) is not available,
- and can't be installed while this script is running. Please
- install a more recent version first, using
- 'easy_install -U setuptools'.
-
- (Currently using {VC_err.args[0]!r})
- """)
- msg = conflict_tmpl.format(**locals())
- sys.stderr.write(msg)
- sys.exit(2)
-
-
-def _unload_pkg_resources():
- sys.meta_path = [
- importer
- for importer in sys.meta_path
- if importer.__class__.__module__ != 'pkg_resources.extern'
- ]
- del_modules = [
- name for name in sys.modules
- if name.startswith('pkg_resources')
- ]
- for mod_name in del_modules:
- del sys.modules[mod_name]
-
-
-def _clean_check(cmd, target):
- """
- Run the command to download target.
-
- If the command fails, clean up before re-raising the error.
- """
- try:
- subprocess.check_call(cmd)
- except subprocess.CalledProcessError:
- if os.access(target, os.F_OK):
- os.unlink(target)
- raise
-
-
-def download_file_powershell(url, target):
- """
- Download the file at url to target using Powershell.
-
- Powershell will validate trust.
- Raise an exception if the command cannot complete.
- """
- target = os.path.abspath(target)
- ps_cmd = (
- "[System.Net.WebRequest]::DefaultWebProxy.Credentials = "
- "[System.Net.CredentialCache]::DefaultCredentials; "
- '(new-object System.Net.WebClient).DownloadFile("%(url)s", "%(target)s")'
- % locals()
- )
- cmd = [
- 'powershell',
- '-Command',
- ps_cmd,
- ]
- _clean_check(cmd, target)
-
-
-def has_powershell():
- """Determine if Powershell is available."""
- if platform.system() != 'Windows':
- return False
- cmd = ['powershell', '-Command', 'echo test']
- with open(os.path.devnull, 'wb') as devnull:
- try:
- subprocess.check_call(cmd, stdout=devnull, stderr=devnull)
- except Exception:
- return False
- return True
-download_file_powershell.viable = has_powershell
-
-
-def download_file_curl(url, target):
- cmd = ['curl', url, '--location', '--silent', '--output', target]
- _clean_check(cmd, target)
-
-
-def has_curl():
- cmd = ['curl', '--version']
- with open(os.path.devnull, 'wb') as devnull:
- try:
- subprocess.check_call(cmd, stdout=devnull, stderr=devnull)
- except Exception:
- return False
- return True
-download_file_curl.viable = has_curl
-
-
-def download_file_wget(url, target):
- cmd = ['wget', url, '--quiet', '--output-document', target]
- _clean_check(cmd, target)
-
-
-def has_wget():
- cmd = ['wget', '--version']
- with open(os.path.devnull, 'wb') as devnull:
- try:
- subprocess.check_call(cmd, stdout=devnull, stderr=devnull)
- except Exception:
- return False
- return True
-download_file_wget.viable = has_wget
-
-
-def download_file_insecure(url, target):
- """Use Python to download the file, without connection authentication."""
- src = urlopen(url)
- try:
- # Read all the data in one block.
- data = src.read()
- finally:
- src.close()
-
- # Write all the data in one block to avoid creating a partial file.
- with open(target, "wb") as dst:
- dst.write(data)
-download_file_insecure.viable = lambda: True
-
-
-def get_best_downloader():
- downloaders = (
- download_file_powershell,
- download_file_curl,
- download_file_wget,
- download_file_insecure,
- )
- viable_downloaders = (dl for dl in downloaders if dl.viable())
- return next(viable_downloaders, None)
-
-
-def download_setuptools(
- version=DEFAULT_VERSION, download_base=DEFAULT_URL,
- to_dir=DEFAULT_SAVE_DIR, delay=15,
- downloader_factory=get_best_downloader):
- """
- Download setuptools from a specified location and return its filename.
-
- `version` should be a valid setuptools version number that is available
- as an sdist for download under the `download_base` URL (which should end
- with a '/'). `to_dir` is the directory where the egg will be downloaded.
- `delay` is the number of seconds to pause before an actual download
- attempt.
-
- ``downloader_factory`` should be a function taking no arguments and
- returning a function for downloading a URL to a target.
- """
- version = _resolve_version(version)
- # making sure we use the absolute path
- to_dir = os.path.abspath(to_dir)
- zip_name = "setuptools-%s.zip" % version
- url = download_base + zip_name
- saveto = os.path.join(to_dir, zip_name)
- if not os.path.exists(saveto): # Avoid repeated downloads
- log.warn("Downloading %s", url)
- downloader = downloader_factory()
- downloader(url, saveto)
- return os.path.realpath(saveto)
-
-
-def _resolve_version(version):
- """
- Resolve LATEST version
- """
- if version is not LATEST:
- return version
-
- meta_url = urljoin(DEFAULT_URL, '/pypi/setuptools/json')
- resp = urlopen(meta_url)
- fallback = 'UTF-8'
- with contextlib.closing(resp):
- try:
- charset = resp.info().get_content_charset(fallback)
- except Exception:
- # Python 2 compat
- charset = fallback
- reader = codecs.getreader(charset)
- doc = json.load(reader(resp))
-
- return str(doc['info']['version'])
-
-
-def _build_install_args(options):
- """
- Build the arguments to 'python setup.py install' on the setuptools package.
-
- Returns list of command line arguments.
- """
- return ['--user'] if options.user_install else []
-
-
-def _parse_args():
- """Parse the command line for options."""
- parser = optparse.OptionParser()
- parser.add_option(
- '--user', dest='user_install', action='store_true', default=False,
- help='install in user site package')
- parser.add_option(
- '--download-base', dest='download_base', metavar="URL",
- default=DEFAULT_URL,
- help='alternative URL from where to download the setuptools package')
- parser.add_option(
- '--insecure', dest='downloader_factory', action='store_const',
- const=lambda: download_file_insecure, default=get_best_downloader,
- help='Use internal, non-validating downloader'
- )
- parser.add_option(
- '--version', help="Specify which version to download",
- default=DEFAULT_VERSION,
- )
- parser.add_option(
- '--to-dir',
- help="Directory to save (and re-use) package",
- default=DEFAULT_SAVE_DIR,
- )
- options, args = parser.parse_args()
- # positional arguments are ignored
- return options
-
-
-def _download_args(options):
- """Return args for download_setuptools function from cmdline args."""
- return dict(
- version=options.version,
- download_base=options.download_base,
- downloader_factory=options.downloader_factory,
- to_dir=options.to_dir,
- )
-
-
-def main():
- """Install or upgrade setuptools and EasyInstall."""
- options = _parse_args()
- archive = download_setuptools(**_download_args(options))
- return _install(archive, _build_install_args(options))
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/setup.py b/setup.py
index d7e4d7d..e54f83f 100755
--- a/setup.py
+++ b/setup.py
@@ -5,8 +5,6 @@ from imp import load_source
from os.path import abspath, dirname, join
try:
- from ez_setup import use_setuptools
- use_setuptools()
from setuptools import setup
is_setuptools = True
... 964 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2017-01-20 17:55:25
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via c0962266abd0bbb729d1f1d8af4b1b1c8caf0e37 (commit)
via 9ddd0080803c7f88ab5da772fea811a7736ec1b7 (commit)
from 1c6f0a43ea6d29d84979687f4f0b6d1d1ab30c9c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/c0962266abd0bbb729d1f1d8af4b1b1c8caf0e37
commit c0962266abd0bbb729d1f1d8af4b1b1c8caf0e37
Author: Oleg Broytman <ph...@ph...>
Date: Fri Jan 20 20:53:00 2017 +0300
Fix tests: getConnectionURI() can raise AttributeError under Sphinx
diff --git a/sqlobject/tests/test_mysql.py b/sqlobject/tests/test_mysql.py
index d712ed0..de4b040 100644
--- a/sqlobject/tests/test_mysql.py
+++ b/sqlobject/tests/test_mysql.py
@@ -5,7 +5,7 @@ from sqlobject.tests.dbtest import getConnection, setupClass
try:
connection = getConnection()
-except NameError:
+except (AttributeError, NameError):
# The module was imported during documentation building
pass
else:
diff --git a/sqlobject/tests/test_postgres.py b/sqlobject/tests/test_postgres.py
index ab01717..e656ce7 100644
--- a/sqlobject/tests/test_postgres.py
+++ b/sqlobject/tests/test_postgres.py
@@ -11,7 +11,7 @@ from sqlobject.tests.dbtest import getConnection, setupClass
try:
connection = getConnection()
-except NameError:
+except (AttributeError, NameError):
# The module was imported during documentation building
pass
else:
diff --git a/sqlobject/tests/test_sqlite.py b/sqlobject/tests/test_sqlite.py
index b782eea..442ecf3 100644
--- a/sqlobject/tests/test_sqlite.py
+++ b/sqlobject/tests/test_sqlite.py
@@ -9,7 +9,7 @@ from .test_basic import SOTestSO1
try:
connection = getConnection()
-except NameError:
+except (AttributeError, NameError):
# The module was imported during documentation building
pass
else:
http://sourceforge.net/p/sqlobject/sqlobject/ci/9ddd0080803c7f88ab5da772fea811a7736ec1b7
commit 9ddd0080803c7f88ab5da772fea811a7736ec1b7
Author: Oleg Broytman <ph...@ph...>
Date: Fri Jan 20 20:46:49 2017 +0300
Update docs
[skip ci]
diff --git a/docs/News.rst b/docs/News.rst
index 4f2f853..d68d8a7 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -20,9 +20,9 @@ Minor features
* Remove ``driver`` keyword from RdbhostConnection as it allows one driver
``rdbhdb``.
-* Add ``driver`` keyword for FirebirdConnection. Allowed values are 'fdb'
- or 'kinterbasdb'. Default is to test 'fdb' and 'kinterbasdb' in that
- order. pyfirebirdsql is supported but has problems.
+* Add ``driver`` keyword for FirebirdConnection. Allowed values are 'fdb',
+ 'kinterbasdb' and 'pyfirebirdsql'. Default is to test 'fdb' and
+ 'kinterbasdb' in that order. pyfirebirdsql is supported but has problems.
* Add ``driver`` keyword for MySQLConnection. Allowed value are 'mysqldb',
'connector', 'oursql' and 'pymysql'. Default is to test for mysqldb only.
@@ -54,12 +54,15 @@ Drivers (work in progress)
PostgreSQL driver. There are major problems with the driver caused by both
the driver and SQLObject.
-* Add support for `pyfirebirdsql <https://pypi.python.org/pypi/firebirdsql>`_.
+* Add support for `pyfirebirdsql
+ <https://pypi.python.org/pypi/firebirdsql>`_.There are still problems with
+ the driver.
-Bug fix
--------
+Bug fixes
+---------
-* Fix MSSQLConnection.columnsFromSchema: remove () from default value.
+* Fix MSSQLConnection.columnsFromSchema: remove `(` and `)` from default
+ value.
* Fix MSSQLConnection and SybaseConnection: insert default values into a table
with just one IDENTITY column.
@@ -89,17 +92,15 @@ Tests
* Fix ``pytest`` warnings by converting yield tests to plain calls: yield
tests were deprecated in ``pytest``.
-* Tests are now run at CIs with ``python3.5``.
+* Tests are now run at CIs with Python 3.5.
* Drop ``Circle CI``.
* Run at Travis CI tests with Firebird backend (server version 2.5; drivers fdb
and firebirdsql). There are problems with tests.
-* Add AppVeyor for windows testing. Run tests with Postgres and MS SQL. There
- are problems with MS SQL.
-
-* Run sqlite tests at AppVeyor.
+* Add AppVeyor for windows testing. Run tests with MS SQL, Postgres and
+ SQLite. There are problems with MS SQL.
SQLObject 3.1.0
===============
diff --git a/docs/SQLObject.rst b/docs/SQLObject.rst
index 6f02661..a6bb575 100644
--- a/docs/SQLObject.rst
+++ b/docs/SQLObject.rst
@@ -51,9 +51,9 @@ mysqlclient_ for Python 3), `MySQL Connector`_, oursql_ and PyMySQL_. For
PostgreSQL_ psycopg2_ or psycopg1 are recommended; PyGreSQL_, py-postgresql_
and pg8000_ are supported but have problems (not all tests passed). SQLite_ has
a built-in driver or PySQLite_. Firebird_ is supported via fdb_ or
-kinterbasdb_; pyfirebirdsql_ is supported but untested. `MAX DB`_ (also known
-as SAP DB) is supported via sapdb_. Sybase via Sybase_. `MSSQL Server`_ via
-pymssql_ (+ FreeTDS_) or adodbapi_ (Win32).
+kinterbasdb_; pyfirebirdsql_ is supported but has problems. `MAX DB`_ (also
+known as SAP DB) is supported via sapdb_. Sybase via Sybase_. `MSSQL Server`_
+via pymssql_ (+ FreeTDS_) or adodbapi_ (Win32).
.. _MySQL: https://www.mysql.com/
.. _MySQLdb: https://sourceforge.net/projects/mysql-python/
-----------------------------------------------------------------------
Summary of changes:
docs/News.rst | 25 +++++++++++++------------
docs/SQLObject.rst | 6 +++---
sqlobject/tests/test_mysql.py | 2 +-
sqlobject/tests/test_postgres.py | 2 +-
sqlobject/tests/test_sqlite.py | 2 +-
5 files changed, 19 insertions(+), 18 deletions(-)
hooks/post-receive
--
SQLObject development repository
|