diff --git a/calibre-plugin/plugin-defaults.ini b/calibre-plugin/plugin-defaults.ini index 90da1e80..3265f74a 100644 --- a/calibre-plugin/plugin-defaults.ini +++ b/calibre-plugin/plugin-defaults.ini @@ -1177,7 +1177,9 @@ windows_eol: true [test1.com] use_basic_cache:true -slow_down_sleep_time:2 +## slow_down_sleep_time now applied to test1 chapters (with 0.5-1.5 +## random fudge) +#slow_down_sleep_time:2 extratags: FanFiction,Testing # extracategories:Fafner diff --git a/fanficfare/adapters/adapter_test1.py b/fanficfare/adapters/adapter_test1.py index 90c3f61f..d28e9073 100644 --- a/fanficfare/adapters/adapter_test1.py +++ b/fanficfare/adapters/adapter_test1.py @@ -88,7 +88,7 @@ class TestSiteAdapter(BaseSiteAdapter): return if idnum >= 700 and idnum <= 710: - self._setURL('http://test1.com?sid=%s'%(idnum+100)) + self._setURL('http://'+self.getSiteDomain()+'?sid=%s'%(idnum+100)) self.story.setMetadata('storyId',self.parsedUrl.query.split('=',)[1]) idstr = self.story.getMetadata('storyId') idnum = int(idstr) @@ -112,12 +112,13 @@ class TestSiteAdapter(BaseSiteAdapter): if idstr == '668' and self.username != "Me" : raise exceptions.FailedToLogin(self.url,self.username) + prefix = self.getSiteDomain() if self.getSiteDomain() != 'test1.com' else "" if idstr == '664': - self.story.setMetadata(u'title',"Test Story Title "+idstr+self.crazystring+"  ") - self.story.setMetadata('author','Test Author aa bare amp(&) quote(') amp(&)') + self.story.setMetadata(u'title',prefix+"Test Story Title "+idstr+self.crazystring+"  ") + self.story.setMetadata('author',prefix+'Test Author aa bare amp(&) quote(') amp(&)') else: - self.story.setMetadata(u'title',"Test Story Title "+idstr) - self.story.setMetadata('author','Test Author aa') + self.story.setMetadata(u'title',prefix+"Test Story Title "+idstr) + self.story.setMetadata('author',prefix+'Test Author aa') self.setDescription(self.url,u'
Description '+self.crazystring+u''' Done

Some more longer description. "I suck at summaries!" "Better than it sounds!" "My first fic" @@ -146,13 +147,13 @@ Some more longer description. "I suck at summaries!" "Better than it sounds!" } self.story.setMetadata('language',langs[idnum%len(langs)]) self.setSeries('The Great Test',idnum) - self.story.setMetadata('seriesUrl','http://test1.com/seriesid=1') + self.story.setMetadata('seriesUrl','http://'+self.getSiteDomain()+'/seriesid=1') elif idnum < 20: self.setSeries('魔法少女まどか★マギカ',idnum) - self.story.setMetadata('seriesUrl','http://test1.com/seriesid=1') + self.story.setMetadata('seriesUrl','http://'+self.getSiteDomain()+'/seriesid=1') if idnum == 0: self.setSeries("A Nook Hyphen Test "+self.story.getMetadata('dateCreated'),idnum) - self.story.setMetadata('seriesUrl','http://test1.com/seriesid=0') + self.story.setMetadata('seriesUrl','http://'+self.getSiteDomain()+'/seriesid=0') self.story.setMetadata('rating','Tweenie') @@ -317,9 +318,14 @@ Some more longer description. "I suck at summaries!" "Better than it sounds!" def getChapterText(self, url): logger.debug('Getting chapter text from: %s' % url) - if self.story.getMetadata('storyId').startswith('670') or \ - self.story.getMetadata('storyId').startswith('672'): - time.sleep(1.0) + if( self.getConfig('slow_down_sleep_time',False) + or self.story.getMetadata('storyId').startswith('670') + or self.story.getMetadata('storyId').startswith('672') ): + import random + t = float(self.getConfig('slow_down_sleep_time',1.0)) + rt = random.uniform(t*0.5, t*1.5) + logger.debug("random sleep(%0.2f-%0.2f):%0.2f"%(t*0.5, t*1.5,rt)) + time.sleep(rt) if "chapter=1" in url : text=u''' @@ -358,7 +364,7 @@ Some more longer description. "I suck at summaries!" "Better than it sounds!" ''' elif self.story.getMetadata('storyId') == '667' and "chapter=2" in url: raise exceptions.FailedToDownload("Error downloading Chapter: %s!" % url) - elif 'test1.com' not in url: + elif self.getSiteDomain() not in url: ## for chapter_urls setting. origurl = url (data,url) = self.get_request_redirected(url) @@ -437,7 +443,7 @@ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor return self.utf8FromSoup(url,soup) def get_urls_from_page(self,url,normalize): - logger.debug("Fake series test1.com") + logger.debug("Fake series "+self.getSiteDomain()) ''' This method is to make it easier for adapters to detect a series URL, pick out the series metadata and list of storyUrls @@ -447,19 +453,38 @@ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor ## easiest way to get all the weird URL possibilities and stay ## up to date with future changes. return {'name':'The Great Test', - 'desc':'

The Great Test Series of test1.com!
', - 'urllist':['http://test1.com?sid=1', - 'http://test1.com?sid=2', - 'http://test1.com?sid=3', - 'http://test1.com?sid=4', - 'http://test1.com?sid=5', - 'http://test1.com?sid=6', - 'http://test1.com?sid=7', - 'http://test1.com?sid=8', - 'http://test1.com?sid=9',] + 'desc':'
The Great Test Series of '+self.getSiteDomain()+'!
', + 'urllist':['http://'+self.getSiteDomain()+'?sid=1', + 'http://'+self.getSiteDomain()+'?sid=2', + 'http://'+self.getSiteDomain()+'?sid=3', + 'http://'+self.getSiteDomain()+'?sid=4', + 'http://'+self.getSiteDomain()+'?sid=5', + 'http://'+self.getSiteDomain()+'?sid=6', + 'http://'+self.getSiteDomain()+'?sid=7', + 'http://'+self.getSiteDomain()+'?sid=8', + 'http://'+self.getSiteDomain()+'?sid=9',] } def getClass(): return TestSiteAdapter +''' +from __future__ import absolute_import +import logging +logger = logging.getLogger(__name__) + +from .adapter_test1 import TestSiteAdapter + +class Test2SiteAdapter(TestSiteAdapter): + + def __init__(self, config, url): + TestSiteAdapter.__init__(self, config, url) + + @staticmethod + def getSiteDomain(): + return 'test2.com' + +def getClass(): + return Test2SiteAdapter +''' diff --git a/fanficfare/defaults.ini b/fanficfare/defaults.ini index 1b440f58..f3950f37 100644 --- a/fanficfare/defaults.ini +++ b/fanficfare/defaults.ini @@ -1208,7 +1208,9 @@ windows_eol: true [test1.com] use_basic_cache:true -slow_down_sleep_time:2 +## slow_down_sleep_time now applied to test1 chapters (with 0.5-1.5 +## random fudge) +#slow_down_sleep_time:2 extratags: FanFiction,Testing # extracategories:Fafner