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 b1a11f087f1528dffaa89101ba350442fd355c39 (commit)
via 1e0f19edf7bda0aa4e460c104b4a3625ba16bfc4 (commit)
via 9f413031d8c9698b249e124e1cc85a46dda27472 (commit)
from 183e0fc1e2544f9041a9acc9a54db6ec1f5574ed (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/b1a11f087f1528dffaa89101ba350442fd355c39
commit b1a11f087f1528dffaa89101ba350442fd355c39
Author: Oleg Broytman <ph...@ph...>
Date: Fri Jan 2 03:36:13 2015 +0300
Python 2.6, 2.7 or 3.4+ is required
diff --git a/README.txt b/README.txt
index 35c9556..81952bc 100644
--- a/README.txt
+++ b/README.txt
@@ -7,7 +7,7 @@ classes, and your rows in Python instances.
It currently supports MySQL through the `MySQLdb` package, PostgreSQL
through the `psycopg` package, SQLite, Firebird, MaxDB (SAP DB), MS SQL
-Sybase and Rdbhost. Python 2.6, 2.7 or 3.4 is required.
+Sybase and Rdbhost. Python 2.6, 2.7 or 3.4+ is required.
For more information please see the documentation in
docs/SQLObject.txt, or online at http://sqlobject.org/
diff --git a/docs/SQLObject.txt b/docs/SQLObject.txt
index 0fe295d..92f78b9 100644
--- a/docs/SQLObject.txt
+++ b/docs/SQLObject.txt
@@ -66,7 +66,7 @@ ADODBAPI_ (Win32).
.. _FreeTDS: http://www.freetds.org/
.. _ADODBAPI: http://adodbapi.sourceforge.net/
-Python 2.6 or 2.7 is required.
+Python 2.6, 2.7 or 3.4+ is required.
Compared To Other Database Wrappers
===================================
diff --git a/setup.py b/setup.py
index 470dc20..5be8fc9 100755
--- a/setup.py
+++ b/setup.py
@@ -52,7 +52,7 @@ more abstract, and provides substantial database independence for
applications.
Supports MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (SAPDB).
-Python 2.6, 2.7 or 3.4 is required.
+Python 2.6, 2.7 or 3.4+ is required.
For development see the projects at
`SourceForge <http://sourceforge.net/projects/sqlobject/>`_
@@ -136,7 +136,7 @@ easy to use and quick to get started with.
It currently supports MySQL through the `MySQLdb` package, PostgreSQL
through the `psycopg` package, SQLite, Firebird, MaxDB (SAP DB), MS SQL
-Sybase and Rdbhost. Python 2.6 or 2.7 is required.
+Sybase and Rdbhost. Python 2.6, 2.7 or 3.4+ is required.
Where is SQLObject
diff --git a/sqlobject/main.py b/sqlobject/main.py
index 5fb2883..340b585 100644
--- a/sqlobject/main.py
+++ b/sqlobject/main.py
@@ -43,8 +43,9 @@ from sresults import SelectResults
from util.threadinglocal import local
import sys
-if sys.version_info[:3] < (2, 6, 0):
- raise ImportError("SQLObject requires Python 2.6 or 2.7")
+if ((sys.version_info[0] == 2) and (sys.version_info[:3] < (2, 6, 0))) \
+or ((sys.version_info[0] == 3) and (sys.version_info[:3] < (3, 4, 0))):
+ raise ImportError("SQLObject requires Python 2.6, 2.7 or 3.4+")
"""
This thread-local storage is needed for RowCreatedSignals. It gathers
http://sourceforge.net/p/sqlobject/sqlobject/ci/1e0f19edf7bda0aa4e460c104b4a3625ba16bfc4
commit 1e0f19edf7bda0aa4e460c104b4a3625ba16bfc4
Merge: 183e0fc 9f41303
Author: Ian Cordasco <sig...@us...>
Date: Thu Jan 1 18:38:28 2015 -0600
Merge pull request #7 from sqlobject/python3/except-syntax
Use new-style exception handling syntax
http://sourceforge.net/p/sqlobject/sqlobject/ci/9f413031d8c9698b249e124e1cc85a46dda27472
commit 9f413031d8c9698b249e124e1cc85a46dda27472
Author: Ian Cordasco <gra...@gm...>
Date: Thu Dec 25 22:26:52 2014 -0600
Use new-style exception handling syntax
diff --git a/sqlobject/inheritance/__init__.py b/sqlobject/inheritance/__init__.py
index 142c520..0d4a2ce 100644
--- a/sqlobject/inheritance/__init__.py
+++ b/sqlobject/inheritance/__init__.py
@@ -485,7 +485,7 @@ class InheritableSQLObject(SQLObject):
try:
clause.append(getattr(currentClass.q, name) == value)
break
- except AttributeError, err:
+ except AttributeError as err:
pass
currentClass = currentClass.sqlmeta.parentClass
else:
diff --git a/sqlobject/main.py b/sqlobject/main.py
index 4ed836e..5fb2883 100644
--- a/sqlobject/main.py
+++ b/sqlobject/main.py
@@ -1097,7 +1097,7 @@ class SQLObject(object):
raise TypeError("%s.set() got an unexpected keyword argument %s" % (self.__class__.__name__, name))
try:
setattr(self, name, value)
- except AttributeError, e:
+ except AttributeError as e:
raise AttributeError('%s (with attribute %r)' % (e, name))
self.sqlmeta.dirty = True
@@ -1135,7 +1135,7 @@ class SQLObject(object):
raise TypeError("%s.set() got an unexpected keyword argument %s" % (self.__class__.__name__, name))
try:
setattr(self, name, value)
- except AttributeError, e:
+ except AttributeError as e:
raise AttributeError('%s (with attribute %r)' % (e, name))
if toUpdate:
diff --git a/sqlobject/manager/command.py b/sqlobject/manager/command.py
index 7ef787e..94335ca 100755
--- a/sqlobject/manager/command.py
+++ b/sqlobject/manager/command.py
@@ -249,7 +249,7 @@ class Command(object):
sorter.append((level, cls))
sorter.sort()
ordered_classes = [cls for level, cls in sorter]
- except SQLObjectCircularReferenceError, msg:
+ except SQLObjectCircularReferenceError as msg:
# Failsafe: return the classes as-is if a circular reference
# prevented the dependency levels to be calculated.
print("Warning: a circular reference was detected in the "
@@ -463,11 +463,11 @@ class Command(object):
module_name = module_name.replace(os.path.sep,'.')[:-3]
try:
module = moduleloader.load_module(module_name)
- except ImportError, err:
+ except ImportError as err:
if self.options.verbose:
print('Could not import module "%s". Error was : "%s"' % (module_name, err))
continue
- except Exception, exc:
+ except Exception as exc:
if self.options.verbose:
print('Unknown exception while processing module "%s" : "%s"' % (module_name, exc))
continue
@@ -634,7 +634,7 @@ class CommandCreate(Command):
if not self.options.simulate:
try:
soClass._connection.createEmptyDatabase()
- except soClass._connection.module.ProgrammingError, e:
+ except soClass._connection.module.ProgrammingError as e:
if str(e).find('already exists') != -1:
print('Database already exists')
else:
@@ -757,7 +757,7 @@ class CommandStatus(Command):
columnsFromSchema_warning = True
good += 1
continue
- except AssertionError, e:
+ except AssertionError as e:
print('Cannot read db table %s: %s' % (
soClass.sqlmeta.table, e))
continue
@@ -847,7 +847,7 @@ class CommandExecute(Command):
print(sql)
try:
self.cursor.execute(sql)
- except Exception, e:
+ except Exception as e:
if not self.options.verbose:
print(sql)
print("****Error:")
diff --git a/sqlobject/mysql/mysqlconnection.py b/sqlobject/mysql/mysqlconnection.py
index df02b9b..87011b2 100644
--- a/sqlobject/mysql/mysqlconnection.py
+++ b/sqlobject/mysql/mysqlconnection.py
@@ -71,7 +71,7 @@ class MySQLConnection(DBAPI):
db=self.db, user=self.user, passwd=self.password, **self.kw)
if self.module.version_info[:3] >= (1, 2, 2):
conn.ping(True) # Attempt to reconnect. This setting is persistent.
- except self.module.OperationalError, e:
+ except self.module.OperationalError as e:
conninfo = "; used connection string: host=%(host)s, port=%(port)s, db=%(db)s, user=%(user)s" % self.__dict__
raise OperationalError(ErrorMessage(e, conninfo))
@@ -113,7 +113,7 @@ class MySQLConnection(DBAPI):
for count in range(3):
try:
return cursor.execute(query)
- except self.module.OperationalError, e:
+ except self.module.OperationalError as e:
if e.args[0] in (self.module.constants.CR.SERVER_GONE_ERROR, self.module.constants.CR.SERVER_LOST):
if count == 2:
raise OperationalError(ErrorMessage(e))
@@ -121,27 +121,27 @@ class MySQLConnection(DBAPI):
self.printDebug(conn, str(e), 'ERROR')
else:
raise OperationalError(ErrorMessage(e))
- except self.module.IntegrityError, e:
+ except self.module.IntegrityError as e:
msg = ErrorMessage(e)
if e.args[0] == self.module.constants.ER.DUP_ENTRY:
raise DuplicateEntryError(msg)
else:
raise IntegrityError(msg)
- except self.module.InternalError, e:
+ except self.module.InternalError as e:
raise InternalError(ErrorMessage(e))
- except self.module.ProgrammingError, e:
+ except self.module.ProgrammingError as e:
raise ProgrammingError(ErrorMessage(e))
- except self.module.DataError, e:
+ except self.module.DataError as e:
raise DataError(ErrorMessage(e))
- except self.module.NotSupportedError, e:
+ except self.module.NotSupportedError as e:
raise NotSupportedError(ErrorMessage(e))
- except self.module.DatabaseError, e:
+ except self.module.DatabaseError as e:
raise DatabaseError(ErrorMessage(e))
- except self.module.InterfaceError, e:
+ except self.module.InterfaceError as e:
raise InterfaceError(ErrorMessage(e))
- except self.module.Warning, e:
+ except self.module.Warning as e:
raise Warning(ErrorMessage(e))
- except self.module.Error, e:
+ except self.module.Error as e:
raise Error(ErrorMessage(e))
def _queryInsertID(self, conn, soInstance, id, names, values):
@@ -196,7 +196,7 @@ class MySQLConnection(DBAPI):
# which is not always True (for an embedded application, e.g.)
self.query('DESCRIBE %s' % (tableName))
return True
- except ProgrammingError, e:
+ except ProgrammingError as e:
if e[0].code == 1146: # ER_NO_SUCH_TABLE
return False
raise
diff --git a/sqlobject/postgres/pgconnection.py b/sqlobject/postgres/pgconnection.py
index 1f94ee3..6ddb40f 100644
--- a/sqlobject/postgres/pgconnection.py
+++ b/sqlobject/postgres/pgconnection.py
@@ -142,7 +142,7 @@ class PostgresConnection(DBAPI):
conn = self.module.connect(self.dsn)
else:
conn = self.module.connect(**self.dsn_dict)
- except self.module.OperationalError, e:
+ except self.module.OperationalError as e:
raise OperationalError(ErrorMessage(e, "used connection string %r" % self.dsn))
# For printDebug in _executeRetry
@@ -162,29 +162,29 @@ class PostgresConnection(DBAPI):
self.printDebug(conn, query, 'QueryR')
try:
return cursor.execute(query)
- except self.module.OperationalError, e:
+ except self.module.OperationalError as e:
raise OperationalError(ErrorMessage(e))
- except self.module.IntegrityError, e:
+ except self.module.IntegrityError as e:
msg = ErrorMessage(e)
if e.pgcode == '23505':
raise DuplicateEntryError(msg)
else:
raise IntegrityError(msg)
- except self.module.InternalError, e:
+ except self.module.InternalError as e:
raise InternalError(ErrorMessage(e))
- except self.module.ProgrammingError, e:
+ except self.module.ProgrammingError as e:
raise ProgrammingError(ErrorMessage(e))
- except self.module.DataError, e:
+ except self.module.DataError as e:
raise DataError(ErrorMessage(e))
- except self.module.NotSupportedError, e:
+ except self.module.NotSupportedError as e:
raise NotSupportedError(ErrorMessage(e))
- except self.module.DatabaseError, e:
+ except self.module.DatabaseError as e:
raise DatabaseError(ErrorMessage(e))
- except self.module.InterfaceError, e:
+ except self.module.InterfaceError as e:
raise InterfaceError(ErrorMessage(e))
- except self.module.Warning, e:
+ except self.module.Warning as e:
raise Warning(ErrorMessage(e))
- except self.module.Error, e:
+ except self.module.Error as e:
raise Error(ErrorMessage(e))
def _queryInsertID(self, conn, soInstance, id, names, values):
diff --git a/sqlobject/sqlite/sqliteconnection.py b/sqlobject/sqlite/sqliteconnection.py
index 66a6e04..674543f 100644
--- a/sqlobject/sqlite/sqliteconnection.py
+++ b/sqlobject/sqlite/sqliteconnection.py
@@ -206,30 +206,30 @@ class SQLiteConnection(DBAPI):
self.printDebug(conn, query, 'QueryR')
try:
return cursor.execute(query)
- except self.module.OperationalError, e:
+ except self.module.OperationalError as e:
raise OperationalError(ErrorMessage(e))
- except self.module.IntegrityError, e:
+ except self.module.IntegrityError as e:
msg = ErrorMessage(e)
if msg.startswith('column') and msg.endswith('not unique') \
or msg.startswith('UNIQUE constraint failed:'):
raise DuplicateEntryError(msg)
else:
raise IntegrityError(msg)
- except self.module.InternalError, e:
+ except self.module.InternalError as e:
raise InternalError(ErrorMessage(e))
- except self.module.ProgrammingError, e:
+ except self.module.ProgrammingError as e:
raise ProgrammingError(ErrorMessage(e))
- except self.module.DataError, e:
+ except self.module.DataError as e:
raise DataError(ErrorMessage(e))
- except self.module.NotSupportedError, e:
+ except self.module.NotSupportedError as e:
raise NotSupportedError(ErrorMessage(e))
- except self.module.DatabaseError, e:
+ except self.module.DatabaseError as e:
raise DatabaseError(ErrorMessage(e))
- except self.module.InterfaceError, e:
+ except self.module.InterfaceError as e:
raise InterfaceError(ErrorMessage(e))
- except self.module.Warning, e:
+ except self.module.Warning as e:
raise Warning(ErrorMessage(e))
- except self.module.Error, e:
+ except self.module.Error as e:
raise Error(ErrorMessage(e))
def _queryInsertID(self, conn, soInstance, id, names, values):
diff --git a/sqlobject/tests/dbtest.py b/sqlobject/tests/dbtest.py
index 4467edf..753f950 100644
--- a/sqlobject/tests/dbtest.py
+++ b/sqlobject/tests/dbtest.py
@@ -101,7 +101,7 @@ def getConnectionURI():
try:
connection = getConnection()
-except Exception, e:
+except Exception as e:
# At least this module should be importable...
print("Could not open database: %s" % e, file=sys.stderr)
diff --git a/sqlobject/tests/test_exceptions.py b/sqlobject/tests/test_exceptions.py
index 6c37524..0588bbc 100644
--- a/sqlobject/tests/test_exceptions.py
+++ b/sqlobject/tests/test_exceptions.py
@@ -25,7 +25,7 @@ def test_exceptions():
TestExceptionWithNonexistingTable.setConnection(connection)
try:
list(TestExceptionWithNonexistingTable.select())
- except ProgrammingError, e:
+ except ProgrammingError as e:
assert e.args[0].code == '42P01'
else:
assert False, "DID NOT RAISE"
diff --git a/sqlobject/tests/test_indexes.py b/sqlobject/tests/test_indexes.py
index c665b6d..56e0f31 100644
--- a/sqlobject/tests/test_indexes.py
+++ b/sqlobject/tests/test_indexes.py
@@ -64,28 +64,28 @@ def test_index_get_1():
try:
print(PersonIndexGet.nameIndex.get(firstName='Graham', lastName='Chapman'))
- except Exception, e:
+ except Exception as e:
pass
else:
raise AssertError
try:
print(PersonIndexGet.nameIndex.get('Terry', lastName='Gilliam'))
- except Exception, e:
+ except Exception as e:
pass
else:
raise AssertError
try:
print(PersonIndexGet.nameIndex.get('Terry', 'Gilliam', 65))
- except Exception, e:
+ except Exception as e:
pass
else:
raise AssertError
try:
print(PersonIndexGet.nameIndex.get('Terry'))
- except Exception, e:
+ except Exception as e:
pass
else:
raise AssertError
diff --git a/sqlobject/util/moduleloader.py b/sqlobject/util/moduleloader.py
index f64f369..e3f8d29 100644
--- a/sqlobject/util/moduleloader.py
+++ b/sqlobject/util/moduleloader.py
@@ -15,7 +15,7 @@ def load_module_from_name(filename, module_name):
if not os.path.exists(init_filename):
try:
f = open(init_filename, 'w')
- except (OSError, IOError), e:
+ except (OSError, IOError) as e:
raise IOError(
'Cannot write __init__.py file into directory %s (%s)\n'
% (os.path.dirname(filename), e))
-----------------------------------------------------------------------
Summary of changes:
README.txt | 2 +-
docs/SQLObject.txt | 2 +-
setup.py | 4 ++--
sqlobject/inheritance/__init__.py | 2 +-
sqlobject/main.py | 9 +++++----
sqlobject/manager/command.py | 12 ++++++------
sqlobject/mysql/mysqlconnection.py | 24 ++++++++++++------------
sqlobject/postgres/pgconnection.py | 22 +++++++++++-----------
sqlobject/sqlite/sqliteconnection.py | 20 ++++++++++----------
sqlobject/tests/dbtest.py | 2 +-
sqlobject/tests/test_exceptions.py | 2 +-
sqlobject/tests/test_indexes.py | 8 ++++----
sqlobject/util/moduleloader.py | 2 +-
13 files changed, 56 insertions(+), 55 deletions(-)
hooks/post-receive
--
SQLObject development repository
|