From 7787b9a206cbd41541fab4fbcace473d3d9027cf Mon Sep 17 00:00:00 2001 From: John Schember Date: Sat, 15 Sep 2012 21:10:57 -0400 Subject: [PATCH] Remove Beam Books due to lack of response to issues with the store. --- src/calibre/customize/builtins.py | 11 --- .../store/stores/beam_ebooks_de_plugin.py | 92 ------------------- 2 files changed, 103 deletions(-) delete mode 100644 src/calibre/gui2/store/stores/beam_ebooks_de_plugin.py diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index c7dc6a5b95..708e15ee78 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -1269,17 +1269,6 @@ class StoreBNStore(StoreBase): headquarters = 'US' formats = ['NOOK'] -class StoreBeamEBooksDEStore(StoreBase): - name = 'Beam EBooks DE' - author = 'Charles Haley' - description = u'Bei uns finden Sie: Tausende deutschsprachige eBooks; Alle eBooks ohne hartes DRM; PDF, ePub und Mobipocket Format; Sofortige Verfügbarkeit - 24 Stunden am Tag; Günstige Preise; eBooks für viele Lesegeräte, PC,Mac und Smartphones; Viele Gratis eBooks' - actual_plugin = 'calibre.gui2.store.stores.beam_ebooks_de_plugin:BeamEBooksDEStore' - - drm_free_only = True - headquarters = 'DE' - formats = ['EPUB', 'MOBI', 'PDF'] - affiliate = True - class StoreBeWriteStore(StoreBase): name = 'BeWrite Books' description = u'Publishers of fine books. Highly selective and editorially driven. Does not offer: books for children or exclusively YA, erotica, swords-and-sorcery fantasy and space-opera-style science fiction. All other genres are represented.' diff --git a/src/calibre/gui2/store/stores/beam_ebooks_de_plugin.py b/src/calibre/gui2/store/stores/beam_ebooks_de_plugin.py deleted file mode 100644 index 6e31a76f8d..0000000000 --- a/src/calibre/gui2/store/stores/beam_ebooks_de_plugin.py +++ /dev/null @@ -1,92 +0,0 @@ -# -*- coding: utf-8 -*- - -from __future__ import (unicode_literals, division, absolute_import, print_function) - -__license__ = 'GPL 3' -__copyright__ = '2011, John Schember ' -__docformat__ = 'restructuredtext en' - -import urllib2 -from contextlib import closing - -from lxml import html - -from PyQt4.Qt import QUrl - -from calibre import browser -from calibre.gui2 import open_url -from calibre.gui2.store import StorePlugin -from calibre.gui2.store.basic_config import BasicStoreConfig -from calibre.gui2.store.search_result import SearchResult -from calibre.gui2.store.web_store_dialog import WebStoreDialog - -class BeamEBooksDEStore(BasicStoreConfig, StorePlugin): - - def open(self, parent=None, detail_item=None, external=False): - url = 'http://klick.affiliwelt.net/klick.php?bannerid=10072&pid=32307&prid=908' - url_details = ('http://klick.affiliwelt.net/klick.php?' - 'bannerid=10730&pid=32307&prid=908&prodid={0}') - - if external or self.config.get('open_external', False): - if detail_item: - url = url_details.format(detail_item) - open_url(QUrl(url)) - else: - detail_url = None - if detail_item: - detail_url = url_details.format(detail_item) - d = WebStoreDialog(self.gui, url, parent, detail_url) - d.setWindowTitle(self.name) - d.set_tags(self.config.get('tags', '')) - d.exec_() - - def search(self, query, max_results=10, timeout=60): - url = 'http://www.beam-ebooks.de/suchergebnis.php?Type=&sw=' + urllib2.quote(query) - br = browser() - - counter = max_results - with closing(br.open(url, timeout=timeout)) as f: - doc = html.fromstring(f.read()) - for data in doc.xpath('//table[tr/td/div[@class="stil2"]]'): - if counter <= 0: - break - - id = ''.join(data.xpath('./tr/td[1]/a/@href')).strip() - if not id: - continue - id = id[7:] - cover_url = ''.join(data.xpath('./tr/td[1]/a/img/@src')) - if cover_url: - cover_url = 'http://www.beam-ebooks.de' + cover_url - temp = ''.join(data.xpath('./tr/td[1]/a/img/@alt')) - colon = temp.find(':') - if not temp.startswith('eBook') or colon < 0: - continue - author = temp[5:colon] - title = temp[colon+1:] - price = ''.join(data.xpath('./tr/td[3]/text()')) - pdf = data.xpath( - 'boolean(./tr/td[3]/a/img[contains(@alt, "PDF")]/@alt)') - epub = data.xpath( - 'boolean(./tr/td[3]/a/img[contains(@alt, "ePub")]/@alt)') - mobi = data.xpath( - 'boolean(./tr/td[3]/a/img[contains(@alt, "Mobipocket")]/@alt)') - counter -= 1 - - s = SearchResult() - s.cover_url = cover_url - s.title = title.strip() - s.author = author.strip() - s.price = price - s.drm = SearchResult.DRM_UNLOCKED - s.detail_item = id - formats = [] - if epub: - formats.append('ePub') - if pdf: - formats.append('PDF') - if mobi: - formats.append('MOBI') - s.formats = ', '.join(formats) - - yield s