76 lines
2.8 KiB
Python
76 lines
2.8 KiB
Python
|
# SPDX-License-Identifier: MIT
|
||
|
# Copyright (C) 2019-2020 Tobias Gruetzmacher
|
||
|
# Copyright (C) 2019-2022 Daniel Ring
|
||
|
from ..scraper import _ParserScraper
|
||
|
from ..helpers import indirectStarter
|
||
|
|
||
|
|
||
|
class Wrongside(_ParserScraper):
|
||
|
baseUrl = 'http://ayzewi.com/maingallery3/'
|
||
|
url = baseUrl + 'index.php?/category/5'
|
||
|
stripUrl = baseUrl + 'picture.php?%s'
|
||
|
firstStripUrl = stripUrl % '/175/category/21'
|
||
|
imageSearch = '//img[@id="theMainImage"]/@src'
|
||
|
prevSearch = '//a[contains(@title, "Previous :")]'
|
||
|
|
||
|
def starter(self):
|
||
|
archivePage = self.getPage(self.url)
|
||
|
chapterUrls = archivePage.xpath('//ul[@class="albThumbs"]//a/@href')
|
||
|
self.archive = []
|
||
|
for chapterUrl in chapterUrls:
|
||
|
chapterPage = self.getPage(chapterUrl)
|
||
|
self.archive.append(chapterPage.xpath('(//ul[@id="thumbnails"]//a/@href)[last()]')[0])
|
||
|
return self.archive[0]
|
||
|
|
||
|
def getPrevUrl(self, url, data):
|
||
|
if data.xpath(self.prevSearch) == [] and len(self.archive) > 0:
|
||
|
return self.archive.pop()
|
||
|
return super(Wrongside, self).getPrevUrl(url, data)
|
||
|
|
||
|
def namer(self, imageUrl, pageUrl):
|
||
|
page = self.getPage(pageUrl)
|
||
|
title = page.xpath('//div[@class="browsePath"]/h2/text()')[0]
|
||
|
return title.replace('"', '') + '.' + imageUrl.rsplit('.', 1)[-1]
|
||
|
|
||
|
|
||
|
class WrongsideBeginnings(Wrongside):
|
||
|
name = 'Wrongside/Beginnings'
|
||
|
baseUrl = 'http://ayzewi.com/maingallery3/'
|
||
|
url = baseUrl + 'index.php?/category/4'
|
||
|
stripUrl = baseUrl + 'picture.php?%s'
|
||
|
firstStripUrl = stripUrl % '/2/category/18'
|
||
|
|
||
|
|
||
|
class WrongsideSideStories(_ParserScraper):
|
||
|
baseUrl = 'http://ayzewi.com/maingallery3/'
|
||
|
stripUrl = baseUrl + 'picture.php?%s'
|
||
|
imageSearch = '//img[@id="theMainImage"]/@src'
|
||
|
prevSearch = '//a[contains(@title, "Previous :")]'
|
||
|
latestSearch = '(//ul[@id="thumbnails"]//a/@href)[last()]'
|
||
|
starter = indirectStarter
|
||
|
|
||
|
def __init__(self, name, category, first, last=None):
|
||
|
super().__init__('Wrongside/' + name)
|
||
|
self.url = self.baseUrl + 'index.php?/category/' + category
|
||
|
self.firstStripUrl = self.stripUrl % ('/' + first + '/category/' + category)
|
||
|
|
||
|
if last:
|
||
|
self.endOfLife = True
|
||
|
|
||
|
@classmethod
|
||
|
def getmodules(cls):
|
||
|
return (
|
||
|
cls('AnarkisRising', '7', '302'),
|
||
|
cls('CommonsDreams', '9', '324'),
|
||
|
cls('Faith', '11', '349'),
|
||
|
cls('Sarah', '10', '337'),
|
||
|
cls('ThereAreNoAviansHere', '8', '313'),
|
||
|
cls('TheScientificProphet', '13', '358'),
|
||
|
cls('TheStrangers', '12', '361'),
|
||
|
)
|
||
|
|
||
|
def namer(self, imageUrl, pageUrl):
|
||
|
page = self.getPage(pageUrl)
|
||
|
title = page.xpath('//div[@class="browsePath"]/h2/text()')[0]
|
||
|
return title.replace('"', '') + '.' + imageUrl.rsplit('.', 1)[-1]
|