From 437f139283d0cffe3ca95d081affb66cd1eaac39 Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Wed, 5 Dec 2012 13:35:06 -0600 Subject: [PATCH] ffnet: allow URLs with escaped titles, use larger image when available. --- fanficdownloader/adapters/adapter_fanfictionnet.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/fanficdownloader/adapters/adapter_fanfictionnet.py b/fanficdownloader/adapters/adapter_fanfictionnet.py index 62155e1..3799ac1 100644 --- a/fanficdownloader/adapters/adapter_fanfictionnet.py +++ b/fanficdownloader/adapters/adapter_fanfictionnet.py @@ -68,7 +68,7 @@ class FanFictionNetSiteAdapter(BaseSiteAdapter): return "http://www.fanfiction.net/s/1234/1/ http://www.fanfiction.net/s/1234/12/ http://www.fanfiction.net/s/1234/1/Story_Title" def getSiteURLPattern(self): - return r"http://(www|m)?\.fanfiction\.net/s/\d+(/\d+)?(/|/[a-zA-Z0-9_-]+)?/?$" + return r"http://(www|m)?\.fanfiction\.net/s/\d+(/\d+)?(/|/[^/]+)?/?$" def extractChapterUrlsAndMetadata(self): @@ -215,9 +215,14 @@ class FanFictionNetSiteAdapter(BaseSiteAdapter): else: self.story.setMetadata('status', 'In-Progress') - img = soup.find('img',{'class':'cimage'}) - if img: - self.setCoverImage(url,img['src']) + # Try the larger image first. + try: + img = soup.find('img',{'class':'lazy cimage'}) + self.setCoverImage(url,img['data-original']) + except: + img = soup.find('img',{'class':'cimage'}) + if img: + self.setCoverImage(url,img['src']) # Find the chapter selector select = soup.find('select', { 'name' : 'chapter' } )