2012-06-20 20:41:04 +00:00
# -*- coding: iso-8859-1 -*-
# Copyright (C) 2004-2005 Tristan Seligmann and Jonathan Jacobs
2013-02-05 18:51:46 +00:00
# Copyright (C) 2012-2013 Bastian Kleineidam
2012-11-21 20:57:26 +00:00
2013-04-10 16:19:11 +00:00
from re import compile , escape , IGNORECASE , MULTILINE
2012-06-20 19:58:13 +00:00
2012-10-11 10:03:12 +00:00
from . . util import tagre
from . . scraper import _BasicScraper
from . . helpers import indirectStarter
2012-06-20 19:58:13 +00:00
class FalconTwin ( _BasicScraper ) :
2013-02-04 20:00:26 +00:00
url = ' http://www.falcontwin.com/ '
stripUrl = url + ' index.html?strip= %s '
2013-04-10 21:57:09 +00:00
firstStripUrl = stripUrl % ' 0 '
2012-06-20 19:58:13 +00:00
imageSearch = compile ( r ' " (strips/.+?) " ' )
prevSearch = compile ( r ' " prev " ><a href= " (index.+?) " ' )
help = ' Index format: nnn '
2013-03-06 19:21:10 +00:00
class Fallen ( _BasicScraper ) :
2013-04-13 18:58:00 +00:00
baseUrl = ' http://www.fallencomic.com/ '
url = baseUrl + ' fal-page.htm '
stripUrl = baseUrl + ' pages/part %s / %s -p %s .htm '
2013-03-06 19:21:10 +00:00
imageSearch = compile ( r ' <IMG SRC= " (page/.+?) " ' , IGNORECASE )
prevSearch = compile ( r ' <A HREF= " (.+?) " ><FONT FACE= " Courier " >Back ' , IGNORECASE )
help = ' Index format: nn-m (comicNumber-partNumber) '
starter = indirectStarter ( url ,
2013-04-10 16:19:11 +00:00
compile ( r ' \ (NEW \ d {2} / \ d {2} / \ d {2} \ ) \ s* \ n* \ s*<a href= " (pages/part \ d+/ \ d+-p \ d+ \ .htm) " > \ d+</a> ' , MULTILINE ) )
2013-03-06 19:21:10 +00:00
@classmethod
def namer ( cls , imageUrl , pageUrl ) :
num = pageUrl . split ( ' / ' ) [ - 1 ] . split ( ' - ' ) [ 0 ]
part = pageUrl . split ( ' - ' ) [ - 1 ] . split ( ' . ' ) [ 0 ]
return ' %s - %s ' % ( part , num )
def getIndexStripUrl ( self , index ) :
index , part = index . split ( ' - ' )
return self . stripUrl % ( part , index , part )
class FantasyRealms ( _BasicScraper ) :
url = ' http://www.fantasyrealmsonline.com/ '
stripUrl = url + ' manga/ %s .php '
imageSearch = compile ( r ' <img src= " ( \ d { 1,4}. \ w { 3,4}) " width= " 540 " ' , IGNORECASE )
prevSearch = compile ( r ' <a href= " (.+?) " ><img src= " ../images/nav-back.gif " ' , IGNORECASE )
help = ' Index format: nnn '
starter = indirectStarter ( url ,
2013-04-10 16:19:11 +00:00
compile ( r ' <a href= " (manga/.+?) " ><img src= " preview.jpg " ' , IGNORECASE ) )
2013-03-06 19:21:10 +00:00
2012-06-20 19:58:13 +00:00
class FauxPas ( _BasicScraper ) :
2013-02-04 20:00:26 +00:00
url = ' http://www.ozfoxes.net/cgi/pl-fp1.cgi '
stripUrl = url + ' ? %s '
2013-04-10 21:57:09 +00:00
firstStripUrl = stripUrl % ' 1 '
2012-06-20 19:58:13 +00:00
imageSearch = compile ( r ' <img .*src= " (.*fp/fp.*(png|jpg|gif)) " ' )
prevSearch = compile ( r ' <a href= " (pl-fp1 \ .cgi \ ? \ d+) " >Previous Strip ' )
help = ' Index format: nnn '
class FeyWinds ( _BasicScraper ) :
2013-04-13 18:58:00 +00:00
baseUrl = ' http://kitsune.rydia.net/ '
url = baseUrl + ' index.html '
stripUrl = baseUrl + ' comic/page.php?id= %s '
2012-06-20 19:58:13 +00:00
imageSearch = compile ( r " (../comic/pages//.+?) ' " )
prevSearch = compile ( r " (page.php \ ?id=.+?) ' .+?navprevious.png " )
help = ' Index format: n (unpadded) '
2013-02-04 20:00:26 +00:00
starter = indirectStarter ( url , compile ( r ' (comic/page.php \ ?id.+?) " ' ) )
2012-06-20 19:58:13 +00:00
class FilibusterCartoons ( _BasicScraper ) :
2013-04-14 07:02:14 +00:00
description = u ' Political cartoons from Canada! '
2013-02-04 20:00:26 +00:00
url = ' http://www.filibustercartoons.com/ '
2013-04-10 16:19:11 +00:00
rurl = escape ( url )
2013-02-04 20:00:26 +00:00
stripUrl = url + ' index.php/ %s '
2013-04-10 21:57:09 +00:00
firstStripUrl = stripUrl % ' 2001/06/28/poor-jean '
2013-04-10 16:19:11 +00:00
imageSearch = compile ( tagre ( " img " , " src " , r ' ( %s comics/[^ " ]+) ' % rurl ) )
prevSearch = compile ( tagre ( " a " , " href " , r ' ( %s [^ " ]+) ' % rurl , after = " prev " ) )
2012-06-20 19:58:13 +00:00
help = ' Index format: yyyy/mm/dd/name '
2013-02-06 21:27:40 +00:00
class FirstWorldProblems ( _BasicScraper ) :
url = ' http://bradcolbow.com/archive/C5/ '
2013-03-06 19:00:30 +00:00
stripUrl = url + ' %s / '
firstStripUrl = stripUrl % ' P10 '
2013-02-06 21:27:40 +00:00
imageSearch = compile ( tagre ( " img " , " src " , r ' (http://(?:fwpcomics \ .s3 \ .amazonaws \ .com|s3 \ .amazonaws \ .com/fwpcomics)/s1-[^ " ]+) ' ) )
prevSearch = compile ( tagre ( " a " , " href " , r ' (http://bradcolbow \ .com/archive/C5/[^ " ]+) ' , before = " prev " ) )
multipleImagesPerStrip = True
help = ' Index format: a letter and a number '
2012-06-20 19:58:13 +00:00
class FlakyPastry ( _BasicScraper ) :
2013-04-13 18:58:00 +00:00
baseUrl = ' http://flakypastry.runningwithpencils.com/ '
url = baseUrl + ' index.php '
stripUrl = baseUrl + ' comic.php?strip_id= %s '
2013-04-10 21:57:09 +00:00
firstStripUrl = stripUrl % ' 0 '
2012-06-20 19:58:13 +00:00
imageSearch = compile ( r ' <img src= " (comics/.+?) " ' )
prevSearch = compile ( r ' <a href= " (.+?) " .+?btn_back ' )
help = ' Index format: nnnn '
2012-12-04 06:02:40 +00:00
2012-12-08 20:30:51 +00:00
class Flemcomics ( _BasicScraper ) :
2013-04-14 07:02:14 +00:00
description = u ' FLEM Comics - More fun than a sack of dead kittens. '
2013-02-04 20:00:26 +00:00
url = ' http://www.flemcomics.com/ '
stripUrl = url + ' d/ %s .html '
2012-12-08 20:30:51 +00:00
imageSearch = compile ( tagre ( " img " , " src " , r ' (/comics/[^ " ]+) ' ) )
prevSearch = compile ( tagre ( " a " , " href " , r ' (/d/ \ d+ \ .html) ' ) +
tagre ( " img " , " src " , r ' /images/previous_day \ .jpg ' ) )
help = ' Index format: yyyymmdd '
2012-06-20 19:58:13 +00:00
class Flipside ( _BasicScraper ) :
2013-02-04 20:00:26 +00:00
url = ' http://flipside.keenspot.com/comic.php '
2013-04-10 16:19:11 +00:00
rurl = escape ( url )
2013-02-04 20:00:26 +00:00
stripUrl = url + ' ?i= %s '
2013-04-10 21:57:09 +00:00
firstStripUrl = stripUrl % ' 1 '
2012-12-04 06:02:40 +00:00
imageSearch = compile ( tagre ( " img " , " src " , r ' (http://cdn \ .flipside \ .keenspot \ .com/comic/[^ " ]+) ' ) )
2013-04-10 16:19:11 +00:00
prevSearch = compile ( tagre ( " a " , " href " , r ' ( %s \ ?i= \ d+) ' % rurl , after = " prev " ) )
2012-06-20 19:58:13 +00:00
help = ' Index format: nnnn '
2013-03-12 19:49:46 +00:00
class FonFlatter ( _BasicScraper ) :
2013-04-14 07:02:14 +00:00
description = u ' Fred, eine stets zuversichtliche, einfallsreiche, zumeist aber alberne und etwas naive Fledermaus, flattert bereits seit 2005 t \xe4 glich durch das weltweite Netz '
2013-03-12 19:49:46 +00:00
url = ' http://www.fonflatter.de/ '
2013-04-10 16:19:11 +00:00
rurl = escape ( url )
2013-03-12 19:49:46 +00:00
stripUrl = url + ' %s / '
firstStripUrl = stripUrl % ' 2005/09/20/01-begegnung-mit-batman '
lang = ' de '
2013-04-10 16:19:11 +00:00
imageSearch = compile ( r ' src= " ( %s \ d+/fred_ \ d+- \ d+- \ d+[^ " ]+) ' % rurl )
prevSearch = compile ( tagre ( " a " , " href " , r ' ( %s [^ " ]+) ' % rurl , after = " prev " ) )
2013-03-12 19:49:46 +00:00
help = ' Index format: yyyy/mm/dd/number-stripname '
2013-03-13 17:31:58 +00:00
def shouldSkipUrl ( self , url ) :
return url in (
2013-04-10 16:19:11 +00:00
self . stripUrl % " 2006/11/30/adventskalender " ,
self . stripUrl % " 2006/09/21/danke " ,
self . stripUrl % " 2006/08/23/zgf-zuweilen-gestellte-fragen " ,
self . stripUrl % " 2005/10/19/naq-never-asked-questions " ,
2013-03-13 17:31:58 +00:00
)
2013-03-12 19:49:46 +00:00
2012-06-20 19:58:13 +00:00
class Footloose ( _BasicScraper ) :
2013-04-14 07:02:14 +00:00
description = u ' Footloose, a Webcomic By alice Nuttall and Emily Brady '
2013-02-04 20:00:26 +00:00
url = ' http://footloosecomic.com/footloose/today.php '
2012-11-13 18:10:19 +00:00
stripUrl = ' http://footloosecomic.com/footloose/pages.php?page= %s '
2013-04-10 21:57:09 +00:00
firstStripUrl = stripUrl % ' 1 '
2012-06-20 19:58:13 +00:00
imageSearch = compile ( r ' <img src= " /footloose/(.+?) " ' )
prevSearch = compile ( r ' (?:first.+?[^>]).+?(/footloose/.+?) " .+?(?:prev) ' )
help = ' Index format: n (unpadded) '
2013-04-10 16:20:39 +00:00
class ForLackOfABetterComic ( _BasicScraper ) :
url = ' http://forlackofabettercomic.com/ '
rurl = escape ( url )
stripUrl = url + ' ?id= %s '
firstStripUrl = stripUrl % ' 1 '
imageSearch = compile ( tagre ( " img " , " src " , r ' ( %s img/comic/ \ d+[^ " ]+) ' % rurl , after = " comicimg " ) )
prevSearch = compile ( tagre ( " a " , " href " , r ' ( %s \ ?id \ = \ d+) ' % rurl ) + r ' Prev ' )
help = ' Index format: number '
description = ' A hand drawn comic about everyday life situations. '
2012-06-20 19:58:13 +00:00
class Freefall ( _BasicScraper ) :
2013-02-04 20:00:26 +00:00
url = ' http://freefall.purrsia.com/default.htm '
2012-11-13 18:10:19 +00:00
stripUrl = ' http://freefall.purrsia.com/ff %s /fc %s .htm '
2012-06-20 19:58:13 +00:00
imageSearch = compile ( r ' <img src= " (/ff \ d+/.+?. \ w { 3,4}) " ' )
prevSearch = compile ( r ' <A HREF= " (/ff \ d+/.+?.htm) " >Previous</A> ' )
help = ' Index format: nnnn/nnnnn '
2012-09-27 19:55:16 +00:00
class FredoAndPidjin ( _BasicScraper ) :
2013-02-05 18:51:46 +00:00
url = ' http://www.pidjin.net/ '
2013-04-10 21:57:09 +00:00
stripUrl = url + ' %s / '
firstStripUrl = stripUrl % ' 2006/02/19/goofy-monday '
2012-09-27 19:55:16 +00:00
help = ' Index format: yyyy/mm/dd/name '
2013-04-11 16:27:43 +00:00
imageSearch = compile ( tagre ( ' img ' , ' src ' , ' (http://cdn \ .pidjin \ .net/wp-content/uploads/ \ d+/ \ d+/[^ " ]+ \ .[a-z]+) ' ) )
2012-12-04 06:02:40 +00:00
multipleImagesPerStrip = True
2012-09-27 19:55:16 +00:00
prevSearch = compile ( tagre ( ' a ' , ' href ' , ' ([^ " ]+) ' ) + " Prev</a> " )
2013-02-05 18:51:46 +00:00
starter = indirectStarter ( url ,
compile ( tagre ( ' a ' , ' href ' , " ( " + url + r ' \ d \ d \ d \ d/ \ d \ d/ \ d \ d/[^ " ]+/) ' ) ) )
2013-03-11 21:45:30 +00:00
class FullFrontalNerdity ( _BasicScraper ) :
2013-04-14 07:02:14 +00:00
description = u ' Full Frontal Nerdity by Aaron Williams - Comics about liking all things gaming, technological, mythological, and internetological. '
2013-03-11 21:45:30 +00:00
url = ' http://ffn.nodwick.com/ '
2013-04-10 16:19:11 +00:00
rurl = escape ( url )
2013-03-11 21:45:30 +00:00
stripUrl = url + ' ?p= %s '
firstStripUrl = stripUrl % ' 6 '
2013-04-10 16:19:11 +00:00
imageSearch = compile ( tagre ( " img " , " src " , r ' ( %s ffnstrips/ \ d+- \ d+- \ d+ \ .[^ " ]+) ' % rurl ) )
prevSearch = compile ( tagre ( " a " , " href " , r ' ( %s \ ?p= \ d+) ' % rurl , after = " prev " ) )
2013-03-11 21:45:30 +00:00
help = ' Index format: number '
class FunInJammies ( _BasicScraper ) :
url = ' http://www.funinjammies.com/ '
stripUrl = url + ' comic.php?issue= %s '
2013-04-10 21:57:09 +00:00
firstStripUrl = stripUrl % ' 1 '
2013-03-11 21:45:30 +00:00
imageSearch = compile ( r ' (/comics/.+?) " ' )
prevSearch = compile ( r ' (/comic.php.+?) " id.+?prev ' )
help = ' Index format: n (unpadded) '