From c3078ed855cc42de2aec1aafc274c67d2b51c135 Mon Sep 17 00:00:00 2001 From: Bastian Kleineidam Date: Tue, 10 Dec 2013 19:50:21 +0100 Subject: [PATCH] Added EdmundFinney, Gaia, GaiaGerman, InternetWebcomic, NotInventedHere, RedsPlanet, RomanticallyApocalyptic, ScandinaviaAndTheWorld, TheGamerCat, Weregeek --- doc/changelog.txt | 5 +++++ dosagelib/plugins/e.py | 9 +++++++++ dosagelib/plugins/g.py | 20 ++++++++++++++++++++ dosagelib/plugins/i.py | 11 +++++++++++ dosagelib/plugins/n.py | 9 +++++++++ dosagelib/plugins/r.py | 22 ++++++++++++++++++++++ dosagelib/plugins/s.py | 10 ++++++++++ dosagelib/plugins/t.py | 9 +++++++++ dosagelib/plugins/w.py | 11 +++++++++++ 9 files changed, 106 insertions(+) diff --git a/doc/changelog.txt b/doc/changelog.txt index ff0ba99ee..534265b8d 100644 --- a/doc/changelog.txt +++ b/doc/changelog.txt @@ -2,6 +2,11 @@ Dosage 2.9 (released xx.xx.2013) Features: - events: Ensure maximum aspect ratio on displayed RSS images. +- comics: Added EdmundFinney, Gaia, GaiaGerman, InternetWebcomic, + NotInventedHere, RedsPlanet, RomanticallyApocalyptic, + ScandinaviaAndTheWorld, TheGamerCat, Weregeek. + Thanks to Null000 for the patches. + Closes: GH bug # Dosage 2.8 (released 8.12.2013) diff --git a/dosagelib/plugins/e.py b/dosagelib/plugins/e.py index 884c18cf0..0de9a2fde 100644 --- a/dosagelib/plugins/e.py +++ b/dosagelib/plugins/e.py @@ -56,6 +56,15 @@ class EdibleDirt(_BasicScraper): prevSearch = compile(tagre("a", "href", r"(index\.php\?id=\d+)")+"Previous") help = 'Index format: number' +class EdmundFinney(_BasicScraper): + description = u"Edmund Finney's Quest to Find the Meaning of Life" + url = 'http://eqcomics.com/' + rurl = escape(url) + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2009/03/08/sunday-aliens' + imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+-[^"/]+)' % rurl)) + prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"/]+/)' % rurl, after="navi navi-prev")) + help = 'Index format: yyyy/mm/dd/stripname' class EerieCuties(_BasicScraper): url = 'http://www.eeriecuties.com/' diff --git a/dosagelib/plugins/g.py b/dosagelib/plugins/g.py index c931d33d2..061614a85 100644 --- a/dosagelib/plugins/g.py +++ b/dosagelib/plugins/g.py @@ -8,6 +8,26 @@ from ..scraper import _BasicScraper from ..helpers import indirectStarter from ..util import tagre +class Gaia(_BasicScraper): + description = u'Gaia, a story about the nature of reality, and the answer to Lilith?s simple, meek, world-shattering question: ?Will you come along??' + url = 'http://www.sandraandwoo.com/gaia/' + rurl = escape(url) + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2000/01/01/welcome-to-gaia/' + imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+-[^"]+)' % rurl)) + prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+/)' % rurl, after="prev")) + help = 'Index format: yyyy/mm/dd/number-stripname' + +class GaiaGerman(_BasicScraper): + description = u'Gaia, eine Geschichte über das Wesen der Wirklichkeit und die Antwort auf Liliths einfache, bescheidene, welterschütternde Frage: ?Kommt ihr mit??' + url = 'http://www.sandraandwoo.com/gaiade/' + rurl = escape(url) + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2000/01/01/welcome-to-gaia/' + imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+-[^"]+)' % rurl)) + prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+/)' % rurl, after="prev")) + help = 'Index format: yyyy/mm/dd/number-stripname' + lang = 'de' class Galaxion(_BasicScraper): description = u'Galaxion - Life. Love. Hyperspace.' diff --git a/dosagelib/plugins/i.py b/dosagelib/plugins/i.py index b1064ab8d..4bda675ab 100644 --- a/dosagelib/plugins/i.py +++ b/dosagelib/plugins/i.py @@ -38,6 +38,17 @@ class IDreamOfAJeanieBottle(_BasicScraper): help = 'Index format: n (unpadded)' +class InternetWebcomic(_BasicScraper): + description = u"Internet Webcomic" + url = 'http://www.internet-webcomic.com/' + rurl = escape(url) + stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '30' + imageSearch = compile(tagre("img", "src", r'(%scomics/[^"/]+)' % rurl)) + prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="navi navi-prev")) + help = 'Index format: n' + + class IrregularWebcomic(_BasicScraper): url = 'http://www.irregularwebcomic.net/' stripUrl = url + '%s.html' diff --git a/dosagelib/plugins/n.py b/dosagelib/plugins/n.py index dcae95739..1781250b9 100644 --- a/dosagelib/plugins/n.py +++ b/dosagelib/plugins/n.py @@ -163,6 +163,15 @@ class NoNeedForBushido(_BasicScraper): starter = indirectStarter(url, compile(tagre("a", "href", r'(%s\?webcomic1=[^"]+)' % rurl, after="last-webcomic"))) +class NotInventedHere(_BasicScraper): + description = u'Not Invented Here' + url = 'http://notinventedhe.re/' + rurl = escape(url) + stripUrl = url + '%s/' + firstStripUrl = stripUrl % 'on/2009-9-21' + imageSearch = compile(tagre("img", "src", r'(http://thiswas.notinventedhe.re/on/\d+-\d+-\d+)')) + prevSearch = compile(tagre("a", "href", r'(/on/\d+-\d+-\d+)')+'\s*Previous') + help = 'Index format: yyyy-mm-dd' class Nukees(_BasicScraper): description = u'Nukees, The Atomic Comic Strip' diff --git a/dosagelib/plugins/r.py b/dosagelib/plugins/r.py index 6f104e24b..00db6dee6 100644 --- a/dosagelib/plugins/r.py +++ b/dosagelib/plugins/r.py @@ -49,6 +49,16 @@ class RedMeat(_BasicScraper): def namer(cls, imageUrl, pageUrl): return imageUrl.split('/')[-2] +class RedsPlanet(_BasicScraper): + description = u"Red's Planet" + url = 'http://www.redsplanet.com/comic/' + rurl = escape(url) + stripUrl = url + 'rp/%s/' + firstStripUrl = stripUrl % 'pro/prologue-01' + imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+_[^"/]+)' % rurl)) + prevSearch = compile(tagre("a", "href", r'(%srp/[^"/]+/[^"/]+/)' % rurl)) + help = 'Index format: chapter/stripname' + class RedString(_BasicScraper): description = u'A web comics about love and growing up. Art by Gina Biggs.' @@ -60,6 +70,18 @@ class RedString(_BasicScraper): help = 'Index format: nnn' +class RomanticallyApocalyptic(_BasicScraper): + description = u'Romantically Apocalyptic' + url = 'http://romanticallyapocalyptic.com/' + rurl = escape(url) + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '1' + imageSearch = compile(tagre("img", "src", r'(%sart/\d+[^"]+)' % rurl)) + prevSearch = compile(tagre("a", "href", r'(%s\d+[^"]+)' % rurl)+"\s*"+tagre('span', 'class', 'spritePrevious')) + help = 'Index format: n' + adult = True + + class Roza(_BasicScraper): url = 'http://www.junglestudio.com/roza/index.php' stripUrl = url + '?date=%s' diff --git a/dosagelib/plugins/s.py b/dosagelib/plugins/s.py index 05f03c5ff..159ff016e 100644 --- a/dosagelib/plugins/s.py +++ b/dosagelib/plugins/s.py @@ -79,6 +79,16 @@ class SandraOnTheRocks(_BasicScraper): prevSearch = compile(tagre("a", "href", r'([^"]*/strips-sotr/[^"]+)', before="cn[id]prev")) help = 'Index format: name' +class ScandinaviaAndTheWorld(_BasicScraper): + description = u'Scandinavia and the World' + url = 'http://satwcomic.com/' + rurl = escape(url) + stripUrl = url + '%s/' + firstStripUrl = stripUrl % 'sweden-denmark-and-norway' + imageSearch = compile(tagre("img", "src", r'(%sart/[^"/]+)' % rurl)) + prevSearch = compile(tagre("a", "href", r'(%s[^"/]+)' % rurl)+"\s*"+tagre('span', 'class', 'spritePrevious')) + help = 'Index format: stripname' + class ScaryGoRound(_BasicScraper): url = 'http://www.scarygoround.com/' stripUrl = url + '?date=%s' diff --git a/dosagelib/plugins/t.py b/dosagelib/plugins/t.py index 59563a6f5..52e78a1a2 100644 --- a/dosagelib/plugins/t.py +++ b/dosagelib/plugins/t.py @@ -49,6 +49,15 @@ class TheDreamlandChronicles(_BasicScraper): bp[2] = bp[2][:-1] return "%s-%s-%s.%s" % (bp[0], bp[1], bp[2], ext) +class TheGamerCat(_BasicScraper): + description = u"The Gamer Cat" + url = 'http://www.thegamercat.com/' + rurl = escape(url) + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2011/06/06102011' + imageSearch = compile(tagre("img", "src", r'(%swordpress/comics/[^"/]+)' % rurl)) + prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/[^"/]+/)' % rurl , after="navi navi-prev")) + help = 'Index format: yyyy/mm/mmddyyyy' class TheNoob(_BasicScraper): url = 'http://www.thenoobcomic.com/index.php' diff --git a/dosagelib/plugins/w.py b/dosagelib/plugins/w.py index 20ec1f9b5..93c34fc4c 100644 --- a/dosagelib/plugins/w.py +++ b/dosagelib/plugins/w.py @@ -75,6 +75,17 @@ class WeCanSleepTomorrow(_BasicScraper): help = 'Index format: yyyy/mm/dd/stripname' +class Weregeek(_BasicScraper): + description = u'Weregeek' + url = 'http://www.weregeek.com/' + rurl = escape(url) + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2006/11/27/' + imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+[^"]+)' % rurl)) + prevSearch = compile(tagre("a", "href", r'((%s)?(/)?\d+/\d+/\d+/)'% rurl)+'\s*'+ tagre('img', 'src', '[^"]*previous_day.gif')) + help = 'Index format: yyyy/mm/dd' + + class WhiteNinja(_BasicScraper): baseUrl = 'http://www.whiteninjacomics.com/' url = baseUrl + 'comics.shtml'