Author: dan
Date: 2008-07-15 07:21:53 -0600 (Tue, 15 Jul 2008)
New Revision: 3507
Modified:
SQLObject/branches/0.10/sqlobject/mysql/mysqlconnection.py
Log:
Fixed inconsistency with error message type when converting from mysql OperationalError to sqlobject OperationalError (backported from trunk)
Modified: SQLObject/branches/0.10/sqlobject/mysql/mysqlconnection.py
===================================================================
--- SQLObject/branches/0.10/sqlobject/mysql/mysqlconnection.py 2008-07-15 13:21:27 UTC (rev 3506)
+++ SQLObject/branches/0.10/sqlobject/mysql/mysqlconnection.py 2008-07-15 13:21:53 UTC (rev 3507)
@@ -5,8 +5,8 @@
MySQLdb = None
class ErrorMessage(str):
- def __new__(cls, e):
- obj = str.__new__(cls, e[1])
+ def __new__(cls, e, append_msg=''):
+ obj = str.__new__(cls, e[1] + append_msg)
obj.code = int(e[0])
obj.module = e.__module__
obj.exception = e.__class__.__name__
@@ -72,10 +72,8 @@
if MySQLdb.version_info[:3] >= (1, 2, 2):
conn.ping(True) # Attempt to reconnect. This setting is persistent.
except self.module.OperationalError, e:
- raise OperationalError(
- "%s; used connection string: host=%s, port=%s, db=%s, user=%s, pwd=%s" % (
- e, self.host, self.port, self.db, self.user, self.password)
- )
+ conninfo = "; used connection string: host=%(host)s, port=%(port)s, db=%(db)s, user=%(user)s" % self.__dict__
+ raise OperationalError(ErrorMessage(e, conninfo))
if hasattr(conn, 'autocommit'):
conn.autocommit(bool(self.autoCommit))
|