From cf13afbfe6e9be316f36e98b8e780e113cb09fa9 Mon Sep 17 00:00:00 2001 From: Ida Date: Sat, 14 Jul 2012 18:33:23 -0400 Subject: [PATCH] Make finesotries.com adapter accept story detail pages as urls --- fanficdownloader/adapters/adapter_finestoriescom.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fanficdownloader/adapters/adapter_finestoriescom.py b/fanficdownloader/adapters/adapter_finestoriescom.py index f2087f3..a9b0cce 100644 --- a/fanficdownloader/adapters/adapter_finestoriescom.py +++ b/fanficdownloader/adapters/adapter_finestoriescom.py @@ -47,6 +47,8 @@ class FineStoriesComAdapter(BaseSiteAdapter): # get storyId from url self.story.setMetadata('storyId',self.parsedUrl.path.split('/',)[2].split(':')[0]) + if 'storyInfo' in self.story.getMetadata('storyId'): + self.story.setMetadata('storyId',self.parsedUrl.query.split('=',)[1]) logging.debug("storyId: (%s)"%self.story.getMetadata('storyId')) # normalized story URL. @@ -65,10 +67,10 @@ class FineStoriesComAdapter(BaseSiteAdapter): return 'finestories.com' def getSiteExampleURLs(self): - return "http://"+self.getSiteDomain()+"/s/10537 http://"+self.getSiteDomain()+"/s/10537:4010" + return "http://"+self.getSiteDomain()+"/s/10537 http://"+self.getSiteDomain()+"/s/10537:4010 http://"+self.getSiteDomain()+"/s/toryInfo.php?id=10537" def getSiteURLPattern(self): - return re.escape("http://"+self.getSiteDomain()+"/s/")+r"\d+(:\d+)?(;\d+)?$" + return re.escape("http://"+self.getSiteDomain()+"/s/")+r"(storyInfo.php\?id=)?\d+(:\d+)?(;\d+)?$" ## Login seems to be reasonably standard across eFiction sites. def needToLoginCheck(self, data):