Merge pull request #4127 from arnaud-morvan/processing_fix_postgis_dberror

[processing] Fix infinite recursion in DbError.__str__
This commit is contained in:
Alexander Bruy 2017-02-14 16:40:18 +02:00 committed by GitHub
commit 620ad41150

View File

@ -136,12 +136,9 @@ class DbError(Exception):
self.query = query self.query = query
def __str__(self): def __str__(self):
return str(self).encode('utf-8') text = "MESSAGE: {}".format(self.message)
def __unicode__(self):
text = u'MESSAGE: %s' % self.message
if self.query: if self.query:
text += u'\nQUERY: %s' % self.query text = "{}\nQUERY: {}".format(text, self.query)
return text return text
@ -829,7 +826,8 @@ class GeoDB(object):
try: try:
cursor.execute(sql) cursor.execute(sql)
except psycopg2.Error as e: except psycopg2.Error as e:
raise DbError(str(e), e.cursor.query) raise DbError(str(e),
e.cursor.query.decode(e.cursor.connection.encoding))
def _exec_sql_and_commit(self, sql): def _exec_sql_and_commit(self, sql):
"""Tries to execute and commit some action, on error it rolls """Tries to execute and commit some action, on error it rolls