summaryrefslogtreecommitdiff
path: root/qutebrowser/misc/sql.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/misc/sql.py')
-rw-r--r--qutebrowser/misc/sql.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/qutebrowser/misc/sql.py b/qutebrowser/misc/sql.py
index 2af95ac15..a339f890a 100644
--- a/qutebrowser/misc/sql.py
+++ b/qutebrowser/misc/sql.py
@@ -318,12 +318,13 @@ class SqlTable(QObject):
q.run()
return q.value()
- def delete(self, field, value):
+ def delete(self, field, value, *, optional=False):
"""Remove all rows for which `field` equals `value`.
Args:
field: Field to use as the key.
value: Key value to delete.
+ optional: If set, non-existant values are ignored.
Return:
The number of rows deleted.
@@ -332,6 +333,8 @@ class SqlTable(QObject):
.format(table=self._name, field=field))
q.run(val=value)
if not q.rows_affected():
+ if optional:
+ return
raise KeyError('No row with {} = "{}"'.format(field, value))
self.changed.emit()