mirror of
https://github.com/kovidgoyal/calibre.git
synced 2026-05-28 09:42:33 -04:00
Revert code to handle smart quotes as quote delimiters in the search query parser
It is still possible to type normal quotes in safari by long tapping the quote button
This commit is contained in:
@@ -142,15 +142,14 @@ class Parser(object):
|
||||
WORD = 2
|
||||
QUOTED_WORD = 3
|
||||
EOF = 4
|
||||
REPLACEMENTS = tuple((u'\\' + x, unichr(i + 1)) for i, x in enumerate(ur'\"()“”'))
|
||||
REPLACEMENTS = tuple((u'\\' + x, unichr(i + 1)) for i, x in enumerate(ur'\"()'))
|
||||
|
||||
# Had to translate named constants to numeric values
|
||||
lex_scanner = re.Scanner([
|
||||
(ur'[()]', lambda x,t: (Parser.OPCODE, t)),
|
||||
(ur'@.+?:[^"“)\s]+', lambda x,t: (Parser.WORD, unicode(t))),
|
||||
(ur'[^"“()\s]+', lambda x,t: (Parser.WORD, unicode(t))),
|
||||
(ur'@.+?:[^")\s]+', lambda x,t: (Parser.WORD, unicode(t))),
|
||||
(ur'[^"()\s]+', lambda x,t: (Parser.WORD, unicode(t))),
|
||||
(ur'".*?((?<!\\)")', lambda x,t: (Parser.QUOTED_WORD, t[1:-1])),
|
||||
(ur'“.*?((?<!\\)”)', lambda x,t: (Parser.QUOTED_WORD, t[1:-1])),
|
||||
(ur'\s+', None)
|
||||
], flags=re.DOTALL)
|
||||
|
||||
|
||||
@@ -385,10 +385,8 @@ class TestSQP(unittest.TestCase):
|
||||
|
||||
t('xxx', 'W', 'xxx')
|
||||
t('"a \\" () b"', 'Q', 'a " () b')
|
||||
t('“a \\"“\\” () b”', 'Q', 'a "“” () b')
|
||||
t('"a“b"', 'Q', 'a“b')
|
||||
t('"a”b"', 'Q', 'a”b')
|
||||
t('a:“b ”', 'W', 'a:', 'Q', 'b ')
|
||||
|
||||
|
||||
def find_tests():
|
||||
|
||||
Reference in New Issue
Block a user