# -*- coding: iso-8859-1 -*-
# Copyright (C) 2004-2005 Tristan Seligmann and Jonathan Jacobs
# Copyright (C) 2012-2013 Bastian Kleineidam
from re import compile, IGNORECASE, MULTILINE
from ..util import tagre
from ..scraper import _BasicScraper
from ..helpers import indirectStarter
class FalconTwin(_BasicScraper):
url = 'http://www.falcontwin.com/'
stripUrl = url + 'index.html?strip=%s'
imageSearch = compile(r'"(strips/.+?)"')
prevSearch = compile(r'"prev">Previous Strip')
help = 'Index format: nnn'
class FeyWinds(_BasicScraper):
url = 'http://kitsune.rydia.net/index.html'
stripUrl = 'http://kitsune.rydia.net/comic/page.php?id=%s'
imageSearch = compile(r"(../comic/pages//.+?)'")
prevSearch = compile(r"(page.php\?id=.+?)'.+?navprevious.png")
help = 'Index format: n (unpadded)'
starter = indirectStarter(url, compile(r'(comic/page.php\?id.+?)"'))
class FilibusterCartoons(_BasicScraper):
url = 'http://www.filibustercartoons.com/'
stripUrl = url + 'index.php/%s'
imageSearch = compile(tagre("img", "src", r'(http://www\.filibustercartoons\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.filibustercartoons\.com/[^"]+)', after="prev"))
help = 'Index format: yyyy/mm/dd/name'
class FirstWorldProblems(_BasicScraper):
url = 'http://bradcolbow.com/archive/C5/'
stripUrl = url + '%s/'
firstStripUrl = stripUrl % 'P10'
imageSearch = compile(tagre("img", "src", r'(http://(?:fwpcomics\.s3\.amazonaws\.com|s3\.amazonaws\.com/fwpcomics)/s1-[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://bradcolbow\.com/archive/C5/[^"]+)', before="prev"))
multipleImagesPerStrip = True
help = 'Index format: a letter and a number'
class FlakyPastry(_BasicScraper):
url = 'http://flakypastry.runningwithpencils.com/index.php'
stripUrl = 'http://flakypastry.runningwithpencils.com/comic.php?strip_id=%s'
imageSearch = compile(r']).+?(/footloose/.+?)".+?(?:prev)')
help = 'Index format: n (unpadded)'
class Freefall(_BasicScraper):
url = 'http://freefall.purrsia.com/default.htm'
stripUrl = 'http://freefall.purrsia.com/ff%s/fc%s.htm'
imageSearch = compile(r'Previous')
help = 'Index format: nnnn/nnnnn'
class FantasyRealms(_BasicScraper):
url = 'http://www.fantasyrealmsonline.com/'
stripUrl = url + 'manga/%s.php'
imageSearch = compile(r'Back', IGNORECASE)
help = 'Index format: nn-m (comicNumber-partNumber)'
starter = indirectStarter(url,
compile(r'\(NEW \d{2}/\d{2}/\d{2}\)\s*\n*\s*\d+', MULTILINE))
@classmethod
def namer(cls, imageUrl, pageUrl):
num = pageUrl.split('/')[-1].split('-')[0]
part = pageUrl.split('-')[-1].split('.')[0]
return '%s-%s' % (part, num)
def getIndexStripUrl(self, index):
index, part = index.split('-')
return self.stripUrl % (part, index, part)
class FredoAndPidjin(_BasicScraper):
url = 'http://www.pidjin.net/'
stripUrl = None
help = 'Index format: yyyy/mm/dd/name'
imageSearch = compile(tagre('img', 'src', '(http://cdn\.pidjin\.net/wp-content/uploads/\d+/\d+/[^"]+\.png)'))
multipleImagesPerStrip = True
prevSearch = compile(tagre('a', 'href', '([^"]+)')+"Prev")
starter = indirectStarter(url,
compile(tagre('a', 'href', "("+url+r'\d\d\d\d/\d\d/\d\d/[^"]+/)')))