This commit is contained in:
Kovid Goyal 2014-11-11 17:00:51 +05:30
commit bc815d9332
5 changed files with 45 additions and 64 deletions

View File

@ -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 = 5 # Needed for dynamic plugin loading store_version = 6 # 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>'
@ -52,7 +52,6 @@ class AmazonDEKindleStore(StorePlugin):
def search(self, query, max_results=10, timeout=60): def search(self, query, max_results=10, timeout=60):
url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+')
#print(url)
br = browser() br = browser()
counter = max_results counter = max_results
@ -89,17 +88,15 @@ class AmazonDEKindleStore(StorePlugin):
'//span[contains(@class, "lrg") and contains(@class, "bld")]/text()') '//span[contains(@class, "lrg") and contains(@class, "bld")]/text()')
elif doc.xpath('//div[@id = "atfResults" and contains(@class, "list")]'): elif doc.xpath('//div[@id = "atfResults" and contains(@class, "list")]'):
#print('list form') #print('list form')
data_xpath = '//div[contains(@class, "prod")]' data_xpath = '//li[@class="s-result-item"]'
format_xpath = ( format_xpath = (
'.//ul[contains(@class, "rsltL")]' './/h3[contains(@class, "s-inline")]/text()')
'//span[contains(@class, "lrg") and not(contains(@class, "bld"))]/text()') asin_xpath = '@data-asin'
asin_xpath = '@name' cover_xpath = './/img[contains(@class, "cfMarker")]/@src'
cover_xpath = './/img[contains(@class, "productImage")]/@src' title_xpath = './/h2[contains(@class, "s-access-title")]/text()'
title_xpath = './/h3[@class="newaps"]/a//text()' author_xpath = ('.//div[contains(@class, "a-fixed-left-grid-col")]'
author_xpath = './/h3[@class="newaps"]//span[contains(@class, "reg")]//text()' '/div/div/span//text()')
price_xpath = ( price_xpath = ('.//span[contains(@class, "s-price")]/text()')
'.//ul[contains(@class, "rsltL")]'
'//span[contains(@class, "lrg") and contains(@class, "bld")]/text()')
else: else:
# URK -- whats this? # URK -- whats this?
print('unknown result table form for Amazon EU search') print('unknown result table form for Amazon EU search')
@ -156,4 +153,3 @@ class AmazonDEKindleStore(StorePlugin):
def get_details(self, search_result, timeout): def get_details(self, search_result, timeout):
pass pass

View File

@ -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 = 5 # Needed for dynamic plugin loading store_version = 6 # 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>'
@ -51,7 +51,6 @@ class AmazonESKindleStore(StorePlugin):
def search(self, query, max_results=10, timeout=60): def search(self, query, max_results=10, timeout=60):
url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+')
#print(url)
br = browser() br = browser()
counter = max_results counter = max_results
@ -88,17 +87,15 @@ class AmazonESKindleStore(StorePlugin):
'//span[contains(@class, "lrg") and contains(@class, "bld")]/text()') '//span[contains(@class, "lrg") and contains(@class, "bld")]/text()')
elif doc.xpath('//div[@id = "atfResults" and contains(@class, "list")]'): elif doc.xpath('//div[@id = "atfResults" and contains(@class, "list")]'):
#print('list form') #print('list form')
data_xpath = '//div[contains(@class, "prod")]' data_xpath = '//li[@class="s-result-item"]'
format_xpath = ( format_xpath = (
'.//ul[contains(@class, "rsltL")]' './/h3[contains(@class, "s-inline")]/text()')
'//span[contains(@class, "lrg") and not(contains(@class, "bld"))]/text()') asin_xpath = '@data-asin'
asin_xpath = '@name' cover_xpath = './/img[contains(@class, "cfMarker")]/@src'
cover_xpath = './/img[contains(@class, "productImage")]/@src' title_xpath = './/h2[contains(@class, "s-access-title")]/text()'
title_xpath = './/h3[@class="newaps"]/a//text()' author_xpath = ('.//div[contains(@class, "a-fixed-left-grid-col")]'
author_xpath = './/h3[@class="newaps"]//span[contains(@class, "reg")]//text()' '/div/div/span//text()')
price_xpath = ( price_xpath = ('.//span[contains(@class, "s-price")]/text()')
'.//ul[contains(@class, "rsltL")]'
'//span[contains(@class, "lrg") and contains(@class, "bld")]/text()')
else: else:
# URK -- whats this? # URK -- whats this?
print('unknown result table form for Amazon EU search') print('unknown result table form for Amazon EU search')
@ -155,4 +152,3 @@ class AmazonESKindleStore(StorePlugin):
def get_details(self, search_result, timeout): def get_details(self, search_result, timeout):
pass pass

View File

