2016-05-20 23:18:42 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
2012-06-20 20:41:04 +00:00
|
|
|
# Copyright (C) 2004-2005 Tristan Seligmann and Jonathan Jacobs
|
2014-01-05 15:50:57 +00:00
|
|
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
2016-05-20 23:18:42 +00:00
|
|
|
# Copyright (C) 2015-2016 Tobias Gruetzmacher
|
2012-06-20 19:58:13 +00:00
|
|
|
|
2016-05-20 23:18:42 +00:00
|
|
|
from __future__ import absolute_import, division, print_function
|
2012-06-20 19:58:13 +00:00
|
|
|
|
2016-05-20 23:18:42 +00:00
|
|
|
from re import compile
|
2012-06-20 19:58:13 +00:00
|
|
|
|
2016-05-20 23:18:42 +00:00
|
|
|
from ..scraper import _BasicScraper
|
|
|
|
from ..util import tagre
|
2012-11-28 17:15:12 +00:00
|
|
|
|
2012-06-20 19:58:13 +00:00
|
|
|
|
2016-05-20 23:18:42 +00:00
|
|
|
class KeenSpot(_BasicScraper):
|
|
|
|
imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)'))
|
|
|
|
_stripPattern = r'([^"]*/d/\d{8}\.html)'
|
|
|
|
prevSearch = (
|
|
|
|
compile(tagre("link", "href", _stripPattern, before="prev")),
|
|
|
|
compile(tagre("a", "href", _stripPattern, after="prev")),
|
|
|
|
compile(tagre("a", "href", _stripPattern) + tagre("img", "id", r"previous_day1")),
|
|
|
|
compile(tagre("a", "href", _stripPattern) + tagre("img", "id", r"katc7")),
|
2012-11-21 20:57:26 +00:00
|
|
|
)
|
2016-05-20 23:18:42 +00:00
|
|
|
help = 'Index format: yyyymmdd'
|
|
|
|
|
|
|
|
def __init__(self, name, sub):
|
|
|
|
super(KeenSpot, self).__init__('KeenSpot/' + name)
|
|
|
|
self.url = 'http://%s.keenspot.com/' % sub
|
|
|
|
self.stripUrl = self.url + 'd/%s.html'
|
2012-06-20 19:58:13 +00:00
|
|
|
|
2016-05-20 23:18:42 +00:00
|
|
|
@classmethod
|
|
|
|
def getmodules(cls):
|
|
|
|
return [
|
|
|
|
# do not edit anything below since these entries are generated from
|
|
|
|
# scripts/update_plugins.sh
|
|
|
|
# DO NOT REMOVE
|
|
|
|
cls('27TwentySeven', 'twenty-seven'),
|
|
|
|
cls('Adventurers', 'adventurers'),
|
|
|
|
cls('AntiheroForHire', 'antihero'),
|
|
|
|
cls('BanzaiGirl', 'banzaigirl'),
|
|
|
|
cls('Barker', 'barkercomic'),
|
|
|
|
cls('Buzzboy', 'buzzboy'),
|
|
|
|
cls('ChoppingBlock', 'choppingblock'),
|
|
|
|
cls('ClichFlamb', 'clicheflambe'),
|
|
|
|
cls('CountYourSheep', 'countyoursheep'),
|
|
|
|
cls('EverythingJake', 'everythingjake'),
|
|
|
|
cls('FallOutToyWorks', 'fallouttoyworks'),
|
|
|
|
cls('FriarAndBrimstone', 'friarandbrimstone'),
|
|
|
|
cls('GeneCatlow', 'genecatlow'),
|
|
|
|
cls('GodMode', 'godmode'),
|
|
|
|
cls('GreenWake', 'greenwake'),
|
|
|
|
cls('HeadTrip', 'headtrip'),
|
|
|
|
cls('HoaxHunters', 'hoaxhunters'),
|
|
|
|
cls('InHere', 'inhere'),
|
|
|
|
cls('Katrina', 'katrina'),
|
|
|
|
cls('Landis', 'landis'),
|
|
|
|
cls('MakeshiftMiracle', 'makeshiftmiracle'),
|
|
|
|
cls('Marksmen', 'marksmen'),
|
|
|
|
cls('MarryMe', 'marryme'),
|
|
|
|
cls('MedusasDaughter', 'medusasdaughter'),
|
|
|
|
cls('MonsterMassacre', 'monstermassacre'),
|
|
|
|
cls('Newshounds', 'newshounds'),
|
|
|
|
cls('NoPinkPonies', 'nopinkponies'),
|
|
|
|
cls('OutThere', 'outthere'),
|
|
|
|
cls('Porcelain', 'porcelain'),
|
|
|
|
cls('QUILTBAG', 'quiltbag'),
|
|
|
|
cls('RedSpike', 'redspike'),
|
|
|
|
cls('RumbleFall', 'rumblefall'),
|
|
|
|
cls('SamuraisBlood', 'samuraisblood'),
|
|
|
|
cls('Sharky', 'sharky'),
|
|
|
|
cls('SomethingHappens', 'somethinghappens'),
|
|
|
|
cls('SoreThumbs', 'sorethumbs'),
|
|
|
|
cls('Striptease', 'striptease'),
|
|
|
|
cls('Superosity', 'superosity'),
|
|
|
|
cls('TheFirstDaughter', 'thefirstdaughter'),
|
|
|
|
cls('TheGodChild', 'godchild'),
|
|
|
|
cls('TheHuntersofSalamanstra', 'salamanstra'),
|
|
|
|
cls('TheLounge', 'thelounge'),
|
|
|
|
cls('WICKEDPOWERED', 'wickedpowered'),
|
|
|
|
]
|