From 7f27603772295a22f91b5f566d1b044f5a1a0621 Mon Sep 17 00:00:00 2001 From: Ryan Roden-Corrent Date: Wed, 7 Jun 2017 09:10:05 -0400 Subject: [PATCH] Fix columns_to_filter for sql category. --- qutebrowser/completion/models/sqlcategory.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/qutebrowser/completion/models/sqlcategory.py b/qutebrowser/completion/models/sqlcategory.py index b8cf07ffa..c3b5fd6c2 100644 --- a/qutebrowser/completion/models/sqlcategory.py +++ b/qutebrowser/completion/models/sqlcategory.py @@ -61,8 +61,11 @@ class SqlCategory(QSqlQueryModel): self._query = sql.Query(querystr) self._param_count = len(filter_fields) - rec = self._query.record() - # will this work? + self.columns_to_filter = None + + # map filter_fields to indices + col_query = sql.Query('SELECT * FROM {} LIMIT 1'.format(name)) + rec = col_query.run().record() self.columns_to_filter = [rec.indexOf(n) for n in filter_fields] def set_pattern(self, pattern): @@ -72,8 +75,6 @@ class SqlCategory(QSqlQueryModel): pattern: string pattern to filter by. columns_to_filter: indices of columns to apply pattern to. """ - # TODO: eliminate columns_to_filter - #assert len(columns_to_filter) == self._param_count # escape to treat a user input % or _ as a literal, not a wildcard pattern = pattern.replace('%', '\\%') pattern = pattern.replace('_', '\\_')