mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Get books: Update amazon.fr and ebooks.com plugins for website changes
Merge branch 'master' of https://github.com/Serized/calibre
This commit is contained in:
commit
22249d1d97
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
from __future__ import (unicode_literals, division, absolute_import,
|
from __future__ import (unicode_literals, division, absolute_import,
|
||||||
print_function)
|
print_function)
|
||||||
store_version = 14 # Needed for dynamic plugin loading
|
store_version = 15 # Needed for dynamic plugin loading
|
||||||
|
|
||||||
from contextlib import closing
|
from contextlib import closing
|
||||||
import urllib
|
import urllib
|
||||||
@ -68,7 +68,7 @@ def search_amazon(query, max_results=10, timeout=60,
|
|||||||
cover_xpath = "descendant-or-self::img[@class and contains(concat(' ', normalize-space(@class), ' '), ' s-access-image ')]/@src"
|
cover_xpath = "descendant-or-self::img[@class and contains(concat(' ', normalize-space(@class), ' '), ' s-access-image ')]/@src"
|
||||||
title_xpath = "descendant-or-self::h2[@class and contains(concat(' ', normalize-space(@class), ' '), ' s-access-title ')]//text()"
|
title_xpath = "descendant-or-self::h2[@class and contains(concat(' ', normalize-space(@class), ' '), ' s-access-title ')]//text()"
|
||||||
author_xpath = './/span[starts-with(text(), "%s ")]/following-sibling::span//text()' % BY
|
author_xpath = './/span[starts-with(text(), "%s ")]/following-sibling::span//text()' % BY
|
||||||
price_xpath = 'descendant::span[contains(@class, "sx-price")]/../@aria-label'
|
price_xpath = 'descendant::span[contains(@class, "s-price")]//text()'
|
||||||
else:
|
else:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from __future__ import (unicode_literals, division, absolute_import, print_function)
|
from __future__ import (unicode_literals, division, absolute_import, print_function)
|
||||||
store_version = 2 # Needed for dynamic plugin loading
|
store_version = 3 # Needed for dynamic plugin loading
|
||||||
|
|
||||||
__license__ = 'GPL 3'
|
__license__ = 'GPL 3'
|
||||||
__copyright__ = '2011, John Schember <john@nachtimwald.com>'
|
__copyright__ = '2011, John Schember <john@nachtimwald.com>'
|
||||||
@ -70,12 +70,18 @@ class EbookscomStore(BasicStoreConfig, StorePlugin):
|
|||||||
if not title or not author:
|
if not title or not author:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
price = ''.join(data.xpath(
|
||||||
|
'.//span[starts-with(text(), "US$") or'
|
||||||
|
' starts-with(text(), "€") or starts-with(text(), "CA$") or'
|
||||||
|
' starts-with(text(), "AU$") or starts-with(text(), "£")]/text()')).strip()
|
||||||
|
|
||||||
counter -= 1
|
counter -= 1
|
||||||
|
|
||||||
s = SearchResult()
|
s = SearchResult()
|
||||||
s.cover_url = cover_url
|
s.cover_url = cover_url
|
||||||
s.title = title.strip()
|
s.title = title.strip()
|
||||||
s.author = author.strip()
|
s.author = author.strip()
|
||||||
|
s.price = price.strip()
|
||||||
s.detail_item = '?url=http://www.ebooks.com/cj.asp?IID=' + id.strip() + '&cjsku=' + id.strip()
|
s.detail_item = '?url=http://www.ebooks.com/cj.asp?IID=' + id.strip() + '&cjsku=' + id.strip()
|
||||||
|
|
||||||
yield s
|
yield s
|
||||||
@ -89,16 +95,10 @@ class EbookscomStore(BasicStoreConfig, StorePlugin):
|
|||||||
if not id:
|
if not id:
|
||||||
return
|
return
|
||||||
|
|
||||||
price = _('Not Available')
|
|
||||||
br = browser()
|
br = browser()
|
||||||
with closing(br.open(url + id, timeout=timeout)) as nf:
|
with closing(br.open(url + id, timeout=timeout)) as nf:
|
||||||
pdoc = html.fromstring(nf.read())
|
pdoc = html.fromstring(nf.read())
|
||||||
|
|
||||||
price_l = pdoc.xpath('//div[@class="book-info"]/div[@class="price"]/text()')
|
|
||||||
if price_l:
|
|
||||||
price = price_l[0]
|
|
||||||
search_result.price = price.strip()
|
|
||||||
|
|
||||||
search_result.drm = SearchResult.DRM_UNLOCKED
|
search_result.drm = SearchResult.DRM_UNLOCKED
|
||||||
permissions = ' '.join(pdoc.xpath('//div[@class="permissions-items"]//text()'))
|
permissions = ' '.join(pdoc.xpath('//div[@class="permissions-items"]//text()'))
|
||||||
if 'off' in permissions:
|
if 'off' in permissions:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user