Author: phd
Date: Thu Jul 14 11:20:56 2011
New Revision: 4428
Log:
A bug caused by psycopg2 recently added a new boolean not callable autocommit attribute was fixed.
Modified:
SQLObject/trunk/docs/News.txt
SQLObject/trunk/sqlobject/postgres/pgconnection.py
Modified: SQLObject/trunk/docs/News.txt
==============================================================================
--- SQLObject/trunk/docs/News.txt Mon Jul 11 11:42:54 2011 (r4427)
+++ SQLObject/trunk/docs/News.txt Thu Jul 14 11:20:56 2011 (r4428)
@@ -13,6 +13,9 @@
Features & Interface
--------------------
+* A bug caused by psycopg2 recently added a new boolean not callable
+ autocommit attribute was fixed.
+
SQLObject 1.1.1
===============
Modified: SQLObject/trunk/sqlobject/postgres/pgconnection.py
==============================================================================
--- SQLObject/trunk/sqlobject/postgres/pgconnection.py Mon Jul 11 11:42:54 2011 (r4427)
+++ SQLObject/trunk/sqlobject/postgres/pgconnection.py Thu Jul 14 11:20:56 2011 (r4428)
@@ -118,7 +118,10 @@
def _setAutoCommit(self, conn, auto):
# psycopg2 does not have an autocommit method.
if hasattr(conn, 'autocommit'):
- conn.autocommit(auto)
+ try:
+ conn.autocommit(auto)
+ except TypeError:
+ conn.autocommit = auto
def makeConnection(self):
try:
@@ -128,10 +131,7 @@
conn = self.module.connect(**self.dsn_dict)
except self.module.OperationalError, e:
raise self.module.OperationalError("%s; used connection string %r" % (e, self.dsn))
- if self.autoCommit:
- # psycopg2 does not have an autocommit method.
- if hasattr(conn, 'autocommit'):
- conn.autocommit(1)
+ if self.autoCommit: self._setAutoCommit(conn, 1)
c = conn.cursor()
if self.schema:
c.execute("SET search_path TO " + self.schema)
|