dosage/dosagelib/plugins/smackjeeves.py

41 lines
1.3 KiB
Python
Raw Normal View History

2012-11-21 20:57:26 +00:00
# -*- coding: iso-8859-1 -*-
# Copyright (C) 2004-2005 Tristan Seligmann and Jonathan Jacobs
# Copyright (C) 2012 Bastian Kleineidam
from re import compile
2012-11-26 06:13:32 +00:00
from ..scraper import make_scraper
2012-11-21 20:57:26 +00:00
from ..helpers import bounceStarter
from ..util import tagre
2012-11-26 06:13:32 +00:00
def add(name):
classname = 'SmackJeeves/' + name
2012-11-21 20:57:26 +00:00
# XXX mature content can be viewed directly with:
# http://www.smackjeeves.com/mature.php?ref=<percent-encoded-url>
2012-11-26 06:13:32 +00:00
baseUrl = 'http://%s.smackjeeves.com/comics/' % name
2012-11-21 20:57:26 +00:00
2012-11-26 06:13:32 +00:00
@classmethod
def namer(cls, imageUrl, pageUrl):
return pageUrl.split('/')[-2]
2012-11-21 20:57:26 +00:00
2012-11-26 06:13:32 +00:00
globals()[classname] = make_scraper(classname,
starter=bounceStarter(baseUrl, compile(tagre("a", "href", r'(/comics/\d+/[^"]*)') + '<img[^>]*alt="Next >"')),
stripUrl = baseUrl,
imageSearch = compile(tagre("img", "src", r'(http://www\.smackjeeves\.com/images/uploaded/comics/[^"]*)')),
prevSearch = compile(tagre("a", "href", r'(/comics/\d+/[^"]*)') + '<img[^>]*alt="< Previous"'),
help = 'Index format: nnnn (some increasing number)',
namer = namer,
)
2012-11-21 20:57:26 +00:00
2012-11-26 06:13:32 +00:00
add('20galaxies')
add('axe13')
add('beartholomew')
add('bliss')
add('durian')
add('heard')
add('mpmcomic')
add('nlmo-project')
add('paranoidloyd')
add('thatdreamagain')
add('wowcomics')