diff --git a/dosagelib/plugins/b.py b/dosagelib/plugins/b.py
index ac638140f..4feaa4f9a 100644
--- a/dosagelib/plugins/b.py
+++ b/dosagelib/plugins/b.py
@@ -24,12 +24,12 @@ class BadassMuthas(_BasicScraper):
help = 'Index format: nnn'
-class BadMachinery(_BasicScraper):
+class BadMachinery(_ParserScraper):
url = 'http://scarygoround.com/'
stripUrl = url + '?date=%s'
firstStripUrl = stripUrl % '20090918'
- imageSearch = compile(tagre("img", "src", r'(strips/\d+[^"]+)'))
- prevSearch = compile(tagre("a", "href", r'(\?date=\d+)') + 'Previous')
+ imageSearch = '//img[@class="comicimg"]'
+ prevSearch = '//a[contains(text(), "Previous")]'
help = 'Index format: yyyymmdd'
@@ -111,14 +111,13 @@ class BiggerThanCheeses(_BasicScraper):
help = 'Index format: n (unpadded)'
-class BillyTheDunce(_BasicScraper):
+class BillyTheDunce(_ParserScraper):
url = 'http://www.duncepress.com/'
- rurl = escape(url)
- stripUrl = url + '%s/'
- firstStripUrl = stripUrl % '2009/06/an-introduction-of-sorts'
- imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
- prevSearch = compile(r'
' % rurl)
- help = 'Index format: yyyy/mm/stripname'
+ firstStripUrl = url + '2009/06/an-introduction-of-sorts'
+ imageSearch = '//div[@class="entry"]/p[1]/a'
+ prevSearch = '//a[@rel="prev"]'
+ latestSearch = '//h2[@class="post-title"]/a'
+ starter = indirectStarter
class BizarreUprising(_BasicScraper):
diff --git a/dosagelib/plugins/s.py b/dosagelib/plugins/s.py
index 416843de0..5247a678a 100644
--- a/dosagelib/plugins/s.py
+++ b/dosagelib/plugins/s.py
@@ -76,13 +76,14 @@ class ScandinaviaAndTheWorld(_ParserScraper):
help = 'Index format: stripname'
-class ScaryGoRound(_BasicScraper):
- url = 'http://www.scarygoround.com/'
- stripUrl = url + '?date=%s'
- firstStripUrl = stripUrl % '20090918'
- imageSearch = compile(tagre("img", "src", r'(strips/\d+\.png)'))
- prevSearch = compile(tagre("a", "href", r'(\?date=\d+)') + "Previous")
- help = 'Index format: n (unpadded)'
+class ScaryGoRound(_ParserScraper):
+ url = 'http://www.scarygoround.com/sgr/ar.php'
+ stripUrl = url + 'ar.php?date=%s'
+ firstStripUrl = stripUrl % '20020604'
+ imageSearch = '//img[contains(@src, "/strips/")]'
+ prevSearch = '//a[contains(text(), "Previous")]'
+ endOfLife = True
+ help = 'Index format: yyyymmdd'
class ScenesFromAMultiverse(_BasicScraper):
@@ -186,19 +187,20 @@ class SequentialArt(_BasicScraper):
help = 'Index format: name'
-class SexyLosers(_BasicScraper):
+class SexyLosers(_ParserScraper):
adult = True
url = 'http://www.sexylosers.com/'
- stripUrl = url + '%s.html'
- imageSearch = compile(r'<<', IGNORECASE)
- latestSearch = compile(r'SEXY LOSERS Latest SL Comic \(#\d+\)', IGNORECASE)
+ stripUrl = url + 'comic/%s/'
+ firstStripUrl = stripUrl % '003'
+ imageSearch = '//div[@class="entry-content"]//img'
+ prevSearch = '//a[@rel="prev"]'
+ latestSearch = '//a[@rel="bookmark"]'
help = 'Index format: nnn'
starter = indirectStarter
def namer(self, image_url, page_url):
- index = page_url.split('/')[-1].split('.')[0]
- title = image_url.split('/')[-1].split('.')[0]
+ index = page_url.rsplit('/', 2)[1]
+ title = image_url.rsplit('/', 1)[1]
return index + '-' + title