From acb26328c8d36921dfe6aff0ef0361f3e42b0924 Mon Sep 17 00:00:00 2001 From: Lee Date: Tue, 19 Apr 2011 12:29:08 +0800 Subject: [PATCH 1/2] handle referer header when overdrive ID is unknown --- src/calibre/ebooks/metadata/sources/overdrive.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/metadata/sources/overdrive.py b/src/calibre/ebooks/metadata/sources/overdrive.py index 26c90f08fe..2443836b37 100755 --- a/src/calibre/ebooks/metadata/sources/overdrive.py +++ b/src/calibre/ebooks/metadata/sources/overdrive.py @@ -23,7 +23,6 @@ from calibre.ebooks.chardet import xml_to_unicode from calibre.library.comments import sanitize_comments_html ovrdrv_data_cache = {} -cover_url_cache = {} cache_lock = RLock() base_url = 'http://search.overdrive.com/' @@ -100,8 +99,10 @@ class OverDrive(Source): ovrdrv_id = identifiers.get('overdrive', None) br = self.browser - referer = self.get_base_referer()+'ContentDetails-Cover.htm?ID='+ovrdrv_id req = mechanize.Request(cached_url) + if ovrdrv_id is not None: + referer = self.get_base_referer()+'ContentDetails-Cover.htm?ID='+ovrdrv_id + req.add_header('referer', referer) req.add_header('referer', referer) log('Downloading cover from:', cached_url) try: From 112168f3f69b07251b8979a8a0b722245d0e7e5a Mon Sep 17 00:00:00 2001 From: Lee Date: Tue, 19 Apr 2011 12:53:03 +0800 Subject: [PATCH 2/2] check for image in exact match scenario --- src/calibre/ebooks/metadata/sources/overdrive.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/ebooks/metadata/sources/overdrive.py b/src/calibre/ebooks/metadata/sources/overdrive.py index 2443836b37..39fa2bc6ea 100755 --- a/src/calibre/ebooks/metadata/sources/overdrive.py +++ b/src/calibre/ebooks/metadata/sources/overdrive.py @@ -245,7 +245,7 @@ class OverDrive(Source): else: creators = creators.split(', ') # if an exact match in a preferred format occurs - if (author and creators[0] == author[0]) and od_title == title and int(formatid) in [1, 50, 410, 900]: + if (author and creators[0] == author[0]) and od_title == title and int(formatid) in [1, 50, 410, 900] and thumbimage: return self.format_results(reserveid, od_title, subtitle, series, publisher, creators, thumbimage, worldcatlink, formatid) else: