52 lines
1.8 KiB
Python
52 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
|
# Copyright (C) 2015-2016 Tobias Gruetzmacher
|
|
from ..scraper import _ParserScraper
|
|
from ..helpers import indirectStarter
|
|
|
|
|
|
class Snafu(_ParserScraper):
|
|
# Next and Previous are swapped...
|
|
prevSearch = '//a[@class="next"]'
|
|
imageSearch = '//div[@class="comicpage"]/img'
|
|
latestSearch = '//div[@id="feed"]/a'
|
|
starter = indirectStarter
|
|
|
|
def __init__(self, name, path):
|
|
super(Snafu, self).__init__('SnafuComics/' + name)
|
|
self.url = 'http://snafu-comics.com/swmseries/' + path
|
|
|
|
def namer(self, image_url, page_url):
|
|
year, month, name = image_url.rsplit('/', 3)[1:]
|
|
return "%04s_%02s_%s" % (year, month, name)
|
|
|
|
@classmethod
|
|
def getmodules(cls):
|
|
return [
|
|
cls('Braindead', 'braindead'),
|
|
cls('Bunnywith', 'bunnywith'),
|
|
cls('DeliverUsEvil', 'deliverusevil'),
|
|
cls('EA', 'ea'),
|
|
cls('FT', 'ft'),
|
|
cls('GrimTalesFromDownBelow', 'grimtales'),
|
|
cls('KOF', 'kof'),
|
|
cls('MyPanda', 'mypanda'),
|
|
cls('NarutoHeroesPath', 'naruto'),
|
|
cls('NewSuperMarioAdventures', 'nsma'),
|
|
cls('PowerPuffGirls', 'powerpuffgirls'),
|
|
# cls('PSG2', 'psg2'), -- Strangely broken
|
|
cls('SatansExcrement', 'satansexcrement'),
|
|
cls('SF', 'sf'),
|
|
cls('SkullBoy', 'skullboy'),
|
|
cls('Snafu', 'snafu'),
|
|
cls('Soul', 'soul'),
|
|
cls('Sugar', 'sugarbits'),
|
|
cls('SureToBeBanD', 'stbb'),
|
|
cls('TheLeague', 'league'),
|
|
cls('Tin', 'tin'),
|
|
cls('Titan', 'titan'),
|
|
cls('TrunksAndSoto', 'trunks-and-soto'),
|
|
cls('TW', 'tw'),
|
|
cls('Zim', 'zim'),
|
|
]
|