Fix getting a short text from the SqlError
This commit is contained in:
parent
b608259751
commit
b5777299fd
@ -204,8 +204,7 @@ class WebHistory(sql.SqlTable):
|
||||
}, replace=True)
|
||||
except sql.SqlError as e:
|
||||
if e.environmental:
|
||||
message.error("Failed to write history: {}".format(
|
||||
e.error.databaseText()))
|
||||
message.error("Failed to write history: {}".format(e.text()))
|
||||
else:
|
||||
raise
|
||||
|
||||
|
@ -40,6 +40,10 @@ class SqlError(Exception):
|
||||
super().__init__(msg)
|
||||
self.environmental = environmental
|
||||
|
||||
def text(self):
|
||||
"""Get a short text to display."""
|
||||
return str(self)
|
||||
|
||||
|
||||
class SqliteError(SqlError):
|
||||
|
||||
@ -71,6 +75,9 @@ class SqliteError(SqlError):
|
||||
]
|
||||
self.environmental = error.nativeErrorCode() in environmental_errors
|
||||
|
||||
def text(self):
|
||||
return self.error.databaseText()
|
||||
|
||||
@classmethod
|
||||
def from_query(cls, what, query, error):
|
||||
"""Construct an error from a failed query.
|
||||
|
@ -29,8 +29,10 @@ pytestmark = pytest.mark.usefixtures('init_sql')
|
||||
|
||||
|
||||
def test_sqlerror():
|
||||
err = sql.SqlError("Hello World", environmental=True)
|
||||
assert str(err) == "Hello World"
|
||||
text = "Hello World"
|
||||
err = sql.SqlError(text, environmental=True)
|
||||
assert str(err) == text
|
||||
assert err.text() == text
|
||||
assert err.environmental
|
||||
|
||||
|
||||
@ -71,6 +73,11 @@ class TestSqliteError:
|
||||
with pytest.raises(sql.SqlError):
|
||||
raise sql.SqliteError("text", QSqlError())
|
||||
|
||||
def test_text(self):
|
||||
sql_err = QSqlError("driver text", "db text")
|
||||
err = sql.SqliteError("Message", sql_err)
|
||||
assert err.text() == "db text"
|
||||
|
||||
|
||||
def test_init():
|
||||
sql.SqlTable('Foo', ['name', 'val', 'lucky'])
|
||||
|
Loading…
Reference in New Issue
Block a user