dosage/dosagelib/plugins/v.py

93 lines
3 KiB
Python
Raw Normal View History

# SPDX-License-Identifier: MIT
2016-10-28 22:21:41 +00:00
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
2014-01-05 15:50:57 +00:00
# Copyright (C) 2012-2014 Bastian Kleineidam
# Copyright (C) 2015-2020 Tobias Gruetzmacher
# Copyright (C) 2019-2020 Daniel Ring
2012-11-26 06:13:32 +00:00
from re import compile
2012-06-20 19:58:13 +00:00
2016-10-31 05:57:47 +00:00
from ..scraper import _BasicScraper, _ParserScraper
from ..helpers import bounceStarter, indirectStarter
2012-11-26 06:13:32 +00:00
from ..util import tagre
2012-06-20 19:58:13 +00:00
2019-07-15 09:33:32 +00:00
class Vexxarr(_ParserScraper):
baseUrl = 'http://www.vexxarr.com/'
url = baseUrl + 'Index.php'
stripUrl = baseUrl + 'archive.php?seldate=%s'
firstStripUrl = stripUrl % '010105'
imageSearch = '//p/img'
prevSearch = '//a[./img[contains(@src, "previous")]]'
nextSearch = '//a[./img[contains(@src, "next")]]'
starter = bounceStarter
def namer(self, imageUrl, pageUrl):
page = pageUrl.rsplit('=', 1)[-1]
return '20%s-%s-%s' % (page[4:6], page[0:2], page[2:4])
2012-12-02 17:35:06 +00:00
class VGCats(_BasicScraper):
url = 'http://www.vgcats.com/comics/'
stripUrl = url + '?strip_id=%s'
2013-04-10 21:57:09 +00:00
firstStripUrl = stripUrl % '0'
2012-12-02 17:35:06 +00:00
imageSearch = compile(tagre("img", "src", r'(images/\d{6}\.[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') +
tagre("img", "src", r"back\.gif"))
2012-06-20 19:58:13 +00:00
help = 'Index format: n (unpadded)'
2012-12-02 17:35:06 +00:00
class VGCatsAdventure(VGCats):
2012-06-20 19:58:13 +00:00
name = 'VGCats/Adventure'
url = 'http://www.vgcats.com/ffxi/'
stripUrl = url + '?strip_id=%s'
2012-06-20 19:58:13 +00:00
class VGCatsSuper(VGCats):
name = 'VGCats/Super'
url = 'http://www.vgcats.com/super/'
stripUrl = url + '?strip_id=%s'
2019-12-01 01:37:51 +00:00
class VickiFox(_ParserScraper):
url = 'http://www.vickifox.com/comic/strip'
stripUrl = url + '?id=%s'
firstStripUrl = stripUrl % '001'
imageSearch = '//img[contains(@src, "comic/")]'
prevSearch = '//button[@id="btnPrev"]/@value'
def getPrevUrl(self, url, data):
return self.stripUrl % self.getPage(url).xpath(self.prevSearch)[0]
2012-12-08 20:30:51 +00:00
class VictimsOfTheSystem(_BasicScraper):
url = 'http://www.votscomic.com/'
stripUrl = url + '?id=%s.jpg'
2013-04-10 21:57:09 +00:00
firstStripUrl = stripUrl % '070103-002452'
2012-12-08 20:30:51 +00:00
imageSearch = compile(tagre("img", "src", r'(comicpro/strips/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(\?id=\d+-\d+\.jpg)') +
"Previous")
2012-12-08 20:30:51 +00:00
help = 'Index format: nnn-nnn'
2016-10-31 05:57:47 +00:00
class ViiviJaWagner(_ParserScraper):
url = 'http://www.hs.fi/viivijawagner/'
2017-02-12 19:29:57 +00:00
imageSearch = '//meta[@property="og:image"]/@content'
prevSearch = '//a[d:class("prev")]'
latestSearch = '//div[d:class("cartoon-content")]//a'
2017-02-12 19:29:57 +00:00
starter = indirectStarter
2015-04-18 20:45:13 +00:00
lang = 'fi'
2012-12-07 23:45:18 +00:00
def namer(self, image_url, page_url):
2017-02-12 19:29:57 +00:00
return page_url.rsplit('-', 1)[1].split('.')[0]
2019-07-12 07:46:45 +00:00
class VirmirWorld(_ParserScraper):
url = 'http://world.virmir.com/'
stripUrl = url + 'comic.php?story=%s&page=%s'
firstStripUrl = stripUrl % ('1', '1')
imageSearch = '//div[@class="comic"]//img'
prevSearch = '//a[contains(@class, "prev")]'
def getIndexStripUrl(self, index):
index = index.split('-')
return self.stripUrl % (index[0], index[1])