From fc4ca20e9978c4ae5da69fcc96ebbd1c6384fcd5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 30 Oct 2013 11:40:27 +0530 Subject: [PATCH] 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) --- src/calibre/ebooks/metadata/sources/amazon.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/calibre/ebooks/metadata/sources/amazon.py b/src/calibre/ebooks/metadata/sources/amazon.py index aa083011fe..6fe97c2782 100644 --- a/src/calibre/ebooks/metadata/sources/amazon.py +++ b/src/calibre/ebooks/metadata/sources/amazon.py @@ -436,6 +436,11 @@ class Worker(Thread): # Get details {{{ return authors 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"]', '//div[@class="jumpBar"]/descendant::span[contains(@class,"asinReviewsSummary")]', '//div[@class="buying"]/descendant::span[contains(@class,"asinReviewsSummary")]',