diff --git a/dosagelib/plugins/a.py b/dosagelib/plugins/a.py index e097eddbc..1404871bc 100644 --- a/dosagelib/plugins/a.py +++ b/dosagelib/plugins/a.py @@ -74,9 +74,12 @@ class AetheriaEpics(_BasicScraper): class AfterStrife(_BasicScraper): - url = 'http://afterstrife.com/?p=262' - stripUrl = 'http://afterstrife.com/?p=%s' - imageSearch = compile(r'") help = 'Index format: yyyy/mm/strip-name' @@ -199,16 +205,17 @@ class AlsoBagels(_BasicScraper): class Altermeta(_BasicScraper): url = 'http://altermeta.net/' + rurl = escape(url) stripUrl = url + 'archive.php?comic=%s' firstStripUrl = stripUrl % '0' imageSearch = compile(r'') - prevSearch = compile(r'Back') @@ -227,6 +234,7 @@ class Amya(_BasicScraper): url = 'http://www.amyachronicles.com/' rurl = escape(url) stripUrl = url + 'archives/%s' + firstStripUrl = stripUrl % '117' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%sarchives/\d+)' % rurl, after="Previous")) help = 'Index format: n' @@ -250,10 +258,12 @@ class Angels2200(_BasicScraper): class Annyseed(_BasicScraper): - url = 'http://www.colourofivy.com/annyseed_webcomic_latest.htm' - stripUrl = 'http://www.colourofivy.com/annyseed_webcomic%s.htm' + baseurl = 'http://www.colourofivy.com/' + rurl = escape(baseurl) + url = baseurl + 'annyseed_webcomic_latest.htm' + stripUrl = baseurl + 'annyseed_webcomic%s.htm' imageSearch = compile(tagre("img", "src", r'(Annyseed[^"]+)')) - prevSearch = compile(r'') help = 'Index format: yyyy-mm-dd' @@ -181,10 +182,11 @@ class BobWhite(_BasicScraper): class BookOfBiff(_BasicScraper): url = 'http://www.thebookofbiff.com/' - stripUrl = url + '%s' + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2006/01/02/4' imageSearch = compile(tagre("img", "src", r'([^"]+/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'([^"]+)', after="Previous")) - help = 'Index format: yyyy/mm/dd/stripnum-strip-name' + help = 'Index format: yyyy/mm/dd/stripnum-stripname' class BoredAndEvil(_BasicScraper): @@ -287,6 +289,7 @@ class Brink(_BasicScraper): url = 'http://paperfangs.com/brink/' rurl = escape(url) stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '5' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) help = 'Index format: number' diff --git a/dosagelib/plugins/c.py b/dosagelib/plugins/c.py index 3179c4957..45deec972 100644 --- a/dosagelib/plugins/c.py +++ b/dosagelib/plugins/c.py @@ -23,6 +23,7 @@ class CaptainSNES(_BasicScraper): url = 'http://www.captainsnes.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2001/07/10/the-mistake' imageSearch = compile(tagre("img", "src", r"(%scomics/[^']+)" % rurl, quote="'")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl) + tagre("span", "class", "prev")) multipleImagesPerStrip = True @@ -61,16 +62,20 @@ class Catalyst(_BasicScraper): class CatAndGirl(_BasicScraper): url = 'http://catandgirl.com/' + rurl = escape(url) stripUrl = url + '?p=%s' - imageSearch = compile(tagre("img", "src", r'(http://catandgirl\.com/archive/[^"]+)')) + firstStripUrl = stripUrl % '1602' + imageSearch = compile(tagre("img", "src", r'(%sarchive/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'([^"]+)')+r"[^<]+Previous") help = 'Index format: n (unpadded)' class Catena(_BasicScraper): url = 'http://catenamanor.com/' - stripUrl = url + '%s' - imageSearch = compile(tagre("img", "src", r'(http://catenamanor\.com/comics/[^"]+)')) + rurl = escape(url) + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2003/06/17/the-start-of-it-all' + imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'([^"]+)', after='rel="prev"')) help = 'Index format: yyyy/mm/dd/' @@ -89,6 +94,7 @@ class ChainsawSuit(_BasicScraper): url = 'http://chainsawsuit.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2008/03/12/strip-338' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="prev")) help = 'Index format: yyyy/mm/dd/stripname' @@ -100,6 +106,7 @@ class Champ2010(_BasicScraper): # the latest URL is hard coded since the comic is discontinued url = baseurl + 'champ-12-30-10.html' stripUrl = baseurl + '%s.html' + firstStripUrl = stripUrl % 'champ1-1-10-fuck' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="Previous")) help = 'Index format: yy-dd-mm' @@ -117,6 +124,7 @@ class ChannelAte(_BasicScraper): class ChasingTheSunset(_BasicScraper): url = 'http://www.fantasycomic.com/' stripUrl = url + 'index.php?p=c%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(r'(/cmsimg/.+?)".+?comic-img') prevSearch = compile(r']+/images/(?:nav_02|previous_day)\.gif") help='Index format: yyyymmdd' @@ -133,6 +142,7 @@ class CheckerboardNightmare(_BasicScraper): class Chester5000XYV(_BasicScraper): url = 'http://jessfink.com/Chester5000XYV/' stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '34' imageSearch = compile(tagre("img", "src", r'(http://jessfink\.com/Chester5000XYV/comics/[^"]+)')) prevSearch = compile(r'') help = 'Index format: nnn' @@ -140,7 +150,8 @@ class Chester5000XYV(_BasicScraper): class Chisuji(_BasicScraper): url = 'http://www.chisuji.com/' - stripUrl = url + '%s' + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2009/05/02/chisujiposter01' imageSearch = compile(r'') help = 'Index format: yyyy/mm/dd/strip-name' @@ -152,6 +163,7 @@ class Chucklebrain(_BasicScraper): compile(tagre("a", "href", r'(/main\.php\?img\=\d+)', quote="'") + tagre("img", "src", r'/images/last\.jpg', quote="'"))) stripUrl = url + '?img=%s' + firstStripUrl = stripUrl % '19' imageSearch = compile(tagre("img", "src", r'(/images/strip[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/main\.php\?img\=\d+)', quote="'") + tagre("img", "src", r'/images/previous\.jpg', quote="'")) @@ -161,6 +173,7 @@ class Chucklebrain(_BasicScraper): class ChugworthAcademy(_BasicScraper): url = 'http://chugworth.com/' stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '12' imageSearch = compile(r'Comic')
     prevSearch = compile(r'<a href=]+?title="Previous">') help = 'Index format: n (unpadded)' @@ -169,6 +182,7 @@ class ChugworthAcademy(_BasicScraper): class ChugworthAcademyArchive(_BasicScraper): url = 'http://chugworth.com/archive/?strip_id=422' stripUrl = 'http://chugworth.com/archive/?strip_id=%s' + firstStripUrl = stripUrl % '0' imageSearch = compile(r' *\"Prior') + baseurl = 'http://www.caf-fiends.net/' + rurl = escape(baseurl) + stripUrl = baseurl + 'craftedfables/?p=%s' + imageSearch = compile(tagre("img", "src", r'(%scraftedfables/comics/[^"]+)' % rurl)) + prevSearch = compile(tagre("a", "href", r'(%scraftedfables/[^"]+)' % rurl) + + tagre("span", "class", r"prev")) help = 'Index format: nnn' @@ -320,6 +347,7 @@ class CucumberQuest(_BasicScraper): class Curvy(_BasicScraper): url = 'http://www.c.urvy.org/' stripUrl = url + '?date=%s' + firstStripUrl = stripUrl % '20080329' imageSearch = compile(tagre("img", "src", r'(/c/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/\?date=\d+)') + tagre("img", "src", "/nav/prev\.png")) @@ -339,6 +367,7 @@ class CyanideAndHappiness(_BasicScraper): url = 'http://www.explosm.net/comics/' starter = bounceStarter(url, compile(tagre("a", "href", r"(/comics/\d+/)", before="next"))) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '15' imageSearch = compile(tagre("img", "src", r'(http://(?:www\.)?explosm\.net/db/files/[^"]+)', before="a daily webcomic")) prevSearch = compile(tagre("a", "href", r'(/comics/\d+/)', before="prev")) help = 'Index format: n (unpadded)' diff --git a/dosagelib/plugins/d.py b/dosagelib/plugins/d.py index fd356ae32..9fbefbaee 100644 --- a/dosagelib/plugins/d.py +++ b/dosagelib/plugins/d.py @@ -44,6 +44,7 @@ class DamnLol(_BasicScraper): class Damonk(_BasicScraper): url = 'http://www.damonk.com/' stripUrl = url + 'd/%s.html' + firstStripUrl = stripUrl % '20060522' imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/d/\d+\.html)') + tagre("img", "src", r'/images/previous_day\.gif')) @@ -63,6 +64,7 @@ class _DandyAndCompany(_BasicScraper): class DangerouslyChloe(_BasicScraper): url = 'http://www.dangerouslychloe.com/' stripUrl = url + 'strips-dc/%s' + firstStripUrl = stripUrl % 'chapter_1_-_that_damned_girl' imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'([^"]*/strips-dc/[^"]+)', before="cn[id]prevt")) help = 'Index format: name' @@ -71,7 +73,8 @@ class DangerouslyChloe(_BasicScraper): class DarkWings(_BasicScraper): url = 'http://www.flowerlarkstudios.com/dark-wings/' rurl = escape(url) - stripUrl = url + '%s' + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2008/05/31/page-i' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev")) help = 'Index format: yyyy/mm/dd/page-nn-mm' @@ -101,6 +104,7 @@ class DeadWinter(_BasicScraper): class DeathToTheExtremist(_BasicScraper): url = 'http://www.dtecomic.com/' stripUrl = url + '?n=%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(r'"(comics/.*?)"') prevSearch = compile(r' <.+?/aprev.gif"') help = 'Index format: nnn' @@ -109,10 +113,11 @@ class DeathToTheExtremist(_BasicScraper): class DeepFried(_BasicScraper): url = 'http://www.whatisdeepfried.com/' rurl = escape(url) - stripUrl = url + '%s' + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2001/09/16/new-world-out-of-order' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) - help = 'Index format: non' + help = 'Index format: none' class DemolitionSquad(_BasicScraper): @@ -145,6 +150,7 @@ class DerTodUndDasMaedchen(_BasicScraper): class DieselSweeties(_BasicScraper): url = 'http://www.dieselsweeties.com/' stripUrl = url + 'archive/%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(/hstrips/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/archive/\d+)') + tagre("img", "src", r'(?:http://www\.dieselsweeties\.com/ximages/blackbackarrow160.png|/ximages/prev\.gif)')) @@ -176,6 +182,7 @@ class Dilbert(_BasicScraper): class DMFA(_BasicScraper): url = 'http://www.missmab.com/' stripUrl = url + 'Comics/Vol_%s.php' + firstStripUrl = stripUrl % '001' imageSearch = compile(tagre("img", "src", r'((?:Comics/|Vol)[^"]+)')) multipleImagesPerStrip = True prevSearch = compile(tagre("a", "href", r'((?:Comics/)?Vol[^"]+)')+ @@ -195,6 +202,7 @@ class DogHouseDiaries(_BasicScraper): url = 'http://thedoghousediaries.com/' rurl = escape(url) stripUrl = url + '%s' + firstStripUrl = stripUrl % '4827' prevSearch = compile(tagre("a", "href", r'(%s\d+)' % rurl, after="previous-comic")) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) help = 'Index format: number' @@ -203,6 +211,7 @@ class DogHouseDiaries(_BasicScraper): class DominicDeegan(_BasicScraper): url = 'http://www.dominic-deegan.com/' stripUrl = url + 'view.php?date=%s' + firstStripUrl = stripUrl % '2002-05-21' imageSearch = compile(tagre("img", "src", r'(comics/[^"]+)')) prevSearch = compile(r'"(view.php\?date=[^"]+)".+?prev21') help = 'Index format: yyyy-mm-dd' @@ -212,24 +221,16 @@ class DorkTower(_BasicScraper): url = 'http://www.dorktower.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '1997/01/01/shadis-magazine-strip-1' imageSearch = compile(tagre("img", "src", r'(%sfiles/\d+/\d+/DorkTower[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl)+"Previous") help = 'Index format: yyyy/mm/dd/stripname-dd-mm-yy' -class DrFun(_BasicScraper): - baseurl = 'http://www.ibiblio.org/Dave/' - url = baseurl + 'ar00502.htm' - stripUrl = baseurl + 'ar%s.htm' - imageSearch = compile(r'') - multipleImagesPerStrip = True - prevSearch = compile(r'Previous Week,') - help = 'Index format: nnnnn' - - class Dracula(_BasicScraper): url = 'http://draculacomic.net/' stripUrl = url + 'comic.php?comicID=%s' + firstStripUrl = stripUrl % '0' imageSearch = compile(tagre("img", "src", r'(comics/[^"]+)')) prevSearch = compile(r' « Prev') help = 'Index format: nnn' @@ -247,12 +248,25 @@ class DresdenCodak(_BasicScraper): url = 'http://dresdencodak.com/' rurl = escape(url) stripUrl = None + firstStripUrl = url + '2007/02/08/pom/' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) - prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl) + tagre("img", "src", r"%sm_prev\.png" % rurl)) + prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl) + + tagre("img", "src", r"%sm_prev2?\.png" % rurl)) starter = indirectStarter(url, compile(tagre("div", "id", "preview") + tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl))) +class DrFun(_BasicScraper): + baseurl = 'http://www.ibiblio.org/Dave/' + url = baseurl + 'ar00502.htm' + stripUrl = baseurl + 'ar%s.htm' + firstStripUrl = stripUrl % '00001' + imageSearch = compile(tagre("a", "href", r'(Dr-Fun/df\d+/df[^"]+)')) + multipleImagesPerStrip = True + prevSearch = compile(tagre("a", "href", r'([^"]+)') + 'Previous Week,') + help = 'Index format: nnnnn' + + class DrMcNinja(_BasicScraper): url = 'http://drmcninja.com/' rurl = escape(url) @@ -266,6 +280,7 @@ class DrMcNinja(_BasicScraper): class Drowtales(_BasicScraper): url = 'http://www.drowtales.com/mainarchive.php' stripUrl = url + '?sid=%s' + firstStripUrl = stripUrl % '4192' imageSearch = compile(tagre("img", "src", r'(http://www\.drowtales\.com/mainarchive/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(\?sid=\d+)', before="link_prev_top")) help = 'Index format: number' diff --git a/dosagelib/plugins/e.py b/dosagelib/plugins/e.py index e2219992f..0c56cb3b7 100644 --- a/dosagelib/plugins/e.py +++ b/dosagelib/plugins/e.py @@ -13,6 +13,7 @@ class EarthsongSaga(_BasicScraper): url = 'http://www.earthsongsaga.com/' starter = indirectStarter(url, compile(tagre("a", "href", r'([^"]+)') + tagre("img", "src", r'[^"]+current\.jpg'))) stripUrl = None + firstStripUrl = url + 'vol1/vol1cover.html' imageSearch = compile(tagre("img", "src", r'((?:\.\./)?images/vol\d+/ch\d+/\d+\.\w+)')) prevSearch = compile(tagre("a", "href", r'([^"]+)', after="Previous")) @@ -25,6 +26,7 @@ class EarthsongSaga(_BasicScraper): class EdibleDirt(_BasicScraper): url = 'http://eddirt.frozenreality.co.uk/' stripUrl = url + 'index.php?id=%s' + firstStripUrl = stripUrl % '0' imageSearch = compile(tagre("img", "src", r'(strips/[^"]+)')) prevSearch = compile(tagre("a", "href", r"(index\.php\?id=\d+)")+"Previous") help = 'Index format: number' @@ -50,6 +52,7 @@ class Eriadan(_BasicScraper): class ElfOnlyInn(_BasicScraper): url = 'http://www.elfonlyinn.net/' stripUrl = url + 'd/%s.html' + firstStripUrl = stripUrl % '20020523' imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/d/\d+\.html)') + tagre("img", "src", r'/images/previous_day\.gif')) @@ -78,6 +81,7 @@ class Ellerbisms(_BasicScraper): url = 'http://www.ellerbisms.com/' rurl = escape(url) stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '15' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) help = 'Index format: nnn' @@ -86,6 +90,7 @@ class Ellerbisms(_BasicScraper): class EmergencyExit(_BasicScraper): url = 'http://www.eecomics.net/' stripUrl = url + "?strip_id=%s" + firstStripUrl = stripUrl % '1' imageSearch = compile(r'"(comics/.+?)"') prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') + tagre("img", "alt", r"Prior")) help = 'Index format: n' @@ -100,17 +105,10 @@ class _ErrantStory(_BasicScraper): help = 'Index format: yyyy-mm-dd/num' -class Evercrest(_BasicScraper): - url = 'http://www.evercrest.com/archives/20030308' - stripUrl = 'http://www.evercrest.com/archives/%s' - imageSearch = compile(r'< Previous') - help = 'Index format: yyyymmdd' - - class EverybodyLovesEricRaymond(_BasicScraper): url = 'http://geekz.co.uk/lovesraymond/' stripUrl = url + 'archive/%s' + firstStripUrl = stripUrl % 'slashdotted' imageSearch = compile(r'') help = 'Index format: name-of-old-comic' @@ -130,13 +128,16 @@ class EverydayBlues(_BasicScraper): class EvilDiva(_BasicScraper): url = 'http://www.evildivacomics.com/' stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '145' imageSearch = compile(r'(/comics/.+?)"') prevSearch = compile(r'http.+?com/(.+?)".+?"prev') help = 'Index format: n (unpadded)' + class EvilInc(_BasicScraper): url = 'http://www.evil-comic.com/' stripUrl = url + 'archive/%s.html' + firstStripUrl = stripUrl % '20050530' imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'([^"]+)') + tagre("img", "src", r'/images/previous\.gif')) help = 'Index format: yyyymmdd' @@ -146,6 +147,7 @@ class Exiern(_BasicScraper): url = 'http://www.exiern.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2005/09/06/so-far' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) help = 'Index format: yyyy/mm/dd/stripname' @@ -155,6 +157,7 @@ class ExploitationNow(_BasicScraper): url = 'http://www.exploitationnow.com/' rurl = escape(url) stripUrl = url + '%s' + firstStripUrl = stripUrl % '2000-07-07/9' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev")) help = 'Index format: yyyy-mm-dd/num' diff --git a/dosagelib/plugins/f.py b/dosagelib/plugins/f.py index 4b34e7d86..f664649dd 100644 --- a/dosagelib/plugins/f.py +++ b/dosagelib/plugins/f.py @@ -12,6 +12,7 @@ from ..helpers import indirectStarter class FalconTwin(_BasicScraper): url = 'http://www.falcontwin.com/' stripUrl = url + 'index.html?strip=%s' + firstStripUrl = stripUrl % '0' imageSearch = compile(r'"(strips/.+?)"') prevSearch = compile(r'"prev">Previous Strip') help = 'Index format: nnn' @@ -70,6 +72,7 @@ class FilibusterCartoons(_BasicScraper): url = 'http://www.filibustercartoons.com/' rurl = escape(url) stripUrl = url + 'index.php/%s' + firstStripUrl = stripUrl % '2001/06/28/poor-jean' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) help = 'Index format: yyyy/mm/dd/name' @@ -89,6 +92,7 @@ class FlakyPastry(_BasicScraper): baseurl = 'http://flakypastry.runningwithpencils.com/' url = baseurl + 'index.php' stripUrl = baseurl + 'comic.php?strip_id=%s' + firstStripUrl = stripUrl % '0' imageSearch = compile(r']).+?(/footloose/.+?)".+?(?:prev)') help = 'Index format: n (unpadded)' @@ -160,7 +166,8 @@ class Freefall(_BasicScraper): class FredoAndPidjin(_BasicScraper): url = 'http://www.pidjin.net/' - stripUrl = None + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2006/02/19/goofy-monday' help = 'Index format: yyyy/mm/dd/name' imageSearch = compile(tagre('img', 'src', '(http://cdn\.pidjin\.net/wp-content/uploads/\d+/\d+/[^"]+\.png)')) multipleImagesPerStrip = True @@ -182,6 +189,7 @@ class FullFrontalNerdity(_BasicScraper): class FunInJammies(_BasicScraper): url = 'http://www.funinjammies.com/' stripUrl = url + 'comic.php?issue=%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(r'(/comics/.+?)"') prevSearch = compile(r'(/comic.php.+?)" id.+?prev') help = 'Index format: n (unpadded)' diff --git a/dosagelib/plugins/g.py b/dosagelib/plugins/g.py index 706497bf7..bc4399639 100644 --- a/dosagelib/plugins/g.py +++ b/dosagelib/plugins/g.py @@ -13,6 +13,7 @@ class Galaxion(_BasicScraper): url = 'http://galaxioncomics.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '1-comic/the-story-so-far/the-story-so-far' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) help = 'Index format: n-comic/book-n/chapter-n/title-nnn' @@ -27,12 +28,13 @@ class Garanos(_BasicScraper): stripUrl = baseurl + 'pages/page-%s' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%spages/[^"]+)' % rurl, after="prev")) - help = 'Index format: n (unpadded)' + help = 'Index format: n (unpadded)' class GastroPhobia(_BasicScraper): url = 'http://www.gastrophobia.com/' stripUrl = url + 'index.php?date=%s' + firstStripUrl = stripUrl % '2008-07-30' imageSearch = compile(r']*>(?!
)') prevSearch = compile(r'
« Previous') help = 'Index format: nnn' @@ -49,6 +52,7 @@ class Geeks(_BasicScraper): class GeeksNextDoor(_BasicScraper): url = 'http://www.geeksnextcomic.com/' stripUrl = url + '%s.html' + firstStripUrl = stripUrl % '2010-10-04' imageSearch = compile(tagre("img", "src", r'(images/GND\d+[^"]+)')) prevSearch = compile(tagre("a", "href", r'(\d+-\d+-\d+\.html)') + tagre("img", "src", r'images/nav_prev\.png')) @@ -57,15 +61,21 @@ class GeeksNextDoor(_BasicScraper): class GirlsWithSlingshots(_BasicScraper): url = 'http://www.girlswithslingshots.com/' - stripUrl = url + 'comic/gws-%s/' - imageSearch = compile(tagre("img", "src", r'(http://(?:www|cdn)\.girlswithslingshots\.com/comics/[^"]+)')) - prevSearch = compile(tagre("a", "href", r'(http://www\.girlswithslingshots\.com/comic/[^"]+)', after="prev")) + rurl = escape(url) + stripUrl = url + 'comic/gws%s/' + firstStripUrl = stripUrl % '1' + imageSearch = ( + compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)), + compile(tagre("img", "src", r'(http://cdn\.girlswithslingshots\.com/comics/[^"]+)')), + ) + prevSearch = compile(tagre("a", "href", r'(%s/comic/[^"]+)' % rurl, after="prev")) help = 'Index format: nnn' class GlassHalfEmpty(_BasicScraper): url = 'http://www.defectivity.com/ghe/index.php' stripUrl = url + '?strip_id=%s' + firstStripUrl = stripUrl % '0' imageSearch = compile(r'src="(comics/.+?)"') prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') + tagre("img", "src", r'\.\./images/arrowbuttons/onback\.jpg')) help = 'Index format: nnn' @@ -75,6 +85,7 @@ class GleefulNihilism(_BasicScraper): url = 'http://gleefulnihilism.com/' rurl = escape(url) stripUrl = url + 'comics/%s/' + firstStripUrl = stripUrl % '2008/10/20/amoeba' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%scomics/[^"]+)' % rurl) + 'Previous') help = 'Index format: yyyy/mm/dd/stripname' @@ -83,6 +94,7 @@ class GleefulNihilism(_BasicScraper): class Goats(_BasicScraper): url = 'http://www.goats.com/' stripUrl = url + 'archive/%s.html' + firstStripUrl = stripUrl % '970401' imageSearch = compile(r'') help = 'Index format: yymmdd' @@ -103,6 +115,7 @@ class GoneWithTheBlastwave(_BasicScraper): starter = indirectStarter(url, compile(r'href="(index.php\?p=comic&nro=\d+)">') prevSearch = compile(r'Previous ') help = 'Index format: nnn' @@ -53,6 +57,7 @@ class IrregularWebcomic(_BasicScraper): class ItsWalky(_BasicScraper): url = 'http://www.itswalky.com/' stripUrl = url + 'd/%s.html' + firstStripUrl = stripUrl % '19970908' imageSearch = compile(tagre("img", "src", r'(/comic[s|/][^"]+)')) prevSearch = compile(tagre("a", "href", r'[^"]*(/d/\d+\.s?html)')+r"[^>]+/images/(?:nav_02|previous_day)\.gif") help = 'Index format: yyyymmdd' diff --git a/dosagelib/plugins/j.py b/dosagelib/plugins/j.py index 9175341a4..e94fcf7d0 100644 --- a/dosagelib/plugins/j.py +++ b/dosagelib/plugins/j.py @@ -11,6 +11,7 @@ class JackCannon(_BasicScraper): url = 'http://fancyadventures.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2008/07/07/2008-07-08' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) help = 'Index format: yyyy/mm/dd/page-nnn' @@ -19,6 +20,7 @@ class JackCannon(_BasicScraper): class JerkCity(_BasicScraper): url = 'http://www.jerkcity.com/' stripUrl = url + '_jerkcity%s.html' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(/jerkcity[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/_jerkcity[^"]+)') + r'<<Previous') help = 'Index format: n' @@ -35,6 +37,7 @@ class JoeAndMonkey(_BasicScraper): class JohnnyWander(_BasicScraper): url = 'http://www.johnnywander.com/' stripUrl = url + 'comics/%s' + firstStripUrl = stripUrl % '423' imageSearch = compile(tagre("img", "src", r'(http://www\.johnnywander\.com/files/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/comics/\d+)') + r'prev') help = 'Index format: nnn' diff --git a/dosagelib/plugins/k.py b/dosagelib/plugins/k.py index cab762695..a38eaaea5 100644 --- a/dosagelib/plugins/k.py +++ b/dosagelib/plugins/k.py @@ -73,6 +73,7 @@ class _Kofightclub(_BasicScraper): class Krakow(_BasicScraper): url = 'http://www.krakow.krakowstudios.com/' stripUrl = url + 'archive.php?date=%s' + firstStripUrl = stripUrl % '20081111' imageSearch = compile(r'') help = 'Index format: yyyy/mm/dd/num-name' @@ -41,6 +43,7 @@ class Lint(_BasicScraper): class LittleGamers(_BasicScraper): url = 'http://www.little-gamers.com/' stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2000/12/01/99' imageSearch = compile(tagre("img", "src", r'(http://little-gamers\.com/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(http://www\.little-gamers\.com/[^"]+)', before="comic-nav-prev-link")) help = 'Index format: yyyy/mm/dd/name' @@ -60,8 +63,10 @@ class LookingForGroup(_BasicScraper): url = 'http://www.lfgcomic.com/' rurl = escape(url) stripUrl = url + 'page/%s/' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(http://cdn\.lfgcomic\.com/wp-content/uploads/[^"]+)')) - prevSearch = compile(tagre("a", "href", r'(%spage/\d+/)' % rurl, after="navtop-prev")) - starter = indirectStarter(url, compile(tagre("a", "href", r'(%spage/\d+/)' % rurl, after="feature-previous"))) - nameSearch = compile(r'/page/(\d+)/') + prevSearch = compile(tagre("a", "href", r'(%spage/[-0-9]+/)' % rurl, after="navtop-prev")) + starter = indirectStarter(url, + compile(tagre("a", "href", r'(%spage/[-0-9]+/)' % rurl, after="feature-previous"))) + nameSearch = compile(r'/page/([-0-9]+)/') help = 'Index format: nnn' diff --git a/dosagelib/plugins/m.py b/dosagelib/plugins/m.py index 4d1e5b02d..ed0f5cbc3 100644 --- a/dosagelib/plugins/m.py +++ b/dosagelib/plugins/m.py @@ -8,6 +8,15 @@ from ..scraper import _BasicScraper from ..util import tagre +class MacHall(_BasicScraper): + url = 'http://www.machall.com/' + stripUrl = url + 'view.php?date=%s' + firstStripUrl = stripUrl % '2000-11-07' + imageSearch = compile(r']+?src=\'drop_shadow/previous.gif\'>') + help = 'Index format: yyyy-mm-dd' + + # broken links - disable for now class _MadamAndEve(_BasicScraper): url = 'http://www.madamandeve.co.za/week_of_cartns.php' @@ -19,6 +28,7 @@ class _MadamAndEve(_BasicScraper): class MagickChicks(_BasicScraper): url = 'http://www.magickchicks.com/' stripUrl = url + 'strips-mc/%s' + firstStripUrl = stripUrl % 'tis_but_a_trifle' imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'([^"]*/strips-mc/[^"]+)', before="cn[id]prevt")) help = 'Index format: name' @@ -28,6 +38,7 @@ class ManlyGuysDoingManlyThings(_BasicScraper): url = 'http://thepunchlineismachismo.com/' rurl = escape(url) stripUrl = url + 'archives/comic/%s' + firstStripUrl = stripUrl % '02222010' imageSearch = compile(tagre("img", "src", r'(%swp-content/uploads/\d+/\d+/\d+-\d+-\d+[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%sarchives/comic/[^"]+)' % rurl, after="previous")) help = 'Index format: ddmmyyyy' @@ -36,6 +47,7 @@ class ManlyGuysDoingManlyThings(_BasicScraper): class Marilith(_BasicScraper): url = 'http://www.marilith.com/' stripUrl = url + 'archive.php?date=%s' + firstStripUrl = stripUrl % '20041215' imageSearch = compile(r'Prev') help = 'Index format: nnnn' @@ -69,19 +83,12 @@ class Meiosis(_BasicScraper): url = 'http://meiosiswebcomic.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2006/10/10142006' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev")) help = 'Index format: yyyy/mm/ddmmyyyy' -class MacHall(_BasicScraper): - url = 'http://www.machall.com/' - stripUrl = url + 'view.php?date=%s' - imageSearch = compile(r']+?src=\'drop_shadow/previous.gif\'>') - help = 'Index format: yyyy-mm-dd' - - class MenageA3(_BasicScraper): adult = True url = 'http://www.ma3comic.com/' @@ -95,6 +102,7 @@ class Melonpool(_BasicScraper): url = 'http://www.melonpool.com/' rurl = escape(url) stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '41' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev")) help = 'Index format: n' @@ -103,6 +111,7 @@ class Melonpool(_BasicScraper): class Misfile(_BasicScraper): url = 'http://www.misfile.com/' stripUrl = url + '?date=%s' + firstStripUrl = stripUrl % '2004-02-22' imageSearch = compile(tagre("img", "src", r"(comics/[^']+)", quote="'")) prevSearch = compile(tagre("link", "href", r"([^']+)", quote="'", before="Previous")) help = 'Index format: yyyy-mm-dd' @@ -124,6 +133,7 @@ class MyCartoons(_BasicScraper): class MysteriesOfTheArcana(_BasicScraper): url = 'http://mysteriesofthearcana.com/' stripUrl = url + 'index.php?action=comics&cid=%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(image\.php\?type=com&i=[^"]+)')) prevSearch = compile(tagre("a", "href", r'(index\.php[^"]+)', after="navprevious")) help = 'Index format: n (unpadded)' diff --git a/dosagelib/plugins/n.py b/dosagelib/plugins/n.py index fbc4f8c99..949dda60d 100644 --- a/dosagelib/plugins/n.py +++ b/dosagelib/plugins/n.py @@ -10,7 +10,8 @@ from ..util import tagre class Namesake(_BasicScraper): url = 'http://namesakecomic.com/' - stripUrl = url + 'comic/%s' + stripUrl = url + 'comic/%s/' + firstStripUrl = stripUrl % 'prologue-cover-3' imageSearch = compile(tagre("img", "src", r'([^"]*/wp-content/uploads/[^"]+)', after='title=')) prevSearch = compile(tagre("a", "href", r'([^"]*/comic/[^"]+)', after='navi-prev')) help = 'Index format: name' @@ -25,6 +26,7 @@ class NamirDeiter(_BasicScraper): url = 'http://www.namirdeiter.com/' rurl = escape(url) stripUrl = url + 'comics/index.php?date=%s' + firstStripUrl = stripUrl % '19991128' imageSearch = compile(tagre("img", "src", r"'?(%scomics/\d+\.jpg)'?" % rurl, quote="")) prevSearch = compile(tagre("a", "href", r'(%scomics/index\.php\?date=\d+)' % rurl, quote="'")+"Previous") help = 'Index format: yyyymmdd' @@ -34,6 +36,7 @@ class Nedroid(_BasicScraper): url = 'http://nedroid.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2005/09/2210-whee' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/[^"]+)' % rurl, after="prev")) help = 'Index format: yyyy/mm/dd/name' @@ -42,6 +45,7 @@ class Nedroid(_BasicScraper): class NeoEarth(_BasicScraper): url = 'http://www.neo-earth.com/NE/' stripUrl = url + 'index.php?date=%s' + firstStripUrl = stripUrl % '2007-03-23' imageSearch = compile(r'Previous') help = 'Index format: yyyy-mm-dd' @@ -56,7 +60,8 @@ class NewAdventuresOfBobbin(_BasicScraper): class NewWorld(_BasicScraper): url = 'http://www.tfsnewworld.com/' - stripUrl = url + '%s' + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2007/08/30/63' imageSearch = compile(r'') help = 'Index format: nnn' @@ -83,6 +90,7 @@ class NekoTheKitty(_BasicScraper): url = 'http://www.nekothekitty.net/' rurl = escape(url) stripUrl = url + 'comics/%s' + firstStripUrl = stripUrl % '936393/001-video-games' starter = bounceStarter(url, compile(tagre("a", "href", r'(%scomics/[^"]+)' % rurl) + tagre("img", "src", r'%sfiles/smallnext\.png' % rurl))) imageSearch = compile(tagre("img", "src", r'(http://(?:img\d+|www)\.smackjeeves\.com/images/uploaded/comics/[^"]+)')) @@ -125,6 +133,7 @@ class NobodyScores(_BasicScraper): url = 'http://nobodyscores.loosenutstudio.com/' rurl = escape(url) stripUrl = url + 'index.php?id=%s' + firstStripUrl = stripUrl % '4' imageSearch = compile(tagre("img", "src", r'(%scomix/[^"]+)' % rurl)) multipleImagesPerStrip = True prevSearch = compile(r'the one before ' % rurl) @@ -144,6 +153,7 @@ class NoNeedForBushido(_BasicScraper): class Nukees(_BasicScraper): url = 'http://www.nukees.com/' stripUrl = url + 'd/%s' + firstStripUrl = stripUrl % '19970121' imageSearch = compile(r'"comic".+?"(/comics/.+?)"') prevSearch = compile(r'"(/d/.+?)".+?previous') help = 'Index format: yyyymmdd.html' diff --git a/dosagelib/plugins/o.py b/dosagelib/plugins/o.py index 1db13cc93..c0720036f 100644 --- a/dosagelib/plugins/o.py +++ b/dosagelib/plugins/o.py @@ -14,7 +14,8 @@ class OctopusPie(_BasicScraper): starter = indirectStarter(url, compile(tagre("a", "href", r'(%s[^"]+)' % rurl) + tagre("img", "src", r'%sjunk/latest\.png' % rurl))) - stripUrl = url + '%s' + stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2007-05-14/001-pea-wiggle' imageSearch = compile(tagre("img", "src", r'(%sstrippy/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) help = 'Index format: yyyy-mm-dd/nnn-strip-name' @@ -24,6 +25,7 @@ class OddFish(_BasicScraper): url = 'http://www.odd-fish.net/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % 'tv-tentacles' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev")) help = 'Index format: stripname' @@ -49,6 +51,7 @@ class OkCancel(_BasicScraper): url = 'http://okcancel.com/' rurl = escape(url) stripUrl = url + 'comic/%s.html' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(%sstrips/okcancel\d{8}\.gif)' % rurl)) prevSearch = compile(tagre("div", "class", "previous") + tagre("a", "href", r'(%scomic/\d{1,4}\.html)' % rurl)) starter = indirectStarter(url, prevSearch) @@ -58,7 +61,8 @@ class OkCancel(_BasicScraper): class OmakeTheater(_BasicScraper): url = 'http://omaketheater.com/' rurl = escape(url) - stripUrl = url + 'comic/%s' + stripUrl = url + 'comic/%s/' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(http://media\.omaketheater\.com/4koma/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(%scomic/\d+/)' % rurl, after="prev")) starter = indirectStarter(url, @@ -69,7 +73,8 @@ class OmakeTheater(_BasicScraper): class OnTheEdge(_BasicScraper): url = 'http://ontheedgecomics.com/' rurl = escape(url) - stripUrl = url + 'comic/%s' + stripUrl = url + 'comic/%s/' + firstStripUrl = stripUrl % 'ote0001' imageSearch = compile(r'') help = 'Index format: nnn (unpadded)' @@ -78,6 +83,7 @@ class OnTheEdge(_BasicScraper): class OneQuestion(_BasicScraper): url = 'http://onequestioncomic.com/' stripUrl = url + 'comic.php?strip_id=%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'((?:\.\./)?istrip_files/strips/\d+\.jpg)')) prevSearch = compile(tagre("a", "href", r'(comic\.php\?strip_id=\d+)') + tagre("img", "src", r'img/arrow_prev\.jpg')) help = 'Index format: n (unpadded)' @@ -97,6 +103,7 @@ class OrnerBoy(_BasicScraper): class OurHomePlanet(_BasicScraper): url = 'http://gdk.gd-kun.net/' stripUrl = url + '%s.html' + firstStripUrl = stripUrl % '01' imageSearch = compile(r']+?> \<\-  ') help = 'Index format: yyyymmdd' diff --git a/dosagelib/plugins/p.py b/dosagelib/plugins/p.py index c4b08864b..0b07cf972 100644 --- a/dosagelib/plugins/p.py +++ b/dosagelib/plugins/p.py @@ -12,6 +12,7 @@ class PandyLand(_BasicScraper): url = 'http://pandyland.net/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s\d+/)' % rurl, after="prev")) help = 'Index format: number' @@ -42,6 +43,7 @@ class PartiallyClips(_BasicScraper): url = 'http://partiallyclips.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2001/10/28/screaming-woman' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) help = 'Index format: yyyy/mm/dd/stripname' @@ -51,6 +53,7 @@ class PastelDefender(_BasicScraper): baseurl = 'http://www.pasteldefender.com/' url = baseurl + 'coverbackcover.html' stripUrl = baseurl + '%s.html' + firstStripUrl = stripUrl % 'cover' imageSearch = compile(r'')) stripUrl = url + '?comicid=%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(http://www\.phdcomics\.com/comics/archive/phd\d+s?\.gif)', quote="")) prevSearch = compile(r'') help = 'Index format: n (unpadded)' @@ -143,6 +151,7 @@ class PiledHigherAndDeeper(_BasicScraper): class Pimpette(_BasicScraper): url = 'http://pimpette.ca/' stripUrl = url + 'index.php?date=%s' + firstStripUrl = stripUrl % '20030905' imageSearch = compile(tagre("img", "src", r'(strips/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)') + "Previous") help = 'Index format: yyyymmdd' @@ -189,6 +198,7 @@ class Precocious(_BasicScraper): class ProperBarn(_BasicScraper): url = 'http://www.nitrocosm.com/go/gag/' stripUrl = url + '%s/' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(http://content\.nitrocosm\.com/gag/\d+\.[^"]+)')) prevSearch = compile(tagre("a", "href", r'(http://www\.nitrocosm\.com/go/gag/\d+/)', after="nav_btn_previous")) help = 'Index format: nnn' @@ -198,6 +208,7 @@ class PunksAndNerds(_BasicScraper): url = 'http://www.punksandnerds.com/' rurl = escape(url) stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '15' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="navi-prev")) help = 'Index format: nnn' diff --git a/dosagelib/plugins/q.py b/dosagelib/plugins/q.py index 7111d09ba..921d56757 100644 --- a/dosagelib/plugins/q.py +++ b/dosagelib/plugins/q.py @@ -10,6 +10,7 @@ from ..util import tagre class QuestionableContent(_BasicScraper): url = 'http://www.questionablecontent.net/' stripUrl = url + 'view.php?comic=%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'([^"]+/comics/[^"]+)', before="strip")) prevSearch = compile(tagre("a", "href", r'(view\.php\?comic=\d+)') + 'Previous') help = 'Index format: n (unpadded)' @@ -20,6 +21,7 @@ class Qwantz(_BasicScraper): url = baseurl + 'index.php' rurl = escape(baseurl) stripUrl = url + '?comic=%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(%s/comics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%sindex\.php\?comic=\d+)' % rurl, before="prev")) help = 'Index format: n' diff --git a/dosagelib/plugins/r.py b/dosagelib/plugins/r.py index e31c45751..5665fe87b 100644 --- a/dosagelib/plugins/r.py +++ b/dosagelib/plugins/r.py @@ -19,6 +19,7 @@ class RadioactivePanda(_BasicScraper): class RealLife(_BasicScraper): url = 'http://www.reallifecomics.com/' stripUrl = url + 'archive/%s.html' + firstStripUrl = stripUrl % '991115' imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/archive/\d+.html)') + tagre("img", "src", r'/images/nav_prev\.png')) help = 'Index format: yymmdd)' @@ -38,6 +39,7 @@ class RedMeat(_BasicScraper): url = baseurl + 'current/index.html' starter = bounceStarter(url, compile(r'next')) stripUrl = baseurl + '%s/index.html' + firstStripUrl = stripUrl % '1996-06-10' imageSearch = compile(r']*>') prevSearch = compile(r'previous') help = 'Index format: yyyy-mm-dd' @@ -50,6 +52,7 @@ class RedMeat(_BasicScraper): class RedString(_BasicScraper): url = 'http://www.redstring.strawberrycomics.com/' stripUrl = url + 'index.php?id=%s' + firstStripUrl = stripUrl % '434' imageSearch = compile(tagre("img", "src", r'(comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/index\.php\?id=\d+)', after="prev")) help = 'Index format: nnn' @@ -58,6 +61,7 @@ class RedString(_BasicScraper): class Roza(_BasicScraper): url = 'http://www.junglestudio.com/roza/index.php' stripUrl = url + '?date=%s' + firstStripUrl = stripUrl % '2007-05-01' imageSearch = compile(r'[^>].+?navtable_01.gif') help = 'Index format: yyyy-mm-dd' diff --git a/dosagelib/plugins/s.py b/dosagelib/plugins/s.py index 8770a5ac6..98ee64e1e 100644 --- a/dosagelib/plugins/s.py +++ b/dosagelib/plugins/s.py @@ -13,6 +13,7 @@ class SailorsunOrg(_BasicScraper): url = 'http://sailorsun.org/' rurl = escape(url) stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '21' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) rurl = escape(url) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev")) @@ -22,6 +23,7 @@ class SailorsunOrg(_BasicScraper): class SamAndFuzzy(_BasicScraper): url = 'http://www.samandfuzzy.com/' stripUrl = 'http://samandfuzzy.com/%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(r'(/comics/.+?)" alt') prevSearch = compile(r'">') prevSearch = compile(r'131,13,216,84"\n\s+href="(.+?)#comic"\n>', MULTILINE) help = 'Index format: nnnn' @@ -289,6 +301,7 @@ class SodiumEyes(_BasicScraper): url = 'http://sodiumeyes.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2007/11/08/damning-evidence' imageSearch = compile(tagre("img", "src", r'(%scomic/[^ ]+)' % rurl, quote="")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) help = 'Index format: yyyy/mm/dd/stripname' @@ -308,6 +321,7 @@ class SpaceTrawler(_BasicScraper): url = 'http://spacetrawler.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2010/01/01/spacetrawler-4' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="navi-prev")) help = 'Index format: yyyy/mm/dd/stripname' @@ -327,6 +341,7 @@ class SpareParts(_BasicScraper): baseUrl = 'http://www.sparepartscomics.com/' url = baseUrl + 'comics/?date=20080328' stripUrl = baseUrl + 'comics/index.php?date=%s' + firstStripUrl = stripUrl % '20031022' imageSearch = compile(tagre("img", "src", r'(http://www\.sparepartscomics\.com/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)', quote="'") + "Previous Comic") help = 'Index format: yyyymmdd' @@ -336,6 +351,7 @@ class Spinnerette(_BasicScraper): url = 'http://www.spinnyverse.com/' rurl = escape(url) stripUrl = url + '%s/' + firstStripUrl = stripUrl % '2010/02/09/02092010' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, before="Previous Comic")) help = 'Index format: number' @@ -345,6 +361,7 @@ class SPQRBlues(_BasicScraper): url = 'http://spqrblues.com/IV/' rurl = escape(url) stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '1467' imageSearch = compile(tagre("img", "src", r'(%scomics/\d+\.png)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev")) help = 'Index format: number' @@ -364,6 +381,7 @@ class _StationV3(_BasicScraper): class StickyDillyBuns(_BasicScraper): url = 'http://www.stickydillybuns.com/' stripUrl = url + 'strips-sdb/%s' + firstStripUrl = stripUrl % 'awesome_leading_man' imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'([^"]*/strips-sdb/[^"]+)', before="cn[id]prev")) help = 'Index format: name' @@ -373,6 +391,7 @@ class Stubble(_BasicScraper): url = 'http://stubblecomics.com/' rurl = escape(url) stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '4' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="navi-prev")) help = 'Index format: number' @@ -441,10 +460,13 @@ class SomethingPositive(_BasicScraper): class StarCrossdDestiny(_BasicScraper): - url = 'http://www.starcrossd.net/comic.html' - stripUrl = 'http://www.starcrossd.net/archives/%s.html' - imageSearch = compile(tagre("img", "src", r'(http://www\.starcrossd\.net/(?:ch1|strips|book2)/[^"]+)')) - prevSearch = compile(r']*"[^"]*"[^>]*>prev', IGNORECASE) + baseurl = 'http://www.starcrossd.net/' + rurl = escape(baseurl) + url = baseurl + 'comic.html' + stripUrl = baseurl + 'archives/%s.html' + firstStripUrl = stripUrl % '00000001' + imageSearch = compile(tagre("img", "src", r'(%s(?:ch1|strips|book2)/[^"]+)' % rurl)) + prevSearch = compile(r']*"[^"]*"[^>]*>prev' % rurl, IGNORECASE) help = 'Index format: nnnnnnnn' @classmethod @@ -472,6 +494,7 @@ class SupernormalStep(_BasicScraper): url = 'http://supernormalstep.com/' rurl = escape(url) stripUrl = url + '?p=%s' + firstStripUrl = stripUrl % '8' imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev")) help = 'Index format: number' diff --git a/dosagelib/plugins/t.py b/dosagelib/plugins/t.py index 977b3490a..32a8bbfe6 100644 --- a/dosagelib/plugins/t.py +++ b/dosagelib/plugins/t.py @@ -10,7 +10,8 @@ from ..util import tagre class TheBrads(_BasicScraper): url = 'http://bradcolbow.com/archive/C4/' - stripUrl = url + '%s' + stripUrl = url + '%s/' + firstStripUrl = stripUrl % 'P125' imageSearch = compile(tagre("img", "src", r'(http://s3\.amazonaws\.com/the_brads/the-?brads[-_][^"]+)')) prevSearch = compile(tagre("a", "href", r'(http://bradcolbow\.com/archive/C4/[^"]+)', before="prev")) multipleImagesPerStrip = True @@ -20,6 +21,7 @@ class TheBrads(_BasicScraper): class TheDevilsPanties(_BasicScraper): url = 'http://thedevilspanties.com/' stripUrl = url + 'archives/%s' + firstStripUrl = stripUrl % '300' imageSearch = compile(tagre("img", "src", r'(http://cdn\.thedevilspanties\.com/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/archives/\d+)', after="Previous")) help = 'Index format: number' @@ -28,6 +30,7 @@ class TheDevilsPanties(_BasicScraper): class TheNoob(_BasicScraper): url = 'http://www.thenoobcomic.com/index.php' stripUrl = url + '?pos=%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(tagre("img", "src", r'(/headquarters/comics/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(\?pos=\d+)', before="comic_nav_previous_button")) help = 'Index format: nnnn' @@ -37,6 +40,7 @@ class TheOrderOfTheStick(_BasicScraper): baseurl = 'http://www.giantitp.com/' url = baseurl + 'comics/oots0863.html' stripUrl = baseurl + 'comics/oots%s.html' + firstStripUrl = stripUrl % '0001' imageSearch = compile(r'') prevSearch = compile(r'') multipleImagesPerStrip = True prevSearch = compile(r'\d{4} -\s+\d{4}') @@ -60,6 +65,7 @@ class TheParkingLotIsFull(_BasicScraper): class TheWotch(_BasicScraper): url = 'http://www.thewotch.com/' stripUrl = url + '?date=%s' + firstStripUrl = stripUrl % '2002-11-21' imageSearch = compile(r"') help = 'Index format: stripname' @@ -21,6 +22,7 @@ class WapsiSquare(_BasicScraper): class WastedTalent(_BasicScraper): url = 'http://www.wastedtalent.ca/' stripUrl = url + 'comic/%s' + firstStripUrl = stripUrl % 'anime-crack' imageSearch = compile(tagre("img", "src", r'(http://www\.wastedtalent\.ca/sites/default/files/imagecache/comic_full/comics/\d+/[^"]+)')) prevSearch = compile(tagre("a", "href", r'(/comic/[^"]+)', after="comic_prev")) help = 'Index format: stripname' @@ -29,6 +31,7 @@ class WastedTalent(_BasicScraper): class WayfarersMoon(_BasicScraper): url = 'http://www.wayfarersmoon.com/' stripUrl = url + 'index.php?page=%s' + firstStripUrl = stripUrl % '0' imageSearch = compile(r'') help = 'Index format: nnn' @@ -199,6 +207,7 @@ class WormWorldSagaFrench(WormWorldSaga): class WotNow(_BasicScraper): url = 'http://shadowburn.binmode.com/wotnow/' stripUrl = url + 'comic.php?comic_id=%s' + firstStripUrl = stripUrl % '1' imageSearch = compile(r'