126 lines
6.3 KiB
Python
126 lines
6.3 KiB
Python
# -*- coding: iso-8859-1 -*-
|
|
# Copyright (C) 2004-2005 Tristan Seligmann and Jonathan Jacobs
|
|
# Copyright (C) 2012-2013 Bastian Kleineidam
|
|
|
|
from re import compile
|
|
from ..scraper import make_scraper
|
|
from ..util import tagre
|
|
|
|
|
|
_imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)'))
|
|
_prevSearch = compile(tagre("a", "href", r'([^"]*/d/\d{8}\.html)') +
|
|
'(?:Previous comic' + '|' +
|
|
tagre("img", "alt", "Previous comic") + '|' +
|
|
tagre("img", "src", "images/back\.gif") +
|
|
')')
|
|
|
|
def add(name, url):
|
|
classname = 'ComicGenesis_%s' % name
|
|
if '/d/' in url:
|
|
stripUrl = url.split('/d/')[0] + '/d/%s.html'
|
|
else:
|
|
stripUrl = url + 'd/%s.html'
|
|
|
|
@classmethod
|
|
def _prevUrlModifier(cls, prevUrl):
|
|
if prevUrl:
|
|
return prevUrl.replace("keenspace.com", "comicgenesis.com"
|
|
).replace("keenspot.com", "comicgenesis.com"
|
|
).replace("toonspace.com", "comicgenesis.com"
|
|
).replace("comicgen.com", "comicgenesis.com")
|
|
|
|
globals()[classname] = make_scraper(classname,
|
|
name='ComicGenesis/' + name,
|
|
url=url,
|
|
stripUrl=stripUrl,
|
|
imageSearch = _imageSearch,
|
|
prevSearch = _prevSearch,
|
|
prevUrlModifier = _prevUrlModifier,
|
|
multipleImagesPerStrip = True,
|
|
help = 'Index format: yyyymmdd',
|
|
)
|
|
|
|
# Comicgenesis has a lot of comics, but most of them are disallowed by robots.txt
|
|
# do not edit anything below since these entries are generated from scripts/update.sh
|
|
# DO NOT REMOVE
|
|
add('AAAAA', 'http://aaaaa.comicgenesis.com/')
|
|
add('AdventuresofKiltman', 'http://kiltman.comicgenesis.com/')
|
|
add('AmorModerno', 'http://amormoderno.comicgenesis.com/')
|
|
add('AnythingButRealLife', 'http://anythingbutreallife.comicgenesis.com/')
|
|
add('Ardra', 'http://ardra.comicgenesis.com/')
|
|
add('Artwork', 'http://artwork.comicgenesis.com/')
|
|
add('BabeintheWoods', 'http://babeinthewoods.comicgenesis.com/')
|
|
add('BackwaterPlanet', 'http://bobthespirit.comicgenesis.com/')
|
|
add('BendyStrawVampires', 'http://bsvampires.comicgenesis.com/')
|
|
add('BlindSight', 'http://blindsight.comicgenesis.com/')
|
|
add('BreakingtheDoldrum', 'http://breakingthedoldrum.comicgenesis.com/')
|
|
add('Candi', 'http://candicomics.com/')
|
|
add('CorporateLife', 'http://corporatelife.comicgenesis.com/')
|
|
add('CryHavoc', 'http://cryhavoc.comicgenesis.com/')
|
|
add('DarkWelkin', 'http://darkwelkin.comicgenesis.com/')
|
|
add('DemonEater', 'http://demoneater.comicgenesis.com/')
|
|
add('DoodleDiaries', 'http://doodlediaries.comicgenesis.com/')
|
|
add('DormSweetDorm', 'http://dormsweetdorm.comicgenesis.com/')
|
|
add('DoubleyouTeeEff', 'http://doubleyouteeeff.comicgenesis.com/')
|
|
add('DragonsBane', 'http://jasonwhitewaterz.comicgenesis.com/')
|
|
add('Dreamaniac', 'http://dreamaniaccomic.comicgenesis.com/')
|
|
add('ElnifiChronicles', 'http://elnifichronicles.comicgenesis.com/')
|
|
add('EvesApple', 'http://evesapple.comicgenesis.com/')
|
|
add('FancyThat', 'http://fancythat.comicgenesis.com/')
|
|
add('FantasyQwest', 'http://creatorauthorman.comicgenesis.com/')
|
|
add('Fantazine', 'http://fantazin.comicgenesis.com/')
|
|
add('Flounderville', 'http://flounderville.comicgenesis.com/')
|
|
add('GEM', 'http://keltzy.comicgenesis.com/')
|
|
add('Gonefor300days', 'http://g4300d.comicgenesis.com/')
|
|
add('IBlameDanny', 'http://vileterror.comicgenesis.com/')
|
|
add('ImpendingDoom', 'http://impending.comicgenesis.com/')
|
|
add('InANutshell', 'http://nutshellcomics.comicgenesis.com/')
|
|
add('KernyMantisComics', 'http://kernymantis.comicgenesis.com/')
|
|
add('KitsuneJewel', 'http://kitsunejewel.comicgenesis.com/')
|
|
add('KittyCattyGames', 'http://kittycattygames.comicgenesis.com/')
|
|
add('KiwiDayN', 'http://kiwidayn.comicgenesis.com/')
|
|
add('KungFounded', 'http://kungfounded.comicgenesis.com/')
|
|
add('LabBratz', 'http://labbratz.comicgenesis.com/')
|
|
add('Laserwing', 'http://laserwing.comicgenesis.com/')
|
|
add('LumiasKingdom', 'http://lumia.comicgenesis.com/')
|
|
add('Majestic7', 'http://majestic7.comicgenesis.com/')
|
|
add('MaximumWhimsy', 'http://maximumwhimsy.comicgenesis.com/')
|
|
add('MenschunsererZeitGerman', 'http://muz.comicgenesis.com/')
|
|
add('MoonCrest24', 'http://mooncrest.comicgenesis.com/d/20121117.html')
|
|
add('Mushian', 'http://tentoumushi.comicgenesis.com/')
|
|
add('NightwolfCentral', 'http://nightwolfcentral.comicgenesis.com/')
|
|
add('NoTimeForLife', 'http://randyraven.comicgenesis.com/')
|
|
add('NoneMoreComic', 'http://nonemore.comicgenesis.com/')
|
|
add('ODCKS', 'http://odcks.comicgenesis.com/')
|
|
add('OfDoom', 'http://ofdoom.comicgenesis.com/')
|
|
add('OpportunityofaLifetime', 'http://carpathia.comicgenesis.com/')
|
|
add('Orbz', 'http://orbz.comicgenesis.com/')
|
|
add('OwMySanity', 'http://owmysanity.comicgenesis.com/')
|
|
add('PhantomThesis', 'http://phantomthesis.comicgenesis.com/')
|
|
add('ProfessorSaltinesAstrodynamicDirigible', 'http://drsaltine.comicgenesis.com/')
|
|
add('PsychicDyslexiaInstitute', 'http://pdi.comicgenesis.com/')
|
|
add('PublicidadeEnganosa', 'http://publicidadeenganosa.comicgenesis.com/')
|
|
add('RandomAxeOfKindness', 'http://randomaxe.comicgenesis.com/')
|
|
add('SalemUncommons', 'http://salemuncommons.comicgenesis.com/')
|
|
add('SamandElisAdventures', 'http://sameliadv.comicgenesis.com/')
|
|
add('SarahZero', 'http://plughead.comicgenesis.com/')
|
|
add('SixByNineCollege', 'http://sixbyninecollege.comicgenesis.com/')
|
|
add('SpoononHighandFireontheMountian', 'http://spoon.comicgenesis.com/')
|
|
add('SueosdelSur', 'http://sds.comicgenesis.com/')
|
|
add('SynapticMisfires', 'http://synapticmisfires.comicgenesis.com/')
|
|
add('TakingStock', 'http://mapaghimagsik.comicgenesis.com/')
|
|
add('Tandava', 'http://tandava.comicgenesis.com/')
|
|
add('TemplarArizona', 'http://templaraz.comicgenesis.com/')
|
|
add('TheAdventuresofKaniraBaxter', 'http://kanirabaxter.comicgenesis.com/')
|
|
add('TheAdventuresofVindibuddSuperheroInTraining', 'http://vindibudd.comicgenesis.com/d/20070720.html')
|
|
add('TheEasyBreather', 'http://easybreather.comicgenesis.com/')
|
|
add('TheLounge', 'http://thelounge.comicgenesis.com/')
|
|
add('TheMisadventuresofOkk', 'http://okk.comicgenesis.com/')
|
|
add('ThePath', 'http://thepath.comicgenesis.com/')
|
|
add('TheTalesofKalduras', 'http://kalduras.comicgenesis.com/')
|
|
add('UBERGEEKSpriteWorld', 'http://www.ubergeekthecomic.com/')
|
|
add('Unconventional', 'http://unconventional.comicgenesis.com/')
|
|
add('WarMageNC17', 'http://warmage.comicgenesis.com/')
|
|
add('WebcomicTheWebcomicWebcomicWebcomicWebcomic', 'http://dannormnsanidey.comicgenesis.com/')
|
|
add('WhatYouDontSee', 'http://phantomlady4.comicgenesis.com/')
|
|
add('Wierdman', 'http://asa.comicgenesis.com/')
|