@ -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 = 5 # Needed for dynamic plugin loading store_version = 6 # 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>'
@ -48,7 +48,6 @@ class AmazonFRKindleStore(StorePlugin):
def search(self, query, max_results=10, timeout=60): def search(self, query, max_results=10, timeout=60):
url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+')
#print(url)
br = browser() br = browser()
counter = max_results counter = max_results
@ -85,17 +84,15 @@ class AmazonFRKindleStore(StorePlugin):
'//span[contains(@class, "lrg") and contains(@class, "bld")]/text()') '//span[contains(@class, "lrg") and contains(@class, "bld")]/text()')
elif doc.xpath('//div[@id = "atfResults" and contains(@class, "list")]'): elif doc.xpath('//div[@id = "atfResults" and contains(@class, "list")]'):
#print('list form') #print('list form')
data_xpath = '//div[contains(@class, "prod")]' data_xpath = '//li[@class="s-result-item"]'
format_xpath = ( format_xpath = (
'.//ul[contains(@class, "rsltL")]' './/h3[contains(@class, "s-inline")]/text()')
'//span[contains(@class, "lrg") and not(contains(@class, "bld"))]/text()') asin_xpath = '@data-asin'
asin_xpath = '@name' cover_xpath = './/img[contains(@class, "cfMarker")]/@src'
cover_xpath = './/img[contains(@class, "productImage")]/@src' title_xpath = './/h2[contains(@class, "s-access-title")]/text()'
title_xpath = './/h3[@class="newaps"]/a//text()' author_xpath = ('.//div[contains(@class, "a-fixed-left-grid-col")]'
author_xpath = './/h3[@class="newaps"]//span[contains(@class, "reg")]//text()' '/div/div/span//text()')
price_xpath = ( price_xpath = ('.//span[contains(@class, "s-price")]/text()')
'.//ul[contains(@class, "rsltL")]'
'//span[contains(@class, "lrg") and contains(@class, "bld")]/text()')
else: else:
# URK -- whats this? # URK -- whats this?
print('unknown result table form for Amazon EU search') print('unknown result table form for Amazon EU search')
@ -152,4 +149,3 @@ class AmazonFRKindleStore(StorePlugin):
def get_details(self, search_result, timeout): def get_details(self, search_result, timeout):
pass pass

View File

@ -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 = 5 # Needed for dynamic plugin loading store_version = 6 # 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>'
@ -51,7 +51,6 @@ class AmazonITKindleStore(StorePlugin):
def search(self, query, max_results=10, timeout=60): def search(self, query, max_results=10, timeout=60):
url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+')
#print(url)
br = browser() br = browser()
counter = max_results counter = max_results
@ -88,17 +87,15 @@ class AmazonITKindleStore(StorePlugin):
'//span[contains(@class, "lrg") and contains(@class, "bld")]/text()') '//span[contains(@class, "lrg") and contains(@class, "bld")]/text()')
elif doc.xpath('//div[@id = "atfResults" and contains(@class, "list")]'): elif doc.xpath('//div[@id = "atfResults" and contains(@class, "list")]'):
#print('list form') #print('list form')
data_xpath = '//div[contains(@class, "prod")]' data_xpath = '//li[@class="s-result-item"]'
format_xpath = ( format_xpath = (
'.//ul[contains(@class, "rsltL")]' './/h3[contains(@class, "s-inline")]/text()')
'//span[contains(@class, "lrg") and not(contains(@class, "bld"))]/text()') asin_xpath = '@data-asin'
asin_xpath = '@name' cover_xpath = './/img[contains(@class, "cfMarker")]/@src'
cover_xpath = './/img[contains(@class, "productImage")]/@src' title_xpath = './/h2[contains(@class, "s-access-title")]/text()'
title_xpath = './/h3[@class="newaps"]/a//text()' author_xpath = ('.//div[contains(@class, "a-fixed-left-grid-col")]'
author_xpath = './/h3[@class="newaps"]//span[contains(@class, "reg")]//text()' '/div/div/span//text()')
price_xpath = ( price_xpath = ('.//span[contains(@class, "s-price")]/text()')
'.//ul[contains(@class, "rsltL")]'
'//span[contains(@class, "lrg") and contains(@class, "bld")]/text()')
else: else:
# URK -- whats this? # URK -- whats this?
print('unknown result table form for Amazon EU search') print('unknown result table form for Amazon EU search')
@ -155,4 +152,3 @@ class AmazonITKindleStore(StorePlugin):
def get_details(self, search_result, timeout): def get_details(self, search_result, timeout):
pass pass

View File

@ -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 = 5 # Needed for dynamic plugin loading store_version = 6 # 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>'
@ -55,7 +55,6 @@ class AmazonUKKindleStore(StorePlugin):
def search(self, query, max_results=10, timeout=60): def search(self, query, max_results=10, timeout=60):
url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+')
#print(url)
br = browser() br = browser()
counter = max_results counter = max_results
@ -92,17 +91,15 @@ class AmazonUKKindleStore(StorePlugin):
'//span[contains(@class, "lrg") and contains(@class, "bld")]/text()') '//span[contains(@class, "lrg") and contains(@class, "bld")]/text()')
elif doc.xpath('//div[@id = "atfResults" and contains(@class, "list")]'): elif doc.xpath('//div[@id = "atfResults" and contains(@class, "list")]'):
#print('list form') #print('list form')
data_xpath = '//div[contains(@class, "prod")]' data_xpath = '//li[@class="s-result-item"]'
format_xpath = ( format_xpath = (
'.//ul[contains(@class, "rsltL")]' './/h3[contains(@class, "s-inline")]/text()')
'//span[contains(@class, "lrg") and not(contains(@class, "bld"))]/text()') asin_xpath = '@data-asin'
asin_xpath = '@name' cover_xpath = './/img[contains(@class, "cfMarker")]/@src'
cover_xpath = './/img[contains(@class, "productImage")]/@src' title_xpath = './/h2[contains(@class, "s-access-title")]/text()'
title_xpath = './/h3[@class="newaps"]/a//text()' author_xpath = ('.//div[contains(@class, "a-fixed-left-grid-col")]'
author_xpath = './/h3[@class="newaps"]//span[contains(@class, "reg")]//text()' '/div/div/span//text()')
price_xpath = ( price_xpath = ('.//span[contains(@class, "s-price")]/text()')
'.//ul[contains(@class, "rsltL")]'
'//span[contains(@class, "lrg") and contains(@class, "bld")]/text()')
else: else:
# URK -- whats this? # URK -- whats this?
print('unknown result table form for Amazon EU search') print('unknown result table form for Amazon EU search')