Skip to content

Commit 7fa51a2

Browse files
committed
[py3] Exception aren't iterable in Python 3.
1 parent d796c94 commit 7fa51a2

File tree

4 files changed

+26
-26
lines changed

4 files changed

+26
-26
lines changed

django/db/backends/mysql/base.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -118,29 +118,29 @@ def execute(self, query, args=None):
118118
try:
119119
return self.cursor.execute(query, args)
120120
except Database.IntegrityError as e:
121-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
121+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
122122
except Database.OperationalError as e:
123123
# Map some error codes to IntegrityError, since they seem to be
124124
# misclassified and Django would prefer the more logical place.
125125
if e[0] in self.codes_for_integrityerror:
126-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
127-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
126+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
127+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
128128
except Database.DatabaseError as e:
129-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
129+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
130130

131131
def executemany(self, query, args):
132132
try:
133133
return self.cursor.executemany(query, args)
134134
except Database.IntegrityError as e:
135-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
135+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
136136
except Database.OperationalError as e:
137137
# Map some error codes to IntegrityError, since they seem to be
138138
# misclassified and Django would prefer the more logical place.
139139
if e[0] in self.codes_for_integrityerror:
140-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
141-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
140+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
141+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
142142
except Database.DatabaseError as e:
143-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
143+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
144144

145145
def __getattr__(self, attr):
146146
if attr in self.__dict__:

django/db/backends/oracle/base.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,7 @@ def _commit(self):
550550
except Database.IntegrityError as e:
551551
# In case cx_Oracle implements (now or in a future version)
552552
# raising this specific exception
553-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
553+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
554554
except Database.DatabaseError as e:
555555
# cx_Oracle 5.0.4 raises a cx_Oracle.DatabaseError exception
556556
# with the following attributes and values:
@@ -562,8 +562,8 @@ def _commit(self):
562562
x = e.args[0]
563563
if hasattr(x, 'code') and hasattr(x, 'message') \
564564
and x.code == 2091 and 'ORA-02291' in x.message:
565-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
566-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
565+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
566+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
567567

568568

569569
class OracleParam(object):
@@ -689,12 +689,12 @@ def execute(self, query, params=None):
689689
try:
690690
return self.cursor.execute(query, self._param_generator(params))
691691
except Database.IntegrityError as e:
692-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
692+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
693693
except Database.DatabaseError as e:
694694
# cx_Oracle <= 4.4.0 wrongly raises a DatabaseError for ORA-01400.
695695
if hasattr(e.args[0], 'code') and e.args[0].code == 1400 and not isinstance(e, IntegrityError):
696-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
697-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
696+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
697+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
698698

699699
def executemany(self, query, params=None):
700700
# cx_Oracle doesn't support iterators, convert them to lists
@@ -718,12 +718,12 @@ def executemany(self, query, params=None):
718718
return self.cursor.executemany(query,
719719
[self._param_generator(p) for p in formatted])
720720
except Database.IntegrityError as e:
721-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
721+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
722722
except Database.DatabaseError as e:
723723
# cx_Oracle <= 4.4.0 wrongly raises a DatabaseError for ORA-01400.
724724
if hasattr(e.args[0], 'code') and e.args[0].code == 1400 and not isinstance(e, IntegrityError):
725-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
726-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
725+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
726+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
727727

728728
def fetchone(self):
729729
row = self.cursor.fetchone()

django/db/backends/postgresql_psycopg2/base.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,17 @@ def execute(self, query, args=None):
5252
try:
5353
return self.cursor.execute(query, args)
5454
except Database.IntegrityError as e:
55-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
55+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
5656
except Database.DatabaseError as e:
57-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
57+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
5858

5959
def executemany(self, query, args):
6060
try:
6161
return self.cursor.executemany(query, args)
6262
except Database.IntegrityError as e:
63-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
63+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
6464
except Database.DatabaseError as e:
65-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
65+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
6666

6767
def __getattr__(self, attr):
6868
if attr in self.__dict__:
@@ -237,4 +237,4 @@ def _commit(self):
237237
try:
238238
return self.connection.commit()
239239
except Database.IntegrityError as e:
240-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
240+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])

django/db/backends/sqlite3/base.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -349,18 +349,18 @@ def execute(self, query, params=()):
349349
try:
350350
return Database.Cursor.execute(self, query, params)
351351
except Database.IntegrityError as e:
352-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
352+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
353353
except Database.DatabaseError as e:
354-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
354+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
355355

356356
def executemany(self, query, param_list):
357357
query = self.convert_query(query)
358358
try:
359359
return Database.Cursor.executemany(self, query, param_list)
360360
except Database.IntegrityError as e:
361-
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2])
361+
six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
362362
except Database.DatabaseError as e:
363-
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2])
363+
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
364364

365365
def convert_query(self, query):
366366
return FORMAT_QMARK_REGEX.sub('?', query).replace('%%','%')

0 commit comments

Comments
 (0)