From c2f74ca22af51a3e378520ce561bcce88442fbfd Mon Sep 17 00:00:00 2001 From: John Schember Date: Sun, 28 Jun 2009 12:25:00 -0400 Subject: [PATCH] Don't throw exception when searching with token: --- src/calibre/gui2/library.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/library.py b/src/calibre/gui2/library.py index e27ccba82f..728c835e11 100644 --- a/src/calibre/gui2/library.py +++ b/src/calibre/gui2/library.py @@ -239,7 +239,18 @@ class BooksModel(QAbstractTableModel): self.endInsertRows() self.count_changed() + def clean_search_text(self, text): + tokens = text.split(' ') + for i, token in enumerate(tokens): + if token.strip().endswith(':') or token.strip() == '': + del tokens[i] + text = ' '.join(tokens) + if text.strip() == '': + text = None + return text + def search(self, text, refinement, reset=True): + text = self.clean_search_text(text) self.db.search(text) self.last_search = text if reset: @@ -851,9 +862,9 @@ class DeviceBooksModel(BooksModel): flags |= Qt.ItemIsEditable return flags - def search(self, text, refinement, reset=True): - if not text or not text.strip(): + text = self.clean_search_text(text) + if not text: self.map = list(range(len(self.db))) else: matches = self.search_engine.parse(text)