From 79d775a8d96e475f70a1580c1c604482d5a2692b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damjan=20Ko=C5=A1ir?= Date: Sat, 16 May 2015 00:15:32 +1200 Subject: [PATCH] adding comicpress scraper --- dosagelib/plugins/comicpress.py | 18 ++++++++++++++++++ dosagelib/plugins/h.py | 10 ---------- dosagelib/scraper.py | 4 ++-- 3 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 dosagelib/plugins/comicpress.py diff --git a/dosagelib/plugins/comicpress.py b/dosagelib/plugins/comicpress.py new file mode 100644 index 000000000..c8c1c40b3 --- /dev/null +++ b/dosagelib/plugins/comicpress.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +from ..scraper import make_scraper, _ParserScraper + +def add(name, url, firstUrl=None, lang=None): + + attrs = dict( + name = name, + url = url, + imageSearch = '//div[@id="comic"]//img', + prevSearch = u'//a[text()="‹ Prev"]', + ) + if lang: + attrs['lang'] = lang + if firstUrl: + attrs['firstUrl'] = url + firstUrl + globals()[name] = make_scraper(name, _ParserScraper, **attrs) + +add('Hipsters', 'http://www.hipsters-comic.com/', 'comic/hip01/') diff --git a/dosagelib/plugins/h.py b/dosagelib/plugins/h.py index 979235e1f..9fd3a6277 100644 --- a/dosagelib/plugins/h.py +++ b/dosagelib/plugins/h.py @@ -58,16 +58,6 @@ class HijinksEnsue(_BasicScraper): help = 'Index format: yyyy/mm/dd/stripname' -class Hipsters(_BasicScraper): - url = 'http://www.hipsters-comic.com/' - rurl = escape(url) - stripUrl = url + '%s/' - firstStripUrl = stripUrl % '2010/08/hip01' - imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+[^"]+)' % rurl)) - prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/[^"]+)' % rurl, after="prev")) - help = 'Index format: yyyy/dd/stripname' - - class HorribleVille(_BasicScraper): url = 'http://horribleville.com/' stripUrl = url + 'd/%s.html' diff --git a/dosagelib/scraper.py b/dosagelib/scraper.py index acc307164..2bc6fddf4 100644 --- a/dosagelib/scraper.py +++ b/dosagelib/scraper.py @@ -509,6 +509,6 @@ def check_scrapers(): d[name] = scraperclass -def make_scraper(classname, **attributes): +def make_scraper(classname, scraperType = _BasicScraper, **attributes): """Make a new scraper class with given name and attributes.""" - return type(classname, (_BasicScraper,), attributes) + return type(classname, (scraperType,), attributes)