Amazon metadata download: Fix spurious ratings for unrated books

Amazon metadata download: Fix spurious ratings being returned for
unrated books. Fixes #1245449 [Amazon source picks up ratings from ANY book on the page (suggested etc)](https://bugs.launchpad.net/calibre/+bug/1245449)
This commit is contained in:
Kovid Goyal 2013-10-30 11:40:27 +05:30
parent 8111d646ae
commit fc4ca20e99

View File

@ -436,6 +436,11 @@ class Worker(Thread): # Get details {{{
return authors return authors
def parse_rating(self, root): def parse_rating(self, root):
for x in root.xpath('//div[@id="cpsims-feature" or @id="purchase-sims-feature" or @id="rhf"]'):
# Remove the similar books section as it can cause sppurious
# ratings matches
x.getparent().remove(x)
rating_paths = ('//div[@data-feature-name="averageCustomerReviews"]', rating_paths = ('//div[@data-feature-name="averageCustomerReviews"]',
'//div[@class="jumpBar"]/descendant::span[contains(@class,"asinReviewsSummary")]', '//div[@class="jumpBar"]/descendant::span[contains(@class,"asinReviewsSummary")]',
'//div[@class="buying"]/descendant::span[contains(@class,"asinReviewsSummary")]', '//div[@class="buying"]/descendant::span[contains(@class,"asinReviewsSummary")]',