Fix #751950: make content server ignore non-existent search restrictions.

This commit is contained in:
Charles Haley 2011-04-06 17:56:54 +01:00
parent 97c5b041a3
commit 086a295917

View File

@ -24,6 +24,8 @@ from calibre.library.server.xml import XMLServer
from calibre.library.server.opds import OPDSServer from calibre.library.server.opds import OPDSServer
from calibre.library.server.cache import Cache from calibre.library.server.cache import Cache
from calibre.library.server.browse import BrowseServer from calibre.library.server.browse import BrowseServer
from calibre.utils.search_query_parser import saved_searches
from calibre import prints
class DispatchController(object): # {{{ class DispatchController(object): # {{{
@ -178,6 +180,11 @@ class LibraryServer(ContentServer, MobileServer, XMLServer, OPDSServer, Cache,
def set_search_restriction(self, restriction): def set_search_restriction(self, restriction):
self.search_restriction_name = restriction self.search_restriction_name = restriction
if restriction: if restriction:
if restriction not in saved_searches().names():
prints('WARNING: Content server: search restriction ',
restriction, ' does not exist')
self.search_restriction = ''
else:
self.search_restriction = 'search:"%s"'%restriction self.search_restriction = 'search:"%s"'%restriction
else: else:
self.search_restriction = '' self.search_restriction = ''