Skip to content

Commit b9aa053

Browse files
committed
Improved support for Python 3.
1 parent d34fac6 commit b9aa053

4 files changed

Lines changed: 13 additions & 5 deletions

File tree

MySQLdb/connections.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ def defaulterrorhandler(connection, cursor, errorclass, errorvalue):
3333
connection.messages.append(error)
3434
del cursor
3535
del connection
36-
raise errorclass, errorvalue
36+
if errorclass is not None:
37+
raise errorclass(errorvalue)
38+
else:
39+
raise Exception(errorvalue)
40+
3741

3842
re_numeric_part = re.compile(r"^(\d+)")
3943

MySQLdb/cursors.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ def execute(self, query, args=None):
188188
try:
189189
r = None
190190
r = self._query(query)
191-
except TypeError, m:
191+
except TypeError as m:
192192
if m.args[0] in ("not enough arguments for format string",
193193
"not all arguments converted"):
194194
self.messages.append((ProgrammingError, m.args[0]))
@@ -247,7 +247,7 @@ def executemany(self, query, args):
247247
for key, item in a.iteritems()))
248248
else:
249249
q.append(qv % tuple([db.literal(item) for item in a]))
250-
except TypeError, msg:
250+
except TypeError as msg:
251251
if msg.args[0] in ("not enough arguments for format string",
252252
"not all arguments converted"):
253253
self.errorhandler(self, ProgrammingError, msg.args[0])

setup_posix.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import os, sys
2-
from ConfigParser import SafeConfigParser
2+
try:
3+
from ConfigParser import SafeConfigParser
4+
except ImportError:
5+
# Probably running Python 3.x
6+
from configparser import ConfigParser as SafeConfigParser
37

48
# This dequote() business is required for some older versions
59
# of mysql_config

tests/test_MySQLdb_capabilities.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def test_bug_2671682(self):
7676
from MySQLdb.constants import ER
7777
try:
7878
self.cursor.execute("describe some_non_existent_table");
79-
except self.connection.ProgrammingError, msg:
79+
except self.connection.ProgrammingError as msg:
8080
self.assertEquals(msg[0], ER.NO_SUCH_TABLE)
8181

8282
def test_bug_3514287(self):

0 commit comments

Comments
 (0)