From ace82b046f77711268e11ddd5ccee387130c4722 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 4 Nov 2012 09:33:48 +0530 Subject: [PATCH] Nicer error message when search query string is too long --- src/calibre/utils/search_query_parser.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/calibre/utils/search_query_parser.py b/src/calibre/utils/search_query_parser.py index a937e055ac..4beae97a41 100644 --- a/src/calibre/utils/search_query_parser.py +++ b/src/calibre/utils/search_query_parser.py @@ -212,7 +212,10 @@ class SearchQueryParser(object): # another search. def _parse(self, query, candidates=None): self.recurse_level += 1 - res = self._parser.parseString(query)[0] + try: + res = self._parser.parseString(query)[0] + except RuntimeError: + raise ParseException('Failed to parse query, recursion limit reached: %r'%query) if candidates is None: candidates = self.universal_set() t = self.evaluate(res, candidates)