diff --git a/recipes/buenosaireseconomico.recipe b/recipes/buenosaireseconomico.recipe index 2de02c7c10..ccfdd5aca0 100644 --- a/recipes/buenosaireseconomico.recipe +++ b/recipes/buenosaireseconomico.recipe @@ -5,7 +5,6 @@ www.diariobae.com ''' from calibre import strftime from calibre.web.feeds.news import BasicNewsRecipe -from calibre.ebooks.BeautifulSoup import Tag class BsAsEconomico(BasicNewsRecipe): title = 'Buenos Aires Economico' @@ -22,8 +21,8 @@ class BsAsEconomico(BasicNewsRecipe): cover_url = strftime('http://www.diariobae.com/imgs_portadas/%Y%m%d_portadasBAE.jpg') masthead_url = 'http://www.diariobae.com/img/logo_bae.png' remove_empty_feeds = True - publication_type = 'newspaper' - extra_css = """ + publication_type = 'newspaper' + extra_css = """ body{font-family: Georgia,"Times New Roman",Times,serif} #titulo{font-size: x-large} #epi{font-size: small; font-style: italic; font-weight: bold} @@ -43,7 +42,7 @@ class BsAsEconomico(BasicNewsRecipe): ,dict(attrs={'id':'barra_tw'}) ] remove_attributes = ['data-count','data-via'] - + feeds = [ (u'Argentina' , u'http://www.diariobae.com/rss/argentina.xml' ) ,(u'Valores' , u'http://www.diariobae.com/rss/valores.xml' ) diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index c1592a59fc..51f0a8d701 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -5,8 +5,6 @@ __license__ = 'GPL v3' __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import urllib2 - from PyQt4.Qt import (QPixmap, QSize, QWidget, Qt, pyqtSignal, QUrl, QPropertyAnimation, QEasingCurve, QApplication, QFontInfo, QSizePolicy, QPainter, QRect, pyqtProperty, QLayout, QPalette, QMenu) diff --git a/src/calibre/gui2/store/stores/archive_org_plugin.py b/src/calibre/gui2/store/stores/archive_org_plugin.py index b2ea4e04f1..6972c604ce 100644 --- a/src/calibre/gui2/store/stores/archive_org_plugin.py +++ b/src/calibre/gui2/store/stores/archive_org_plugin.py @@ -30,6 +30,9 @@ class ArchiveOrgStore(BasicStoreConfig, OpenSearchStore): The opensearch feed only returns a subset of formats that are available. We want to get a list of all formats that the user can get. ''' + from calibre import browser + from contextlib import closing + from lxml import html br = browser() with closing(br.open(search_result.detail_item, timeout=timeout)) as nf: idata = html.fromstring(nf.read()) diff --git a/src/calibre/gui2/store/stores/bn_plugin.py b/src/calibre/gui2/store/stores/bn_plugin.py index abe789ad76..aa30ffe677 100644 --- a/src/calibre/gui2/store/stores/bn_plugin.py +++ b/src/calibre/gui2/store/stores/bn_plugin.py @@ -7,7 +7,6 @@ __copyright__ = '2011, John Schember ' __docformat__ = 'restructuredtext en' import random -import re from contextlib import closing from lxml import html @@ -22,13 +21,13 @@ from calibre.gui2.store.search_result import SearchResult from calibre.gui2.store.web_store_dialog import WebStoreDialog class BNStore(BasicStoreConfig, StorePlugin): - + def open(self, parent=None, detail_item=None, external=False): pub_id = 'sHa5EXvYOwA' # Use Kovid's affiliate id 30% of the time. if random.randint(1, 10) in (1, 2, 3): pub_id = '0dsO3kDu/AU' - + base_url = 'http://click.linksynergy.com/fs-bin/click?id=%s&subid=&offerid=229293.1&type=10&tmpid=8433&RD_PARM1=' % pub_id url = base_url + 'http%253A%252F%252Fwww.barnesandnoble.com%252F' @@ -46,27 +45,27 @@ class BNStore(BasicStoreConfig, StorePlugin): def search(self, query, max_results=10, timeout=60): query = query.replace(' ', '-') url = 'http://www.barnesandnoble.com/s/%s?store=ebook&sze=%s' % (query, max_results) - + br = browser() - + counter = max_results with closing(br.open(url, timeout=timeout)) as f: doc = html.fromstring(f.read()) for data in doc.xpath('//ul[contains(@class, "result-set")]/li[contains(@class, "result")]'): if counter <= 0: break - + id = ''.join(data.xpath('.//div[contains(@class, "image")]/a/@href')) if not id: continue cover_url = ''.join(data.xpath('.//div[contains(@class, "image")]//img/@src')) - + title = ''.join(data.xpath('.//p[@class="title"]//span[@class="name"]/text()')) author = ', '.join(data.xpath('.//ul[@class="contributors"]//li[position()>1]//a/text()')) price = ''.join(data.xpath('.//table[@class="displayed-formats"]//a[@class="subtle"]/text()')) - + counter -= 1 - + s = SearchResult() s.cover_url = cover_url s.title = title.strip()