diff options
Diffstat (limited to 'qutebrowser/misc/sql.py')
-rw-r--r-- | qutebrowser/misc/sql.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/qutebrowser/misc/sql.py b/qutebrowser/misc/sql.py index 2603ce23e..28a97fd77 100644 --- a/qutebrowser/misc/sql.py +++ b/qutebrowser/misc/sql.py @@ -24,12 +24,12 @@ import collections import contextlib import dataclasses import types -from typing import Any, Dict, Iterator, List, Mapping, MutableSequence, Optional, Type +from typing import Any, Dict, Iterator, List, Mapping, MutableSequence, Optional, Type, Union from qutebrowser.qt.core import QObject, pyqtSignal from qutebrowser.qt.sql import QSqlDatabase, QSqlError, QSqlQuery -from qutebrowser.qt import sip +from qutebrowser.qt import sip, machinery from qutebrowser.utils import debug, log @@ -149,6 +149,7 @@ class BugError(Error): def raise_sqlite_error(msg: str, error: QSqlError) -> None: """Raise either a BugError or KnownError.""" error_code = error.nativeErrorCode() + primary_error_code: Union[SqliteErrorCode, str] try: # https://sqlite.org/rescode.html#pve primary_error_code = SqliteErrorCode(int(error_code) & 0xff) @@ -351,10 +352,10 @@ class Query: def _validate_bound_values(self): """Make sure all placeholders are bound.""" qt_bound_values = self.query.boundValues() - try: + if machinery.IS_QT5: # Qt 5: Returns a dict - values = qt_bound_values.values() - except AttributeError: + values = list(qt_bound_values.values()) + else: # Qt 6: Returns a list values = qt_bound_values |