Clean up ComicFury a bit

Mostly getting rid of vanished comics, but also cleaning up the matching
expressions a bit.
This commit is contained in:
Tobias Gruetzmacher 2019-12-25 23:01:47 +01:00
parent ab488cbbd6
commit 44af7acdbc
5 changed files with 27 additions and 64 deletions

View file

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs # Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
# Copyright (C) 2012-2014 Bastian Kleineidam # Copyright (C) 2012-2014 Bastian Kleineidam
# Copyright (C) 2015-2017 Tobias Gruetzmacher # Copyright (C) 2015-2019 Tobias Gruetzmacher
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
@ -11,7 +11,7 @@ from ..scraper import _ParserScraper
from ..helpers import bounceStarter, xpath_class from ..helpers import bounceStarter, xpath_class
XPATH_LINK = '//a[%s and contains(text(), "%s")]' XPATH_LINK = '//a[%s and contains(text(), "%s")]'
XPATH_IMG = '//a[%s][img[contains(@alt, "%s")]]' XPATH_IMG = '//div[{}]//a[img[contains(@alt, "%s")]]'.format(xpath_class('comicnav'))
class ComicFury(_ParserScraper): class ComicFury(_ParserScraper):
@ -19,23 +19,25 @@ class ComicFury(_ParserScraper):
'//div[@id="comicimagewrap"]//embed', '//div[@id="comicimagewrap"]//embed',
'//div[@id="comicimagewrap"]//img') '//div[@id="comicimagewrap"]//img')
prevSearch = ( prevSearch = (
'//a[contains(@title, "previous")]', # 137 '//link[@rel="prev"]',
# 137 (needs to be before the generic a@rel, because layout is wrong)
'//a[contains(@title, "previous")]',
'//a[@rel="prev"]', '//a[@rel="prev"]',
XPATH_LINK % (xpath_class("comicnavlink"), "Previous"), XPATH_LINK % (xpath_class("comicnavlink"), "Previous"),
# Art, ConsolersDLC, ShutUpDiarybyBarbaraHolm, etc. XPATH_IMG % ('Previous'),
'//p[%s]/a[2]' % xpath_class('prev'), # Art, ConsolersDLC, etc.
'//a[%s]' % xpath_class('prev'), # JaquieNovemberAndTheSpookiness u'//nav//a[contains(text(), "\u2039")]',
# TheTempleAtFiftyFathoms )
XPATH_IMG % (xpath_class("comicnavlink"), 'Previous'))
nextSearch = ( nextSearch = (
'//a[contains(@title, "next")]', # 137 '//link[@rel="next"]',
# 137 (see above)
'//a[contains(@title, "next")]',
'//a[@rel="next"]', '//a[@rel="next"]',
XPATH_LINK % (xpath_class("comicnavlink"), "Next"), XPATH_LINK % (xpath_class("comicnavlink"), "Next"),
# Art, ConsolersDLC, ShutUpDiarybyBarbaraHolm, etc. XPATH_IMG % ('Next'),
'//p[%s]/a[1]' % xpath_class('next'), # Art, ConsolersDLC, etc.
'//a[%s]' % xpath_class('next'), # JaquieNovemberAndTheSpookiness u'//nav//a[contains(text(), "\u203A")]',
# TheTempleAtFiftyFathoms )
XPATH_IMG % (xpath_class("comicnavlink"), 'Next'))
help = 'Index format: n' help = 'Index format: n'
starter = bounceStarter starter = bounceStarter
@ -73,7 +75,6 @@ class ComicFury(_ParserScraper):
cls('137', '137'), cls('137', '137'),
cls('20', 'two-over-zero'), cls('20', 'two-over-zero'),
cls('20QuidAmusements', 'twentyquidamusements'), cls('20QuidAmusements', 'twentyquidamusements'),
cls('2ItMakesNoCence', 'rtyuiop'),
cls('30', '30years'), cls('30', '30years'),
cls('30DaysOfCharacters', '30days'), cls('30DaysOfCharacters', '30days'),
cls('3DGlasses', '3dglasses'), cls('3DGlasses', '3dglasses'),
@ -82,7 +83,6 @@ class ComicFury(_ParserScraper):
cls('6Tales', 'sixtales'), cls('6Tales', 'sixtales'),
cls('933Dollars', '933dollars'), cls('933Dollars', '933dollars'),
cls('_Thetest_', 'thetest'), cls('_Thetest_', 'thetest'),
cls('ABAndCComic', 'abc'),
cls('AbbyComics', 'abbycomics'), cls('AbbyComics', 'abbycomics'),
cls('ABrickishSpaceComic', 'abrickishspacecomic'), cls('ABrickishSpaceComic', 'abrickishspacecomic'),
cls('AbsentMindedTheatre', 'amtheatre'), cls('AbsentMindedTheatre', 'amtheatre'),
@ -94,7 +94,6 @@ class ComicFury(_ParserScraper):
cls('Acroalis', 'acroalis'), cls('Acroalis', 'acroalis'),
cls('ActingOut', 'actingout'), cls('ActingOut', 'actingout'),
cls('ActionLand', 'actionland'), cls('ActionLand', 'actionland'),
cls('ADestructionOfAVillage', 'adoav'),
cls('Advent', 'advent'), cls('Advent', 'advent'),
cls('AdventuresInJetpacks', 'adventuresinjetpacks'), cls('AdventuresInJetpacks', 'adventuresinjetpacks'),
cls('AdventuresInTanoshii', 'adventuresintanoshii'), cls('AdventuresInTanoshii', 'adventuresintanoshii'),
@ -147,7 +146,6 @@ class ComicFury(_ParserScraper):
cls('Archibald', 'archibald'), cls('Archibald', 'archibald'),
cls('ArchiNinja', 'archininja'), cls('ArchiNinja', 'archininja'),
# ArchportCityChronicles has a duplicate in SmackJeeves/ArchportCityChronicles # ArchportCityChronicles has a duplicate in SmackJeeves/ArchportCityChronicles
cls('Area42', 'area42'),
cls('AreYouDoneYet', 'areyoudoneyet'), cls('AreYouDoneYet', 'areyoudoneyet'),
cls('ArmlessAmy', 'armlessamy'), cls('ArmlessAmy', 'armlessamy'),
cls('ArmlessAmyExtraEdition', 'armlessamyextraedition'), cls('ArmlessAmyExtraEdition', 'armlessamyextraedition'),
@ -156,7 +154,6 @@ class ComicFury(_ParserScraper):
cls('ArtificialStorm', 'artificialstorm'), cls('ArtificialStorm', 'artificialstorm'),
cls('ArtisticAdventuresInBoredom', 'aab'), cls('ArtisticAdventuresInBoredom', 'aab'),
cls('ARVEYToonz', 'arveytoonz'), cls('ARVEYToonz', 'arveytoonz'),
cls('Ascendria', 'ascendria'),
cls('Ashes', 'ashescomic'), cls('Ashes', 'ashescomic'),
cls('Asperchu', 'asperchu'), cls('Asperchu', 'asperchu'),
cls('AsperitasAstraalia', 'asperitasastraalia'), cls('AsperitasAstraalia', 'asperitasastraalia'),
@ -189,7 +186,6 @@ class ComicFury(_ParserScraper):
cls('BASKERVILLE', 'baskerville'), cls('BASKERVILLE', 'baskerville'),
cls('BASO', 'baso'), cls('BASO', 'baso'),
cls('BattleOfTheRobofemoids', 'battle-of-the-robofemoids'), cls('BattleOfTheRobofemoids', 'battle-of-the-robofemoids'),
cls('Batty', 'batty'),
cls('BeatStuffUpMan', 'beatstuffupman'), cls('BeatStuffUpMan', 'beatstuffupman'),
cls('Beebleville', 'beebleville'), cls('Beebleville', 'beebleville'),
cls('BeepClub', 'beepclub'), cls('BeepClub', 'beepclub'),
@ -205,7 +201,6 @@ class ComicFury(_ParserScraper):
cls('BetweenTheInterval', 'betweentheinterval'), cls('BetweenTheInterval', 'betweentheinterval'),
# BeyondTheOrdinary has a duplicate in SmackJeeves/BeyondTheOrdinary # BeyondTheOrdinary has a duplicate in SmackJeeves/BeyondTheOrdinary
cls('BibleBelt', 'biblebelt'), cls('BibleBelt', 'biblebelt'),
cls('BicycleBoy', 'bicycleboy'),
cls('BilateralComics', 'bilateralcomics'), cls('BilateralComics', 'bilateralcomics'),
cls('BionicleTales', 'bionicletales'), cls('BionicleTales', 'bionicletales'),
cls('BioSyte', 'biosyte'), cls('BioSyte', 'biosyte'),
@ -217,13 +212,11 @@ class ComicFury(_ParserScraper):
cls('BlueBloodHeroes', 'bluebloodheroes'), cls('BlueBloodHeroes', 'bluebloodheroes'),
cls('BoatcrashChronicles', 'boatcrash'), cls('BoatcrashChronicles', 'boatcrash'),
cls('BobbyTheFetus', 'bobbythefetus'), cls('BobbyTheFetus', 'bobbythefetus'),
cls('BobComix', 'bobcomix'),
cls('Boobgirl', 'boobgirl'), cls('Boobgirl', 'boobgirl'),
cls('BookOfThree', 'bookofthree'), cls('BookOfThree', 'bookofthree'),
cls('BooksDontWorkHere', 'booksdontworkhere'), cls('BooksDontWorkHere', 'booksdontworkhere'),
cls('BorisAndBjorn', 'borisandbjorn'), cls('BorisAndBjorn', 'borisandbjorn'),
cls('Boritom', 'boritom'), cls('Boritom', 'boritom'),
cls('BoyAurus', 'boyaurus'),
cls('BrainFood', 'brainfood'), cls('BrainFood', 'brainfood'),
cls('BrainTeaser', 'brainteaser'), cls('BrainTeaser', 'brainteaser'),
cls('BritarsesHashHymnal', 'hashhymnal'), cls('BritarsesHashHymnal', 'hashhymnal'),
@ -268,6 +261,7 @@ class ComicFury(_ParserScraper):
cls('ChronoRedux', 'chronoredux'), cls('ChronoRedux', 'chronoredux'),
cls('Cinder', 'cinder'), cls('Cinder', 'cinder'),
cls('CircusJaxs', 'circusjaxs'), cls('CircusJaxs', 'circusjaxs'),
cls('CityFolk', 'cityfolkwebcomics'),
cls('CityOfDream', 'cityofdream'), cls('CityOfDream', 'cityofdream'),
cls('CKarrus', 'ckarrus'), cls('CKarrus', 'ckarrus'),
cls('ClassicElsewhere', 'classicelsewhere'), cls('ClassicElsewhere', 'classicelsewhere'),
@ -286,7 +280,6 @@ class ComicFury(_ParserScraper):
cls('COMIXTURE', 'comixture'), cls('COMIXTURE', 'comixture'),
cls('CommonReadComicAdaptions', 'slucommonread'), cls('CommonReadComicAdaptions', 'slucommonread'),
cls('CompanyManComic', 'companyman'), cls('CompanyManComic', 'companyman'),
cls('Complicated', 'complicatedd'),
cls('ConcerningJustice', 'concerningjustice'), cls('ConcerningJustice', 'concerningjustice'),
cls('CONIES', 'conies'), cls('CONIES', 'conies'),
cls('ConradTheCaterpillar', 'conradthecaterpillar'), cls('ConradTheCaterpillar', 'conradthecaterpillar'),
@ -319,7 +312,6 @@ class ComicFury(_ParserScraper):
cls('CubeCows', 'cubecows'), cls('CubeCows', 'cubecows'),
cls('CupcakeGraffiti', 'cupcakegraffiti'), cls('CupcakeGraffiti', 'cupcakegraffiti'),
cls('CYXLOSISM', 'cyxlocistic'), cls('CYXLOSISM', 'cyxlocistic'),
cls('Daffodil', 'daffodil'),
cls('DailyDoodle', 'dailydoodle'), cls('DailyDoodle', 'dailydoodle'),
cls('DailyOneLiner', 'daily1l'), cls('DailyOneLiner', 'daily1l'),
cls('DamaclesAndKenjall', 'wowwithatwist-damaclesandkejallcomic'), cls('DamaclesAndKenjall', 'wowwithatwist-damaclesandkejallcomic'),
@ -353,7 +345,6 @@ class ComicFury(_ParserScraper):
cls('DieRabbitDie', 'dierabbitdie'), cls('DieRabbitDie', 'dierabbitdie'),
cls('DimensioNoir', 'dimensionoir'), cls('DimensioNoir', 'dimensionoir'),
cls('DivinaFortuna', 'divinafortuna'), cls('DivinaFortuna', 'divinafortuna'),
cls('Djandora', 'djandora'),
cls('DnDDumbAndDumber', 'dnddumbanddumber'), cls('DnDDumbAndDumber', 'dnddumbanddumber'),
cls('DoffeEllende', 'doffeellende'), cls('DoffeEllende', 'doffeellende'),
cls('Dogstar', 'dogstar'), cls('Dogstar', 'dogstar'),
@ -384,7 +375,6 @@ class ComicFury(_ParserScraper):
cls('DungeonMasterEffect', 'dungeonmastereffect'), cls('DungeonMasterEffect', 'dungeonmastereffect'),
cls('DyerinsLine', 'dyerinsline'), cls('DyerinsLine', 'dyerinsline'),
cls('EclipseLegend', 'eclipselegend'), cls('EclipseLegend', 'eclipselegend'),
cls('ECTOPIARY', 'ectopiary'),
cls('Educomix', 'educomix'), cls('Educomix', 'educomix'),
cls('EffinguKookoo', 'effingukookoo'), cls('EffinguKookoo', 'effingukookoo'),
cls('EightBitAdventuresOfCaptainA', 'eightbitadventures'), cls('EightBitAdventuresOfCaptainA', 'eightbitadventures'),
@ -397,7 +387,6 @@ class ComicFury(_ParserScraper):
cls('EmpiresOfSteam', 'empiresofsteam'), cls('EmpiresOfSteam', 'empiresofsteam'),
cls('Energize', 'energize'), cls('Energize', 'energize'),
cls('enoZone', 'xenozone'), cls('enoZone', 'xenozone'),
cls('Ensanguine', 'ensanguine'),
cls('EpicsOfNoche', 'epicsofnoche'), cls('EpicsOfNoche', 'epicsofnoche'),
cls('Equilibrium', 'equilibrists'), cls('Equilibrium', 'equilibrists'),
# Equsopia has a duplicate in SmackJeeves/Equsopia # Equsopia has a duplicate in SmackJeeves/Equsopia
@ -407,7 +396,6 @@ class ComicFury(_ParserScraper):
cls('EscapeVelocity', 'escapevelocity'), cls('EscapeVelocity', 'escapevelocity'),
cls('EternalNight', 'eternalnight'), cls('EternalNight', 'eternalnight'),
cls('EternityComplex', 'eternityc'), cls('EternityComplex', 'eternityc'),
cls('Everett', 'everett'),
cls('EverydayAbnormal', 'everydayabnormal'), cls('EverydayAbnormal', 'everydayabnormal'),
cls('EvilRising', 'evilrising'), cls('EvilRising', 'evilrising'),
cls('EWMIC', 'ewmic'), cls('EWMIC', 'ewmic'),
@ -417,7 +405,6 @@ class ComicFury(_ParserScraper):
cls('Fallacy', 'fallacy-harha'), cls('Fallacy', 'fallacy-harha'),
cls('FandomMisadventures', 'eatabaguette'), cls('FandomMisadventures', 'eatabaguette'),
cls('Fannicklas', 'fannicklas'), cls('Fannicklas', 'fannicklas'),
cls('Farrago', 'farragocomic'),
cls('FatalExpression', 'fexpression'), cls('FatalExpression', 'fexpression'),
cls('FBHNKAG', 'fbhnk-ag'), cls('FBHNKAG', 'fbhnk-ag'),
cls('FeliciaSorceressOfKatara', 'felicia'), cls('FeliciaSorceressOfKatara', 'felicia'),
@ -463,11 +450,9 @@ class ComicFury(_ParserScraper):
cls('GlomshireKnights', 'glomshire'), cls('GlomshireKnights', 'glomshire'),
cls('Glorianna', 'glorianna'), cls('Glorianna', 'glorianna'),
cls('GnomereganForever', 'gnomereganforever'), cls('GnomereganForever', 'gnomereganforever'),
cls('GodGames', 'godgames'),
cls('GODHATESDADS', 'godhatesdads'), cls('GODHATESDADS', 'godhatesdads'),
cls('GoldBlood', 'goldblood'), cls('GoldBlood', 'goldblood'),
cls('Goldrush', 'goldrush-dynllewcomics'), cls('Goldrush', 'goldrush-dynllewcomics'),
cls('GoliathRaidComicRoleplay', 'goliathteamchcroleplay'),
cls('GrandfathersTale', 'grandfatherstale'), cls('GrandfathersTale', 'grandfatherstale'),
cls('Grandify', 'grandify'), cls('Grandify', 'grandify'),
cls('Gratz', 'gratz'), cls('Gratz', 'gratz'),
@ -487,7 +472,6 @@ class ComicFury(_ParserScraper):
cls('HazardousScience', 'hazsci'), cls('HazardousScience', 'hazsci'),
cls('HazardsWake', 'hazardswake'), cls('HazardsWake', 'hazardswake'),
cls('HazyDaze', 'hazydaze'), cls('HazyDaze', 'hazydaze'),
cls('HCModeRoleplay', 'hcmoderoleplay'),
cls('HeadRoom', 'headroom'), cls('HeadRoom', 'headroom'),
cls('HeadWound', 'headwound'), cls('HeadWound', 'headwound'),
cls('HeartOfKeol', 'keol'), cls('HeartOfKeol', 'keol'),
@ -526,7 +510,6 @@ class ComicFury(_ParserScraper):
cls('IDGet', 'idget'), cls('IDGet', 'idget'),
cls('IFSU', 'ifsused'), cls('IFSU', 'ifsused'),
cls('IgnitionZero', 'ignitionzero'), cls('IgnitionZero', 'ignitionzero'),
cls('IHaveNeverActuallySeenACat', 'ihaveneveractuallyseenacat'),
cls('IlusionOfTime', 'illusionoftime'), cls('IlusionOfTime', 'illusionoftime'),
cls('Immigrant', 'immigrant'), cls('Immigrant', 'immigrant'),
cls('ImNotYourFriend', 'imnotyourfriend'), cls('ImNotYourFriend', 'imnotyourfriend'),
@ -553,7 +536,6 @@ class ComicFury(_ParserScraper):
cls('ItsComplicated', 'itscomplicated'), cls('ItsComplicated', 'itscomplicated'),
cls('ItsJustAnotherDay', 'itsjustanotherday'), cls('ItsJustAnotherDay', 'itsjustanotherday'),
cls('ItsNEWDAY', 'itsnewday'), cls('ItsNEWDAY', 'itsnewday'),
cls('IWantADrink', 'iwad'),
cls('JackAndTheBeanstalk', 'jackandthebeanstalk'), cls('JackAndTheBeanstalk', 'jackandthebeanstalk'),
cls('JackFrostDoujin', 'jfdoujin'), cls('JackFrostDoujin', 'jfdoujin'),
cls('JackitAndFriends', 'jackitandfriends'), cls('JackitAndFriends', 'jackitandfriends'),
@ -580,7 +562,6 @@ class ComicFury(_ParserScraper):
cls('Junk', 'junk'), cls('Junk', 'junk'),
cls('Jupiter', 'jupiter'), cls('Jupiter', 'jupiter'),
cls('JustPeachy', 'justpeachy'), cls('JustPeachy', 'justpeachy'),
cls('KaChing', 'kachingcomic'),
cls('KarensEdge', 'karensedge'), cls('KarensEdge', 'karensedge'),
cls('Katastrophe', 'katastrophe'), cls('Katastrophe', 'katastrophe'),
cls('KayAndP', 'kayandp'), cls('KayAndP', 'kayandp'),
@ -629,9 +610,7 @@ class ComicFury(_ParserScraper):
cls('LifeExplained', 'lifeexplained'), cls('LifeExplained', 'lifeexplained'),
cls('LightBulbs', 'lightbulbs'), cls('LightBulbs', 'lightbulbs'),
cls('LightningProphetess', 'lp'), cls('LightningProphetess', 'lp'),
cls('Lightside', 'lightside'),
cls('LilHeroArtists', 'lilheroartists'), cls('LilHeroArtists', 'lilheroartists'),
cls('LilithDark', 'lilithdark'),
# LimboRoad has a duplicate in ComicSherpa/LimboRoad # LimboRoad has a duplicate in ComicSherpa/LimboRoad
cls('Lint', 'lint'), cls('Lint', 'lint'),
cls('Lintier', 'lintier'), cls('Lintier', 'lintier'),
@ -654,7 +633,6 @@ class ComicFury(_ParserScraper):
cls('LunaStar', 'lunastar'), cls('LunaStar', 'lunastar'),
cls('MadGirl', 'madgirl'), cls('MadGirl', 'madgirl'),
cls('MagicElDesencuentro', 'magiceldesencuentro', 'es'), cls('MagicElDesencuentro', 'magiceldesencuentro', 'es'),
cls('Magickless', 'magickless'),
cls('MagicTheScattering', 'magicthescattering'), cls('MagicTheScattering', 'magicthescattering'),
cls('MAGISAPARASAYOupdatesMonFri', 'mag-isa'), cls('MAGISAPARASAYOupdatesMonFri', 'mag-isa'),
cls('MagnaComica', 'magnacomica'), cls('MagnaComica', 'magnacomica'),
@ -676,7 +654,6 @@ class ComicFury(_ParserScraper):
cls('MeganKearneysBeautyAndTheBeast', 'batb'), cls('MeganKearneysBeautyAndTheBeast', 'batb'),
cls('MelancholyGoRound', 'melancholygoround'), cls('MelancholyGoRound', 'melancholygoround'),
cls('MerelyMortal', 'merelymortal'), cls('MerelyMortal', 'merelymortal'),
cls('MeridianSixColdReset', 'meridiansix'),
cls('Messenger', 'messenger'), cls('Messenger', 'messenger'),
cls('MichaelTDesingsArmyAnts', 'armyants'), cls('MichaelTDesingsArmyAnts', 'armyants'),
cls('MichellesUniverseScrapbook', 'michellesuniversescrapbook'), cls('MichellesUniverseScrapbook', 'michellesuniversescrapbook'),
@ -721,7 +698,6 @@ class ComicFury(_ParserScraper):
cls('MyGirlfriendTheSecretAgent', 'mygfthesecagent'), cls('MyGirlfriendTheSecretAgent', 'mygfthesecagent'),
cls('MyLifeWithoutAJetpack', 'nojetpack'), cls('MyLifeWithoutAJetpack', 'nojetpack'),
cls('MyLittlePonyFriendshipIsBetrayal', 'mlp-fib'), cls('MyLittlePonyFriendshipIsBetrayal', 'mlp-fib'),
cls('MyPetSuccubus', 'petsuccubus'),
cls('MysteriousManOfSkull', 'mysteriousmanofskull'), cls('MysteriousManOfSkull', 'mysteriousmanofskull'),
cls('MyTVIsEvil', 'mytvisevil'), cls('MyTVIsEvil', 'mytvisevil'),
cls('NA', 'noche'), cls('NA', 'noche'),
@ -748,7 +724,6 @@ class ComicFury(_ParserScraper):
cls('NyxInTheOverworld', 'nyx'), cls('NyxInTheOverworld', 'nyx'),
cls('OceanLabyrinth', 'oceanlabyrinth'), cls('OceanLabyrinth', 'oceanlabyrinth'),
cls('Oeight', 'oeight'), cls('Oeight', 'oeight'),
cls('OffHours', 'offhours'),
cls('OfficeLogic', 'office-logic'), cls('OfficeLogic', 'office-logic'),
cls('OffSeason', 'offseasoncomic'), cls('OffSeason', 'offseasoncomic'),
cls('OffWorldTheCrease', 'thecrease'), cls('OffWorldTheCrease', 'thecrease'),
@ -760,7 +735,6 @@ class ComicFury(_ParserScraper):
cls('OnePieceGrandLine3Point5', 'grandline3point5'), cls('OnePieceGrandLine3Point5', 'grandline3point5'),
cls('OneSided', 'one-sided'), cls('OneSided', 'one-sided'),
cls('OrbFragmentSlim', 'orbfragment'), cls('OrbFragmentSlim', 'orbfragment'),
cls('OrbFragmentSlimMangaSeries', 'orb-manga'),
cls('OrganizedMess', 'organizedmess'), cls('OrganizedMess', 'organizedmess'),
cls('Otherworldly', 'otherworldly-comics'), cls('Otherworldly', 'otherworldly-comics'),
cls('OutFerASmoke', 'outferasmoke'), cls('OutFerASmoke', 'outferasmoke'),
@ -783,7 +757,6 @@ class ComicFury(_ParserScraper):
cls('Pegwarmers', 'pegwarmers'), cls('Pegwarmers', 'pegwarmers'),
cls('PenguinCapers', 'penguin-capers'), cls('PenguinCapers', 'penguin-capers'),
cls('PerceivablyHuman', 'perceivablyhuman'), cls('PerceivablyHuman', 'perceivablyhuman'),
cls('PerilousEndeavor', 'perilousendeavor'),
cls('PersonaForTheWin', 'personaftw'), cls('PersonaForTheWin', 'personaftw'),
cls('Perspectives', 'perspectives'), cls('Perspectives', 'perspectives'),
cls('PhantomsTrail', 'phantomstrail'), cls('PhantomsTrail', 'phantomstrail'),
@ -899,7 +872,6 @@ class ComicFury(_ParserScraper):
cls('Skeeter', 'herecomesskeeter'), cls('Skeeter', 'herecomesskeeter'),
cls('Sketchy', 'sketchy'), cls('Sketchy', 'sketchy'),
# Slackmatic has a duplicate in SmackJeeves/Slackmatic # Slackmatic has a duplicate in SmackJeeves/Slackmatic
cls('SleazySpaceSaga', 'sleazyspacesage'),
# SLightlyAbOVeAvErage has a duplicate in SmackJeeves/SLightlyabOVeavErage # SLightlyAbOVeAvErage has a duplicate in SmackJeeves/SLightlyabOVeavErage
# SlipstreamSingularity has a duplicate in SmackJeeves/SlipstreamSingularity # SlipstreamSingularity has a duplicate in SmackJeeves/SlipstreamSingularity
cls('SlugMan', 'slug-man'), cls('SlugMan', 'slug-man'),
@ -924,7 +896,6 @@ class ComicFury(_ParserScraper):
cls('StampedeJessicasStory', 'stampedegirl'), cls('StampedeJessicasStory', 'stampedegirl'),
cls('Starcrossed', 'starcrossed'), cls('Starcrossed', 'starcrossed'),
cls('StarPunchGirl', 'starpunchgirl'), cls('StarPunchGirl', 'starpunchgirl'),
cls('StarSovereignSeriesMuladhara', 'muladhara'),
cls('STARWARSXWingAlliance', 'x-wingalliance'), cls('STARWARSXWingAlliance', 'x-wingalliance'),
cls('STASonicTheAdventure', 'sta'), cls('STASonicTheAdventure', 'sta'),
cls('StereotyPixs', 'stereotypixs'), cls('StereotyPixs', 'stereotypixs'),
@ -937,7 +908,6 @@ class ComicFury(_ParserScraper):
cls('Streamo', 'streamo'), cls('Streamo', 'streamo'),
cls('SundaySmash', 'sundaysmash'), cls('SundaySmash', 'sundaysmash'),
cls('Sunray', 'sunray'), cls('Sunray', 'sunray'),
cls('SuperChibiGirl', 'superchibigirl'),
cls('SuperGalaxyKnightsDeluxeR', 'sgkdr'), cls('SuperGalaxyKnightsDeluxeR', 'sgkdr'),
cls('SuperheroTales', 'superherobeingsuper'), cls('SuperheroTales', 'superherobeingsuper'),
# SupermassiveBlackHoleA has a duplicate in SmackJeeves/SupermassiveBlackHoleA # SupermassiveBlackHoleA has a duplicate in SmackJeeves/SupermassiveBlackHoleA
@ -945,8 +915,6 @@ class ComicFury(_ParserScraper):
cls('Supervillainous', 'supervillainous'), cls('Supervillainous', 'supervillainous'),
cls('SurrealScience', 'surrealscience'), cls('SurrealScience', 'surrealscience'),
cls('Swazzyknocks', 'swazzyknocks'), cls('Swazzyknocks', 'swazzyknocks'),
cls('SWEETCHEERIOSANDORANGEJUICE', 'sweetcheeriosandorangejuice'),
cls('SwordCatPrincess', 'swordcatprincess'),
cls('Synapticisms', 'synapticisms'), cls('Synapticisms', 'synapticisms'),
cls('TalesFromRiota', 'ganold'), cls('TalesFromRiota', 'ganold'),
cls('TalesOfBrickland', 'brickland'), cls('TalesOfBrickland', 'brickland'),
@ -956,7 +924,6 @@ class ComicFury(_ParserScraper):
cls('TamTeamAdventures', 'tamteam'), cls('TamTeamAdventures', 'tamteam'),
cls('TangledMessTheGirlyNerdyTerriblyStrangeJournalComi', 'tangledmess'), cls('TangledMessTheGirlyNerdyTerriblyStrangeJournalComi', 'tangledmess'),
cls('TangledRiver', 'tangled-river'), cls('TangledRiver', 'tangled-river'),
cls('Tardaasa', 'tardaasa'),
cls('TBA', 'tba'), cls('TBA', 'tba'),
cls('TBAold', 'tba-old'), cls('TBAold', 'tba-old'),
cls('TerwilligersCafe', 'terwilligers'), cls('TerwilligersCafe', 'terwilligers'),
@ -968,11 +935,9 @@ class ComicFury(_ParserScraper):
cls('TheAdventuresOfBidoof', 'bidoof'), cls('TheAdventuresOfBidoof', 'bidoof'),
cls('TheAdventuresOfCarrotKnight', 'carrotknight'), cls('TheAdventuresOfCarrotKnight', 'carrotknight'),
cls('TheAdventuresOfGrumpyBearAndMrGoose', 'grumpyandgoose'), cls('TheAdventuresOfGrumpyBearAndMrGoose', 'grumpyandgoose'),
cls('TheAdventuresOfJONAS', 'adventuresofjonas'),
cls('TheAdventuresOfMechaSmiles', 'mechasmiles'), cls('TheAdventuresOfMechaSmiles', 'mechasmiles'),
cls('TheAdventuresOfSherilynAndEmma', 'taosae'), cls('TheAdventuresOfSherilynAndEmma', 'taosae'),
cls('TheAdventuresOfTheLadySkylark', 'ladyskylark'), cls('TheAdventuresOfTheLadySkylark', 'ladyskylark'),
cls('TheAngelWithBlackWings', 'theangelwithblackwings'),
cls('TheBarrowHill', 'thebarrowhill'), cls('TheBarrowHill', 'thebarrowhill'),
cls('TheBellInTheOcean', 'bellintheocean'), cls('TheBellInTheOcean', 'bellintheocean'),
cls('TheBend', 'thebend'), cls('TheBend', 'thebend'),
@ -995,8 +960,6 @@ class ComicFury(_ParserScraper):
cls('TheDevilsHorn', 'thedevilshorn'), cls('TheDevilsHorn', 'thedevilshorn'),
cls('TheDragonFistsOfSmortySmythe', 'thedragonfistsofsmortysmythe'), cls('TheDragonFistsOfSmortySmythe', 'thedragonfistsofsmortysmythe'),
cls('TheDrongos', 'thedrongos'), cls('TheDrongos', 'thedrongos'),
cls('TheDuckAndTheMonk', 'duck-and-monk'),
cls('TheEntity', 'theentity'),
cls('TheEpicEpic', 'theepicepic'), cls('TheEpicEpic', 'theepicepic'),
cls('TheFaithful', 'thefaithful'), cls('TheFaithful', 'thefaithful'),
cls('TheFeloranChronicles', 'felora'), cls('TheFeloranChronicles', 'felora'),
@ -1013,7 +976,6 @@ class ComicFury(_ParserScraper):
cls('TheHobbit', 'hobbit'), cls('TheHobbit', 'hobbit'),
cls('TheHolidayDoctor', 'holidaydoctor'), cls('TheHolidayDoctor', 'holidaydoctor'),
cls('TheHorrifyingExperimentsOfDrPleasant', 'thehorrifyingexperimentsofdrpleasant'), cls('TheHorrifyingExperimentsOfDrPleasant', 'thehorrifyingexperimentsofdrpleasant'),
cls('TheHoundsOfWinter', 'houndsofwinter'),
cls('TheHourlyComic', 'hourlycomic'), cls('TheHourlyComic', 'hourlycomic'),
cls('TheHub', 'cbbrthehub'), cls('TheHub', 'cbbrthehub'),
cls('TheHubBook', 'thehubbook'), cls('TheHubBook', 'thehubbook'),
@ -1035,11 +997,9 @@ class ComicFury(_ParserScraper):
cls('TheMates', 'themates'), cls('TheMates', 'themates'),
cls('TheMatesPortugus', 'matespt', 'pt'), cls('TheMatesPortugus', 'matespt', 'pt'),
cls('TheMeaningOfLife', 'themeaningoflife'), cls('TheMeaningOfLife', 'themeaningoflife'),
cls('TheMetallic', 'themetallic'),
cls('TheMightyBlue', 'themightyblue'), cls('TheMightyBlue', 'themightyblue'),
cls('TheMightyMeteorite', 'mightymeteorite'), cls('TheMightyMeteorite', 'mightymeteorite'),
cls('TheMisadventuresOfDexterTheAlien', 'dexterthealien'), cls('TheMisadventuresOfDexterTheAlien', 'dexterthealien'),
cls('TheMisadventuresOfSuperMilo', 'supermilo'),
cls('TheMisadventuresOfTheTrailerParkTrio', 'tmaottpt'), cls('TheMisadventuresOfTheTrailerParkTrio', 'tmaottpt'),
cls('TheMitchellEffect', 'themitchelleffect'), cls('TheMitchellEffect', 'themitchelleffect'),
cls('TheMoonValley', 'moonvalley'), cls('TheMoonValley', 'moonvalley'),
@ -1095,7 +1055,6 @@ class ComicFury(_ParserScraper):
cls('ThoseUnknowableTheShadowsOverInnsmouth', 'tsoi'), cls('ThoseUnknowableTheShadowsOverInnsmouth', 'tsoi'),
cls('ThreeFreeFrikis', 'tff', 'es'), cls('ThreeFreeFrikis', 'tff', 'es'),
cls('TickTock', 'tick-tock'), cls('TickTock', 'tick-tock'),
cls('TidesOfChange', 'toc'),
cls('TigerWrestling', 'anybodythere'), cls('TigerWrestling', 'anybodythere'),
cls('Timezone', 'timezone'), cls('Timezone', 'timezone'),
cls('Tinytown', 'tinytown'), cls('Tinytown', 'tinytown'),
@ -1166,12 +1125,10 @@ class ComicFury(_ParserScraper):
cls('Virtrena', 'virtrena'), cls('Virtrena', 'virtrena'),
cls('VisualDiaryOfMyLife', 'visualdiary'), cls('VisualDiaryOfMyLife', 'visualdiary'),
cls('VOE', 'voe'), cls('VOE', 'voe'),
cls('VOEIn3D', 'voein3d'),
cls('Voidchild', 'voidchild'), cls('Voidchild', 'voidchild'),
cls('WaitWhat', 'waitwhatcomic'), cls('WaitWhat', 'waitwhatcomic'),
cls('WARG', 'warg'), cls('WARG', 'warg'),
cls('Wargyrl', 'wargyrl'), cls('Wargyrl', 'wargyrl'),
cls('WarOfTheHeavens', 'waroftheheavens'),
cls('WarriorTwentySeven', 'warrior27'), cls('WarriorTwentySeven', 'warrior27'),
cls('WastedAway', 'wastedaway'), cls('WastedAway', 'wastedaway'),
cls('WastedPotential', 'wastedpotential'), cls('WastedPotential', 'wastedpotential'),

View file

@ -64,6 +64,7 @@ class Removed(Scraper):
cls('ComicFury/Amtheatre'), cls('ComicFury/Amtheatre'),
cls('ComicFury/Angstcomic'), cls('ComicFury/Angstcomic'),
cls('ComicFury/Applepine'), cls('ComicFury/Applepine'),
cls('ComicFury/Area42', 'mis'),
cls('ComicFury/Atm'), cls('ComicFury/Atm'),
cls('ComicFury/Atomicmonkey'), cls('ComicFury/Atomicmonkey'),
cls('ComicFury/Baseballcapsandtiaras'), cls('ComicFury/Baseballcapsandtiaras'),
@ -103,6 +104,7 @@ class Removed(Scraper):
cls('ComicFury/Ghostassassin'), cls('ComicFury/Ghostassassin'),
cls('ComicFury/Gillimurphy'), cls('ComicFury/Gillimurphy'),
cls('ComicFury/Glomshire'), cls('ComicFury/Glomshire'),
cls('ComicFury/GodGames', 'mov'),
cls('ComicFury/Goldrushdynllewcomics'), cls('ComicFury/Goldrushdynllewcomics'),
cls('ComicFury/Grandline3point5'), cls('ComicFury/Grandline3point5'),
cls('ComicFury/Halloween2012'), cls('ComicFury/Halloween2012'),
@ -148,6 +150,7 @@ class Removed(Scraper):
cls('ComicFury/NoSongs'), cls('ComicFury/NoSongs'),
cls('ComicFury/Nostalgiaofeden'), cls('ComicFury/Nostalgiaofeden'),
cls('ComicFury/Ocarinaoftim'), cls('ComicFury/Ocarinaoftim'),
cls('ComicFury/OffHours'),
cls('ComicFury/OldSchoolRasputinCatamite'), cls('ComicFury/OldSchoolRasputinCatamite'),
cls('ComicFury/Pandemonium'), cls('ComicFury/Pandemonium'),
cls('ComicFury/Paperstreamer'), cls('ComicFury/Paperstreamer'),
@ -625,6 +628,7 @@ class Renamed(Scraper):
cls('KeenSpot/TheGodChild', 'GodChild'), cls('KeenSpot/TheGodChild', 'GodChild'),
cls('PetiteSymphony/Djandora', 'ComicsBreak/Djandora'), cls('PetiteSymphony/Djandora', 'ComicsBreak/Djandora'),
cls('PetiteSymphony/Generation17', 'ComicsBreak/Generation17'), cls('PetiteSymphony/Generation17', 'ComicsBreak/Generation17'),
cls('SmackJeeves/CityFolk', 'ComicFury/CityFolk'),
cls('TracyAndTristan', 'ComicFury/TracyAndTristan'), cls('TracyAndTristan', 'ComicFury/TracyAndTristan'),
cls('Wulffmorgenthaler', 'WuMo'), cls('Wulffmorgenthaler', 'WuMo'),
cls('ZebraGirl', 'ComicFury/ZebraGirl'), cls('ZebraGirl', 'ComicFury/ZebraGirl'),

View file

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs # Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
# Copyright (C) 2012-2014 Bastian Kleineidam # Copyright (C) 2012-2014 Bastian Kleineidam
# Copyright (C) 2015-2017 Tobias Gruetzmacher # Copyright (C) 2015-2019 Tobias Gruetzmacher
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
@ -203,7 +203,6 @@ class SmackJeeves(_ParserScraper):
cls('ChildrenOfTheNight', sub='cotn'), cls('ChildrenOfTheNight', sub='cotn'),
cls('ChimiMouryou', sub='cmmr'), cls('ChimiMouryou', sub='cmmr'),
cls('ChocolatewithPepper', sub='chocolate-with-pepper'), cls('ChocolatewithPepper', sub='chocolate-with-pepper'),
cls('CityFolk', host='www.cityfolk.ca'),
cls('ClairetheFlare', sub='clairetheflare'), cls('ClairetheFlare', sub='clairetheflare'),
cls('CleanCure', sub='cleanpluscure'), cls('CleanCure', sub='cleanpluscure'),
cls('ClockworkAtrium', host='www.clockwork-atrium.com'), cls('ClockworkAtrium', host='www.clockwork-atrium.com'),

View file

@ -1,4 +1,6 @@
#!/bin/sh #!/bin/sh
# Copyright (C) 2012-2014 Bastian Kleineidam
# Copyright (C) 2015-2019 Tobias Gruetzmacher
set -e set -e
set -u set -u
@ -10,5 +12,5 @@ else
fi fi
for script in $list; do for script in $list; do
echo "Executing ${script}.py" echo "Executing ${script}.py"
"${d}/${script}.py" python3 "${d}/${script}.py"
done done

View file

@ -1,5 +1,6 @@
#!/bin/sh #!/bin/sh
# Copyright (C) 2012-2014 Bastian Kleineidam # Copyright (C) 2012-2014 Bastian Kleineidam
# Copyright (C) 2015-2019 Tobias Gruetzmacher
set -e set -e
set -u set -u
@ -14,5 +15,5 @@ fi
for script in $list; do for script in $list; do
target="${d}/../dosagelib/plugins/${script}.py" target="${d}/../dosagelib/plugins/${script}.py"
echo "Upating $target" echo "Upating $target"
"${d}/${script}.py" $mincomics "$target" python3 "${d}/${script}.py" $mincomics "$target"
done done