mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Store: Remove control modifier sooner when cleaning a query.
This commit is contained in:
parent
094d09c61a
commit
0b64888105
@ -79,5 +79,6 @@ class GutenbergStore(BasicStoreConfig, StorePlugin):
|
||||
s.author = author.strip()
|
||||
s.price = price.strip()
|
||||
s.detail_item = '/ebooks/' + id.strip()
|
||||
s.drm = False
|
||||
|
||||
yield s
|
||||
|
@ -130,8 +130,6 @@ class BookRef(SearchResult):
|
||||
def __init__(self):
|
||||
SearchResult.__init__(self)
|
||||
|
||||
self.format = ''
|
||||
|
||||
|
||||
class MobeReadStoreDialog(QDialog, Ui_Dialog):
|
||||
|
||||
|
@ -38,6 +38,7 @@ def comparable_price(text):
|
||||
text += '00'
|
||||
text = re.sub(r'\D', '', text)
|
||||
text = text.rjust(6, '0')
|
||||
return text
|
||||
|
||||
|
||||
class SearchDialog(QDialog, Ui_Dialog):
|
||||
@ -314,6 +315,13 @@ class SearchThread(Thread):
|
||||
|
||||
def _clean_query(self, query):
|
||||
query = query.lower()
|
||||
# Remove control modifiers.
|
||||
query = query.replace('\\', '')
|
||||
query = query.replace('!', '')
|
||||
query = query.replace('=', '')
|
||||
query = query.replace('~', '')
|
||||
query = query.replace('>', '')
|
||||
query = query.replace('<', '')
|
||||
# Remove the prefix.
|
||||
for loc in ( 'all', 'author', 'authors', 'title'):
|
||||
query = re.sub(r'%s:"?(?P<a>[^\s"]+)"?' % loc, '\g<a>', query)
|
||||
@ -321,14 +329,8 @@ class SearchThread(Thread):
|
||||
for loc in ('cover', 'drm', 'format', 'formats', 'price', 'store'):
|
||||
query = re.sub(r'%s:"[^"]"' % loc, '', query)
|
||||
query = re.sub(r'%s:[^\s]*' % loc, '', query)
|
||||
# Remove control modifiers.
|
||||
# Remove logic.
|
||||
query = re.sub(r'(^|\s)(and|not|or)(\s|$)', ' ', query)
|
||||
query = query.replace('\\', '')
|
||||
query = query.replace('!', '')
|
||||
query = query.replace('=', '')
|
||||
query = query.replace('~', '')
|
||||
query = query.replace('>', '')
|
||||
query = query.replace('<', '')
|
||||
# Remove excess whitespace.
|
||||
query = re.sub(r'\s{2,}', ' ', query)
|
||||
return query
|
||||
|
@ -16,3 +16,8 @@ class SearchResult(object):
|
||||
self.author = ''
|
||||
self.price = ''
|
||||
self.detail_item = ''
|
||||
# None = Unknown.
|
||||
# True = Has DRM.
|
||||
# False = Does not have DRM.
|
||||
self.drm = None
|
||||
self.formats = ''
|
||||
|
Loading…
x
Reference in New Issue
Block a user