From 67f787c5895cfd8176bc890e1ceeaa4883fdfea4 Mon Sep 17 00:00:00 2001 From: Techwolf Date: Thu, 21 Jan 2021 01:41:26 -0800 Subject: [PATCH] Fix Tapastic scraper for comics with episode list in ascending order --- dosagelib/plugins/tapastic.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dosagelib/plugins/tapastic.py b/dosagelib/plugins/tapastic.py index 4cf83777b..57fe4cfe4 100644 --- a/dosagelib/plugins/tapastic.py +++ b/dosagelib/plugins/tapastic.py @@ -10,7 +10,6 @@ class Tapastic(_ParserScraper): imageSearch = '//article[contains(@class, "js-episode-article")]//img/@data-src' prevSearch = '//a[contains(@class, "js-prev-ep-btn")]' latestSearch = '//ul[contains(@class, "js-episode-list")]//a' - starter = indirectStarter multipleImagesPerStrip = True def __init__(self, name, url): @@ -18,6 +17,16 @@ class Tapastic(_ParserScraper): self.url = self.baseUrl + 'series/' + url + '/info' self.stripUrl = self.baseUrl + 'episode/%s' + def starter(self): + # Retrieve comic metadata from info page + info = self.getPage(self.url) + series = info.xpath('//@data-series-id')[0] + # Retrieve comic metadata from API + data = self.session.get(self.baseUrl + 'series/' + series + '/episodes?sort=NEWEST') + data.raise_for_status() + episodes = data.json()['data']['body'] + return self.stripUrl % episodes.split('data-id="')[1].split('"')[0] + def getPrevUrl(self, url, data): # Retrieve comic metadata from API data = self.session.get(url + '/info')