A spot of refactoring

This commit is contained in:
Kovid Goyal 2017-03-06 11:32:52 +05:30
parent c5845f511b
commit dbfe5c1427

View File

@ -21,28 +21,8 @@ from calibre.utils.opensearch.description import Description
from calibre.utils.opensearch.query import Query
class OpenSearchOPDSStore(StorePlugin):
open_search_url = ''
web_url = ''
def open(self, parent=None, detail_item=None, external=False):
if not hasattr(self, 'web_url'):
return
if external or self.config.get('open_external', False):
open_url(QUrl(detail_item if detail_item else self.web_url))
else:
d = WebStoreDialog(self.gui, self.web_url, parent, detail_item, create_browser=self.create_browser)
d.setWindowTitle(self.name)
d.set_tags(self.config.get('tags', ''))
d.exec_()
def search(self, query, max_results=10, timeout=60):
if not hasattr(self, 'open_search_url'):
return
description = Description(self.open_search_url)
def open_search(url, query, max_results=10, timeout=60):
description = Description(url)
url_template = description.get_best_template()
if not url_template:
return
@ -99,3 +79,27 @@ class OpenSearchOPDSStore(StorePlugin):
s.price = s.price.strip()
yield s
class OpenSearchOPDSStore(StorePlugin):
open_search_url = ''
web_url = ''
def open(self, parent=None, detail_item=None, external=False):
if not hasattr(self, 'web_url'):
return
if external or self.config.get('open_external', False):
open_url(QUrl(detail_item if detail_item else self.web_url))
else:
d = WebStoreDialog(self.gui, self.web_url, parent, detail_item, create_browser=self.create_browser)
d.setWindowTitle(self.name)
d.set_tags(self.config.get('tags', ''))
d.exec_()
def search(self, query, max_results=10, timeout=60):
if not getattr(self, 'open_search_url', None):
return
for result in open_search(self.open_search_url, query, max_results=max_results, timeout=timeout):
yield result