# -*- 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://cdn\.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 HMHigh(_BasicScraper): description = u'Welcome to the website of professional artist and illustrator, Angel Smith and of Fallen Angel Media Ltd; An independent art, design & publishing house and event management company based in Bristol, England' name = 'TheFallenAngel/HMHigh' baseUrl = 'http://www.thefallenangel.co.uk/' url = baseUrl + 'hmhigh/' rurl = escape(baseUrl) stripUrl = url + '?id=%s' imageSearch = compile(r'Prev' % rurl) help = 'Index format: nnn' class TheOuterQuarter(_BasicScraper): url = 'http://theouterquarter.com/' rurl = escape(url) stripUrl = url + 'comic/%s' firstStripUrl = stripUrl % 'oq-the-first-take/4' imageSearch = compile(r'