# -*- coding: iso-8859-1 -*-
# Copyright (C) 2004-2005 Tristan Seligmann and Jonathan Jacobs
# Copyright (C) 2012-2013 Bastian Kleineidam
from re import compile, escape, IGNORECASE
from ..scraper import _BasicScraper
from ..helpers import indirectStarter
from ..util import tagre
class TheBrads(_BasicScraper):
description = u'ArchiveFirst World Problems Comic - By Brad Colbow'
url = 'http://bradcolbow.com/archive/C4/'
stripUrl = url + '%s/'
firstStripUrl = stripUrl % 'P125'
imageSearch = compile(tagre("img", "src", r'(http://s3\.amazonaws\.com/the_brads/the-?brads[-_][^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://bradcolbow\.com/archive/C4/[^"]+)', before="prev"))
multipleImagesPerStrip = True
help = 'Index format: a letter and a number'
class TheDevilsPanties(_BasicScraper):
description = u"It's not Satanic Porn"
url = 'http://thedevilspanties.com/'
stripUrl = url + 'archives/%s'
firstStripUrl = stripUrl % '300'
imageSearch = compile(tagre("img", "src", r'(http://cdn\.thedevilspanties\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/archives/\d+)', after="Previous"))
help = 'Index format: number'
class TheDreamlandChronicles(_BasicScraper):
description = u'The Dreamland Chronicles'
url = 'http://www.thedreamlandchronicles.com/'
stripUrl = url + 'comic/%s/'
firstStripUrl = stripUrl % 'page-1'
rurl = escape(url)
imageSearch = compile(tagre("img", "src", r'(http://www\.thedreamlandchronicles\.com/wp-content/uploads/\d+/\d+/\d+-\d+-\d+[^"]*)'))
prevSearch = compile(tagre("a", "href", r'(%s[^"]*)' % rurl, after='navi-prev"'))
help = 'Index format: page-n or chapter-n'
@classmethod
def namer(cls, imageUrl, pageUrl):
"""Remove trailing digit from day number."""
name = imageUrl.split('/')[-1]
base, ext = name.split('.', 1)
bp = base.split('-')
if len(bp[2]) == 3:
bp[2] = bp[2][:-1]
return "%s-%s-%s.%s" % (bp[0], bp[1], bp[2], ext)
class TheNoob(_BasicScraper):
url = 'http://www.thenoobcomic.com/index.php'
stripUrl = url + '?pos=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(/headquarters/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(\?pos=\d+)', before="comic_nav_previous_button"))
help = 'Index format: nnnn'
class TheOrderOfTheStick(_BasicScraper):
baseUrl = 'http://www.giantitp.com/'
url = baseUrl + 'comics/oots0863.html'
stripUrl = baseUrl + 'comics/oots%s.html'
firstStripUrl = stripUrl % '0001'
imageSearch = compile(r'')
prevSearch = compile(r'')
multipleImagesPerStrip = True
prevSearch = compile(r'\d{4} -\s+\d{4}')
help = 'Index format: nnn'
class TheWotch(_BasicScraper):
url = 'http://www.thewotch.com/'
stripUrl = url + '?date=%s'
firstStripUrl = stripUrl % '2002-11-21'
imageSearch = compile(r"', IGNORECASE)
prevSearch = compile(r' previous', IGNORECASE)
help = 'Index format: twb or wb + n wg. twb1000'
class TheOuterQuarter(_BasicScraper):
url = 'http://theouterquarter.com/'
rurl = escape(url)
stripUrl = url + 'comic/%s'
firstStripUrl = stripUrl % 'oq-the-first-take/4'
imageSearch = compile(r'')
help = 'Index format: nnn'
class ThreePanelSoul(_BasicScraper):
url = 'http://threepanelsoul.com/'
rurl = escape(url)
stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2006/05/11/a-test-comic'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/stripname'
class TracyAndTristan(_BasicScraper):
url = 'http://tandt.thecomicseries.com/'
rurl = escape(url)
stripUrl = url + 'comics/%s'
imageSearch = compile(tagre("img", "src", r'(%simages/comics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(/comics/\d+)', after="prev"))
help = 'Index format: number'
class TwoGuysAndGuy(_BasicScraper):
description = u"Two Guys and Guy"
url = 'http://www.twogag.com/'
rurl = escape(url)
stripUrl = url + 'archives/%s'
firstStripUrl = stripUrl % '4'
imageSearch = compile(tagre('img', 'src', r'(%scomics/\d{4}-\d{2}-\d{2}[^"]*)' % rurl))
prevSearch = compile(tagre('a', 'href', r'(%sarchives/\d+)' % rurl, after='title="Previous"'))
help = 'Index format: number'
adult = True