From 828a141b292bc3268846c39e33fbc083c3102df1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 1 Nov 2008 21:37:45 -0700 Subject: [PATCH] Change search syntax to be more google like --- src/calibre/gui2/dialogs/search.py | 93 +++++--------- src/calibre/gui2/dialogs/search.ui | 178 ++++++++++++++------------- src/calibre/gui2/library.py | 3 + src/calibre/gui2/main.py | 2 +- src/calibre/gui2/tags.py | 5 +- src/calibre/library/server.py | 2 +- src/calibre/manual/gui.rst | 11 +- src/calibre/manual/images/search.png | Bin 33484 -> 30411 bytes 8 files changed, 139 insertions(+), 155 deletions(-) diff --git a/src/calibre/gui2/dialogs/search.py b/src/calibre/gui2/dialogs/search.py index 4d66978ba2..403bb7f287 100644 --- a/src/calibre/gui2/dialogs/search.py +++ b/src/calibre/gui2/dialogs/search.py @@ -1,33 +1,42 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' import re -from PyQt4.QtGui import QWidget, QDialog, QVBoxLayout -from PyQt4.QtCore import SIGNAL +from PyQt4.QtGui import QDialog from calibre.gui2.dialogs.search_ui import Ui_Dialog -from calibre.gui2.dialogs.search_item_ui import Ui_Form from calibre.gui2 import qstring_to_unicode -class SearchItem(Ui_Form, QWidget): - - FIELDS = { - _('Title') : 'title:', - _('Author') : 'author:', - _('Publisher') : 'publisher:', - _('Tag') : 'tag:', - _('Series') : 'series:', - _('Format') : 'format:', - _('Comments') : 'comments:', - _('Any') :'' - } - - def __init__(self, parent): - QWidget.__init__(self, parent) - self.setupUi(self) - for field in self.FIELDS.keys(): - self.field.addItem(field) - +class SearchDialog(QDialog, Ui_Dialog): + + def __init__(self, *args): + QDialog.__init__(self, *args) + self.setupUi(self) + + def tokens(self, raw): + phrases = re.findall(r'\s+".*?"\s+', raw) + for f in phrases: + raw = raw.replace(f, ' ') + return [t.strip() for t in phrases + raw.split()] + + def search_string(self): + all, any, phrase, none = map(lambda x: unicode(x.text()), (self.all, self.any, self.phrase, self.none)) + all, any, none = map(self.tokens, (all, any, none)) + phrase = phrase.strip() + all = ' and '.join(all) + any = ' or '.join(any) + none = ' and not '.join(none) + ans = '' + if phrase: + ans += '"%s"'%phrase + if all: + ans += (' and ' if ans else '') + all + if none: + ans += (' and not ' if ans else '') + none + if any: + ans += (' or ' if ans else '') + any + return ans + def token(self): txt = qstring_to_unicode(self.text.text()).strip() if txt: @@ -37,44 +46,4 @@ class SearchItem(Ui_Form, QWidget): if re.search(r'\s', tok): tok = '"%s"'%tok return tok - - - -class SearchDialog(Ui_Dialog, QDialog): - def __init__(self, parent): - QDialog.__init__(self, parent) - self.setupUi(self) - - self.tokens = [] - self.token_layout = QVBoxLayout() - self.search_items_frame.setLayout(self.token_layout) - self.add_token() - self.add_token() - - self.connect(self.fewer_button, SIGNAL('clicked()'), self.remove_token) - self.connect(self.more_button, SIGNAL('clicked()'), self.add_token) - - def remove_token(self): - if self.tokens: - tok = self.tokens[-1] - self.tokens = self.tokens[:-1] - self.token_layout.removeWidget(tok) - tok.setVisible(False) - - def add_token(self): - tok = SearchItem(self) - self.token_layout.addWidget(tok) - self.tokens.append(tok) - - def search_string(self): - ans = [] - for tok in self.tokens: - token = tok.token() - if token: - ans.append(token) - ans = ' '.join(ans) - if self.match_any.isChecked(): - ans = '['+ans+']' - return ans - \ No newline at end of file diff --git a/src/calibre/gui2/dialogs/search.ui b/src/calibre/gui2/dialogs/search.ui index 38fb8bd67d..f1ba9e60ae 100644 --- a/src/calibre/gui2/dialogs/search.ui +++ b/src/calibre/gui2/dialogs/search.ui @@ -5,107 +5,113 @@ 0 0 - 578 - 474 + 667 + 391 Advanced Search - :/images/search.svg + + :/images/search.svg:/images/search.svg - - - - - - - - - Match a&ll of the following criteria - - - true - - - - - - - Match a&ny of the following criteria - - - - - - - - - Search criteria - - + + + + + Find entries that have... + + + + - - - QFrame::StyledPanel + + + &All these words: - - QFrame::Raised + + all - - - - - More - - - :/images/plus.svg - - - - - - - Fewer - - - :/images/list_remove.svg - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - + - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok - - - - + + + + + + + This exact &phrase: + + + all + + + + + + + + + + + + + + &One or more of these words: + + + all + + + + + + + + + + + + + + + But dont show entries that have... + + + + + + + + Any of these &unwanted words: + + + all + + + + + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + diff --git a/src/calibre/gui2/library.py b/src/calibre/gui2/library.py index a973bb85fa..eb0b7298b8 100644 --- a/src/calibre/gui2/library.py +++ b/src/calibre/gui2/library.py @@ -886,6 +886,9 @@ class SearchBox(QLineEdit): ans = '[' + ans + ']' self.set_search_string(ans) + def search_from_tags(self, tags, all): + joiner = ' and ' if all else ' or ' + self.set_search_string(joiner.join(tags)) def set_search_string(self, txt): self.normalize_state() diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 14bfd938be..7ffc1e1148 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -253,7 +253,7 @@ class Main(MainWindow, Ui_MainWindow): self.popularity.setVisible(False) self.tags_view.set_database(db, self.match_all, self.popularity) self.connect(self.tags_view, SIGNAL('tags_marked(PyQt_PyObject, PyQt_PyObject)'), - self.search.search_from_tokens) + self.search.search_from_tags) self.connect(self.status_bar.tag_view_button, SIGNAL('toggled(bool)'), self.toggle_tags_view) self.connect(self.search, SIGNAL('search(PyQt_PyObject, PyQt_PyObject)'), self.tags_view.model().reinit) diff --git a/src/calibre/gui2/tags.py b/src/calibre/gui2/tags.py index d7d6dc62d9..0a08411056 100644 --- a/src/calibre/gui2/tags.py +++ b/src/calibre/gui2/tags.py @@ -96,9 +96,8 @@ class TagsModel(QAbstractItemModel): for key in self.row_map.values(): for tag in self._data[key]: if tag.state > 0: - if tag.state == 2: - tag = '!'+tag - ans.append((key, tag)) + prefix = ' not ' if tag.state == 2 else '' + ans.append('%s%s:"%s"'%(prefix, key, tag)) return ans def index(self, row, col, parent=QModelIndex()): diff --git a/src/calibre/library/server.py b/src/calibre/library/server.py index f4a793bdea..6840b6aad4 100644 --- a/src/calibre/library/server.py +++ b/src/calibre/library/server.py @@ -50,7 +50,7 @@ class LibraryServer(object): LIBRARY = MarkupTemplate(textwrap.dedent('''\ - ${Markup(book)} diff --git a/src/calibre/manual/gui.rst b/src/calibre/manual/gui.rst index f53584fb1b..f852c30cec 100644 --- a/src/calibre/manual/gui.rst +++ b/src/calibre/manual/gui.rst @@ -188,7 +188,15 @@ You can search all the metadata by entering search terms in the search bar. Sear Asimov Foundation format:lrf -This will match all books in your library that have ``Asimov`` and ``Foundation`` in their metadata and are available in the LRF format. You can build advanced search queries easily using the :guilabel:`Advanced Search Dialog`, accessed by clicking the button |sbi|. +This will match all books in your library that have ``Asimov`` and ``Foundation`` in their metadata and +are available in the LRF format. Some more examples:: + + author:Asimov and not series:Foundation + title:"The Ring" or "This book is about a ring" + format:epub publisher:feedbooks.com + +You can build advanced search queries easily using the :guilabel:`Advanced Search Dialog`, accessed by +clicking the button |sbi|. .. |sbi| image:: images/search_button.png :align: middle @@ -197,7 +205,6 @@ This will match all books in your library that have ``Asimov`` and ``Foundation` :guilabel:`Advanced Search Dialog` - You can search on individual fields as shown. The "Negate" checkbox implies that only results that do not match the search expression will be returned. You can require all the search criteria to match or any of them. .. _configuration: diff --git a/src/calibre/manual/images/search.png b/src/calibre/manual/images/search.png index 8c8c3ffda1a3d37e574ac93cd8bea2da5e3096b0..dbabca55ee3c4e7ba078ed01ea9fef14e74e9382 100644 GIT binary patch literal 30411 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