From 202e47af5041eb105bcbd21710dd3654dc3143b1 Mon Sep 17 00:00:00 2001 From: Techwolf Date: Tue, 6 Jun 2023 21:07:42 -0700 Subject: [PATCH] Clean up lost comics --- dosagelib/plugins/c.py | 7 ----- dosagelib/plugins/f.py | 18 ------------ dosagelib/plugins/g.py | 10 ------- dosagelib/plugins/kemonocafe.py | 1 - dosagelib/plugins/mangadex.py | 1 - dosagelib/plugins/old.py | 10 +++++++ dosagelib/plugins/studiokhimera.py | 47 ------------------------------ dosagelib/plugins/t.py | 8 ----- dosagelib/plugins/v.py | 18 ------------ dosagelib/plugins/webtoons.py | 2 -- 10 files changed, 10 insertions(+), 112 deletions(-) delete mode 100644 dosagelib/plugins/studiokhimera.py diff --git a/dosagelib/plugins/c.py b/dosagelib/plugins/c.py index fa95e48ad..c731f375c 100644 --- a/dosagelib/plugins/c.py +++ b/dosagelib/plugins/c.py @@ -117,13 +117,6 @@ class CatAndGirl(_ParserScraper): prevSearch = '//a[d:class("pager--prev")]' -class CatenaCafe(WordPressScraper): - name = 'CatenaManor/CatenaCafe' - url = 'https://catenamanor.com/' - stripUrl = url + 'comic/%s/' - firstStripUrl = stripUrl % 'reboot-book1cover-small' - - class CatenaManor(_ParserScraper): baseUrl = ('https://web.archive.org/web/20141027141116/' 'http://catenamanor.com/') diff --git a/dosagelib/plugins/f.py b/dosagelib/plugins/f.py index 86de3addd..2bef57265 100644 --- a/dosagelib/plugins/f.py +++ b/dosagelib/plugins/f.py @@ -20,24 +20,6 @@ class FalconTwin(_BasicScraper): help = 'Index format: nnn' -class FalseStart(_ParserScraper): - baseUrl = 'https://boneitisindustries.com/' - url = baseUrl + 'comics/false-start/' - stripUrl = baseUrl + 'comic/%s/' - firstStripUrl = stripUrl % 'false-start-chapter-zero-page-1' - imageSearch = '//div[@id="content"]//img[d:class("size-full")]' - prevSearch = '//a[./span[d:class("ticon-chevron-left")]]' - adult = True - - def starter(self): - archivePage = self.getPage(self.url) - self.archive = archivePage.xpath('//div[contains(@class, "vcex-portfolio-grid")]//a/@href') - return self.archive[-1] - - def getPrevUrl(self, url, data): - return self.archive[self.archive.index(url) - 1] - - class Faneurysm(WordPressNaviIn): url = 'http://hijinksensue.com/comic/think-only-tree/' firstStripUrl = 'http://hijinksensue.com/comic/captains-prerogative/' diff --git a/dosagelib/plugins/g.py b/dosagelib/plugins/g.py index aa2726144..4c266f339 100644 --- a/dosagelib/plugins/g.py +++ b/dosagelib/plugins/g.py @@ -59,16 +59,6 @@ class GeeksNextDoor(_ParserScraper): help = 'Index format: yyyy-mm-dd' -class Ginpu(WordPressNavi): - url = 'https://www.ginpu.us/' - stripUrl = url + 'comic/%s/' - firstStripUrl = stripUrl % 'filler-2' - - def namer(self, imageUrl, pageUrl): - filename = imageUrl.rsplit('/', 3) - return '%s-%s_%s' % (filename[1], filename[2], filename[3]) - - class GirlGenius(_BasicScraper): baseUrl = 'http://www.girlgeniusonline.com/' rurl = escape(baseUrl) diff --git a/dosagelib/plugins/kemonocafe.py b/dosagelib/plugins/kemonocafe.py index b1e78a160..788ab1eaf 100644 --- a/dosagelib/plugins/kemonocafe.py +++ b/dosagelib/plugins/kemonocafe.py @@ -63,7 +63,6 @@ class KemonoCafe(ParserScraper): cls('LasLindas', 'laslindas', 'll0001', adult=True), cls('Paprika', 'paprika', 'page000'), cls('PracticeMakesPerfect', 'pmp', 'title-001'), - cls('PrincessBunny', 'princessbunny', 'pg001'), cls('Rascals', 'rascals', 'rascals-pg-0', adult=True), cls('TheEyeOfRamalach', 'theeye', 'theeye-page01'), cls('TinaOfTheSouth', 'tots', 'tos-01-01'), diff --git a/dosagelib/plugins/mangadex.py b/dosagelib/plugins/mangadex.py index 910821be9..1bd6e9ea9 100644 --- a/dosagelib/plugins/mangadex.py +++ b/dosagelib/plugins/mangadex.py @@ -112,7 +112,6 @@ class MangaDex(ParserScraper): cls('HowToOpenATriangularRiceball', '6ebd90ce-d5e8-49c0-a4bc-e02e0f8ecb93'), cls('HunterXHunter', 'db692d58-4b13-4174-ae8c-30c515c0689c'), cls('IchaichasuruToOkaneGaWaichauFutariNoHanashi', '8eaaec7d-7aa7-490e-8d52-5a3d0a28e78b'), - cls('ImTheMaxLevelNewbie', 'a253e13a-2b41-4f7d-915e-1e31a3f5d31d'), cls('InterspeciesReviewers', '1b2fddf9-1385-4f3c-b37a-cf86a9428b1a'), cls('JahySamaWaKujikenai', '2f4e5f5b-d930-4266-8c8a-c4cf9a81e51f'), cls('JingaiNoYomeToIchaIchaSuru', '809d2493-df3c-4e72-a57e-3e0026cae9fb'), diff --git a/dosagelib/plugins/old.py b/dosagelib/plugins/old.py index e9a53c085..b5989665b 100644 --- a/dosagelib/plugins/old.py +++ b/dosagelib/plugins/old.py @@ -604,6 +604,7 @@ class Removed(Scraper): cls('WotNow'), # Removed in 3.0 + cls('CatenaManor/CatenaCafe'), cls('ComicFury/AdventuresOftheGreatCaptainMaggieandCrew'), cls('ComicFury/AWAKENING'), cls('ComicFury/Beebleville'), @@ -832,6 +833,8 @@ class Removed(Scraper): cls('ComicsKingdom/Redeye'), cls('ComicsKingdom/RedeyeSundays'), cls('CrapIDrewOnMyLunchBreak'), + cls('FalseStart'), + cls('Ginpu'), cls('GoComics/060'), cls('GoComics/2CowsAndAChicken'), cls('GoComics/ABitSketch'), @@ -992,9 +995,11 @@ class Removed(Scraper): cls('GoComics/Wrobbertcartoons'), cls('GoComics/Zootopia'), cls('JustAnotherEscape'), + cls('KemonoCafe/PrincessBunny'), cls('Laiyu', 'brk'), cls('MangaDex/DrStone', 'legal'), cls('MangaDex/HeavensDesignTeam', 'legal'), + cls('MangaDex/ImTheMaxLevelNewbie', 'legal'), cls('MangaDex/SPYxFAMILY', 'legal'), cls('Ryugou'), cls('SeelPeel'), @@ -1568,16 +1573,21 @@ class Removed(Scraper): cls('SnafuComics/Tin'), cls('SnafuComics/Titan'), cls('StudioKhimera/Eorah', 'mov'), + cls('StudioKhimera/Mousechevious'), cls('StuffNoOneToldMe'), cls('TaleOfTenThousand'), + cls('TalesAndTactics'), cls('TheCyantianChronicles/CookieCaper'), cls('TheCyantianChronicles/Pawprints'), + cls('VampireHunterBoyfriends'), cls('VGCats/Adventure'), cls('VGCats/Super'), cls('VictimsOfTheSystem'), cls('WebDesignerCOTW'), cls('WebToons/Adamsville'), cls('WebToons/CrapIDrewOnMyLunchBreak'), + cls('WebToons/CrystalVirus'), + cls('WebToons/OVERPOWERED'), cls('WintersLight'), ) diff --git a/dosagelib/plugins/studiokhimera.py b/dosagelib/plugins/studiokhimera.py deleted file mode 100644 index 22ae3808e..000000000 --- a/dosagelib/plugins/studiokhimera.py +++ /dev/null @@ -1,47 +0,0 @@ -# SPDX-License-Identifier: MIT -# Copyright (C) 2019-2022 Tobias Gruetzmacher -# Copyright (C) 2019-2020 Daniel Ring -from ..scraper import ParserScraper -from .common import WordPressScraper - - -class StudioKhimera(ParserScraper): - imageSearch = '//figure[@class="gallery-item"]//img/@data-src' - prevSearch = '//a[@rel="prev"]' - - def __init__(self, name, sub, last=None, adult=False, fixNames=False): - super().__init__('StudioKhimera/' + name) - - self.baseUrl = 'https://%s.studiokhimera.com/' % sub - self.stripUrl = self.baseUrl + '%s/' - self.url = self.baseUrl + 'category/comicChapter/?latest' - - self.multipleImagesPerStrip = True - - if last: - self.last = True - self.url = self.stripUrl % last - self.endOfLife = True - - if adult: - self.adult = True - - def starter(self): - # Retrieve list of chapter links - chapterPage = self.getPage(self.baseUrl + 'archive/') - self.chapters = chapterPage.xpath('//main//a/@href') - self.firstStripUrl = self.chapters[0] - return self.chapters[-1] - - def getPrevUrl(self, url, data): - # Select previous chapter from list - index = [i for i, ch in enumerate(self.chapters) if ch == url][0] - if index == 0: - return None - return self.chapters[index - 1] - - @classmethod - def getmodules(cls): - return ( - cls('Mousechievous', 'mousechievous'), - ) diff --git a/dosagelib/plugins/t.py b/dosagelib/plugins/t.py index ba41db60a..c9c1596dd 100644 --- a/dosagelib/plugins/t.py +++ b/dosagelib/plugins/t.py @@ -16,14 +16,6 @@ from .common import (ComicControlScraper, WordPressScraper, WordPressSpliced, WordPressNavi, WordPressWebcomic) -class TailsAndTactics(_ParserScraper): - url = 'http://tailsandtactics.com/comic/' - stripUrl = url + '%s/' - firstStripUrl = stripUrl % '1' - imageSearch = '//div[@class="comic-image"]/img' - prevSearch = '//a[text()=" Back"]' - - class TekMage(WordPressNavi): url = 'https://tekmagecomic.com/' stripUrl = url + 'comic/%s/' diff --git a/dosagelib/plugins/v.py b/dosagelib/plugins/v.py index 191ea106f..cc0e1777b 100644 --- a/dosagelib/plugins/v.py +++ b/dosagelib/plugins/v.py @@ -7,24 +7,6 @@ from ..scraper import ParserScraper, _ParserScraper from ..helpers import bounceStarter, indirectStarter -class VampireHunterBoyfriends(_ParserScraper): - baseUrl = 'https://boneitisindustries.com/' - url = baseUrl + 'comics/vampire-hunter-boyfriends/' - stripUrl = baseUrl + 'comic/%s/' - firstStripUrl = stripUrl % 'vampire-hunter-boyfriends-chapter-1-cover' - imageSearch = '//div[@id="content"]//img[d:class("size-full")]' - prevSearch = '//a[./span[d:class("ticon-chevron-left")]]' - adult = True - - def starter(self): - archivePage = self.getPage(self.url) - self.archive = archivePage.xpath('//div[contains(@class, "vcex-portfolio-grid")]//a/@href') - return self.archive[-1] - - def getPrevUrl(self, url, data): - return self.archive[self.archive.index(url) - 1] - - class Vexxarr(_ParserScraper): baseUrl = 'http://www.vexxarr.com/' url = baseUrl + 'Index.php' diff --git a/dosagelib/plugins/webtoons.py b/dosagelib/plugins/webtoons.py index 72f6415fd..ecd3f47c2 100644 --- a/dosagelib/plugins/webtoons.py +++ b/dosagelib/plugins/webtoons.py @@ -122,7 +122,6 @@ class WebToons(ParserScraper): cls('CodeAdam', 'action/code-adam', 1657), cls('CookingComically', 'tiptoon/cooking-comically', 622), cls('Crumbs', 'romance/crumbs', 1648), - cls('CrystalVirus', 'challenge/crystal-virus', 347038), cls('CrystalVirusOtherStory', 'challenge/crystal-virus-other-story', 837028), cls('CupidsArrows', 'romance/cupids-arrows', 1538), cls('CursedPrincessClub', 'comedy/cursed-princess-club', 1537), @@ -311,7 +310,6 @@ class WebToons(ParserScraper): cls('OmniscientReader', 'action/omniscient-reader', 2154), cls('ORANGEMARMALADE', 'romance/orange-marmalade', 97), cls('Outrage', 'super-hero/outrage', 1450), - cls('OVERPOWERED', 'challenge/overpowered', 85292), cls('PacificRimAmara', 'sf/pacific-rim-amara', 1327), cls('PandorasBlogs', 'challenge/pandoras-blogs', 532007), cls('PaperRoses', 'challenge/paper-roses', 39736),