# SPDX-License-Identifier: MIT # Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs # Copyright (C) 2012-2014 Bastian Kleineidam # Copyright (C) 2015-2021 Tobias Gruetzmacher # Copyright (C) 2019-2020 Daniel Ring from ..scraper import Scraper class Removed(Scraper): REASONS = { 'jsh': 'Site is very JavaScript-heavy, writing a module would be' + ' very complicated.', 'del': 'Comic was removed from the web.', 'block': 'The comic site is blocking us.', 'unk': 'Comic was removed for an unknown reason.', 'brk': 'Comic navigation is broken.', 'mov': 'Comic moved to a new hoster and no new module was written.', 'mis': 'Pages are missing from the comic.', 'acc': 'Account is needed to access site.', 'legal': 'Comic was removed for legal reasons (fanrip, scanlation, etc.).', } def __init__(self, name, reason='del'): super(Removed, self).__init__(name) self.reason = reason def getDisabledReasons(self): return {'rem-' + self.reason: self.REASONS[self.reason]} @classmethod def getmodules(cls): # noqa: Allowed to be long return ( # Removed in 2.16 cls('AbleAndBaker'), cls('AlsoBagels'), cls('Antics'), cls('Arcamax/BleekerTheRechargeableDog'), cls('Arcamax/DeFlocked'), cls('Arcamax/TinasGroove'), cls('ASkeweredParadise'), cls('ASofterWorld', 'block'), cls('BackwaterPlanet'), cls('BigFatWhale'), cls('BizarreUprising'), cls('Blip'), cls('BoxerHockey'), cls('BoyOnAStickAndSlither', 'jsh'), cls('BrentalFloss'), cls('BrentalFloss/FlossedInTime'), cls('BrentalFloss/GuestComics'), cls('BrightlyWound'), cls('Caggage'), cls('Carciphona', 'jsh'), cls('Champ2010'), cls('CheckerboardNightmare'), # Patreon & Pixiv (https://www.patreon.com/Collar6) cls('Collar6', 'mov'), cls('ComicFury/30years'), cls('ComicFury/AAB'), cls('ComicFury/AdventuresofMaggie'), cls('ComicFury/Aether'), cls('ComicFury/Afairtrade'), cls('ComicFury/Afrodays'), cls('ComicFury/Albinobros'), cls('ComicFury/Alexanderandlucas'), cls('ComicFury/Alittlebitofeverything'), cls('ComicFury/Americanextremists'), cls('ComicFury/AmericanNerd'), cls('ComicFury/Amtheatre'), cls('ComicFury/Angstcomic'), cls('ComicFury/Applepine'), cls('ComicFury/Area42', 'mis'), cls('ComicFury/Atm'), cls('ComicFury/Atomicmonkey'), cls('ComicFury/Baseballcapsandtiaras'), cls('ComicFury/BATB'), cls('ComicFury/BetweenRounds'), cls('ComicFury/BigBookOfLameJokes'), cls('ComicFury/BiMorphon'), cls('ComicFury/Blessings'), cls('ComicFury/BrokenReality'), cls('ComicFury/BTTF'), cls('ComicFury/Cannonadeofhogwash'), cls('ComicFury/CatHero'), cls('ComicFury/Chocolava'), cls('ComicFury/ChristianHumberReloaded'), cls('ComicFury/Cockeyed'), cls('ComicFury/CoftheA'), cls('ComicFury/CompanyMan'), cls('ComicFury/Complicatedd'), cls('ComicFury/Conplicated'), cls('ComicFury/Crowbar'), cls('ComicFury/Crowbars'), cls('ComicFury/Curvyboneyosis'), cls('ComicFury/Dandk'), cls('ComicFury/Davidandtherobot'), cls('ComicFury/DenizensAttentionComic'), cls('ComicFury/Disturbingcomics'), cls('ComicFury/Docapoc'), cls('ComicFury/DucksMisery'), cls('ComicFury/Elfcomic'), cls('ComicFury/EMT'), cls('ComicFury/EternityC'), cls('ComicFury/Fathead'), cls('ComicFury/Fexpression'), cls('ComicFury/FireBorn2'), cls('ComicFury/Foxtales'), cls('ComicFury/Fpk'), cls('ComicFury/Ghostassassin'), cls('ComicFury/Gillimurphy'), cls('ComicFury/Glomshire'), cls('ComicFury/GodGames', 'mov'), cls('ComicFury/Goldrushdynllewcomics'), cls('ComicFury/Grandline3point5'), cls('ComicFury/Halloween2012'), cls('ComicFury/Halloween2013'), cls('ComicFury/HIRI'), cls('ComicFury/Hitmen'), cls('ComicFury/Honeyvenom'), cls('ComicFury/Insanitycorp'), cls('ComicFury/Inviziblecomixgroup'), cls('ComicFury/Isb'), cls('ComicFury/Its'), cls('ComicFury/Jenfferscartoonphotomanipulaion'), cls('ComicFury/Jenffersshow'), cls('ComicFury/Jeremy'), cls('ComicFury/Joysworldcomic'), cls('ComicFury/Judgedred'), cls('ComicFury/Jump2'), cls('ComicFury/Kachingcomic'), cls('ComicFury/Kazaandgwenna'), cls('ComicFury/Kevinzombie'), cls('ComicFury/Kindergardencrisis'), cls('ComicFury/Kirahitogame'), cls('ComicFury/Ladyspectra'), cls('ComicFury/Lastcallcomic'), cls('ComicFury/Lazy'), cls('ComicFury/Lena'), cls('ComicFury/Letitride'), cls('ComicFury/Lola2'), cls('ComicFury/LORDDARKE'), cls('ComicFury/Lp'), cls('ComicFury/LucidsDream'), cls('ComicFury/Lvl30psy'), cls('ComicFury/Maddog'), cls('ComicFury/Magisa'), cls('ComicFury/Midnightpeanutbutter'), cls('ComicFury/Minarga'), cls('ComicFury/MoizmadComix'), cls('ComicFury/Moths'), cls('ComicFury/MuttInTheMiddle'), cls('ComicFury/MyHorribleSite'), cls('ComicFury/Neighborscomic'), cls('ComicFury/Nojetpack'), cls('ComicFury/NoSongs'), cls('ComicFury/Nostalgiaofeden'), cls('ComicFury/Ocarinaoftim'), cls('ComicFury/OffHours'), cls('ComicFury/OldSchoolRasputinCatamite'), cls('ComicFury/Pandemonium'), cls('ComicFury/Paperstreamer'), cls('ComicFury/Peepsnperks'), cls('ComicFury/PersonaFTW'), cls('ComicFury/Pilgrimsprogress'), cls('ComicFury/PiratesLife'), cls('ComicFury/PobrePucho'), cls('ComicFury/Poussiere'), cls('ComicFury/Pt'), cls('ComicFury/Punch'), cls('ComicFury/Rangerrandom'), cls('ComicFury/Raspcat'), cls('ComicFury/RealLifeTrips'), cls('ComicFury/ReiketsuouNoKimi'), cls('ComicFury/RIDDICKQLOSSTALES'), cls('ComicFury/Romanjack'), cls('ComicFury/RPS'), cls('ComicFury/RPT'), cls('ComicFury/Rvr'), cls('ComicFury/Sarakleeyo'), cls('ComicFury/Sawbladersblacknuzlocke'), cls('ComicFury/Schizmatic'), cls('ComicFury/Seconds'), cls('ComicFury/Serengetti'), cls('ComicFury/SHADOWQUEEN'), cls('ComicFury/Shonenpunkremix'), cls('ComicFury/Sinjetpack'), cls('ComicFury/Spf1337'), cls('ComicFury/Sscomic'), cls('ComicFury/SteamSword'), cls('ComicFury/Teenagedragon'), cls('ComicFury/Theashes'), cls('ComicFury/TheButterflyEffect'), cls('ComicFury/Thecrease'), cls('ComicFury/TheGuardiansOfGrey'), cls('ComicFury/Tiziana'), cls('ComicFury/TwentyQuidAmusements'), cls('ComicFury/Underscore'), cls('ComicFury/ValtersRebellion'), cls('ComicFury/Wowwithatwistdamaclesandkejallcomic'), cls('ComicFury/YouAreNowEnteringAshburg'), cls('ComicGenesis/CryHavoc'), cls('ComicGenesis/IBlameDanny'), cls('ComicGenesis/SueosdelSur'), cls('Commissioned'), cls('CoolCatStudio'), cls('CowboyJedi', 'brk'), cls('Creators/BCinSpanish'), cls('Creators/GirlsandSportsinSpanish'), cls('Creators/Recess'), cls('Creators/RugratsinSpanish'), cls('CtrlAltDel', 'block'), cls('CtrlAltDel/Sillies', 'block'), cls('DailyDose'), cls('DamnLol'), cls('DeathToTheExtremist'), cls('DoctorCat', 'brk'), cls('EerieCuties'), cls('Ellerbisms'), cls('Eriadan'), cls('EverydayBlues'), cls('FeyWinds'), cls('FilibusterCartoons'), cls('FowlLanguage', 'block'), cls('GlassHalfEmpty'), cls('GoComics/ABootsAndPupComic'), cls('GoComics/AdventuresofDaisy'), cls('GoComics/AdventuresofMartyandTurkey'), cls('GoComics/AdventuresofMikeAndSimon'), cls('GoComics/AgentGates'), cls('GoComics/AlisonWard'), cls('GoComics/AmaZnEvents'), cls('GoComics/AnythingGoes'), cls('GoComics/BCEnEspaol'), cls('GoComics/BenAndSeymour'), cls('GoComics/BeneaththeFerns'), cls('GoComics/BenSargent'), cls('GoComics/BERSERKALERT'), cls('GoComics/BestInShow'), cls('GoComics/BiffAndRiley'), cls('GoComics/BillyAndCo'), cls('GoComics/BlackboardDaze'), cls('GoComics/BobtheGroanUP'), cls('GoComics/Boogerbrain'), cls('GoComics/BotBrothers'), cls('GoComics/BrilliantMines'), cls('GoComics/BuffaloChips'), cls('GoComics/BuzzaWuzza'), cls('GoComics/CafConLeche'), cls('GoComics/CalAndOzz'), cls('GoComics/CandyPills'), cls('GoComics/Cartertoons'), cls('GoComics/ChanLowe'), cls('GoComics/ChasingUnicorns'), cls('GoComics/ChubbyGirlComics'), cls('GoComics/Classifudds'), cls('GoComics/CleoandCompany'), cls('GoComics/CockroachComix'), cls('GoComics/CoffeeShopTidbits'), cls('GoComics/Cortoons'), cls('GoComics/CowSheepandaGnomeNamedHelga'), cls('GoComics/DabneyandDad'), cls('GoComics/DarrinBell'), cls('GoComics/DevinCraneComicStripGhostwriter'), cls('GoComics/DialHforHBomb'), cls('GoComics/DitzAbledPrincess'), cls('GoComics/DoodleDaysComics'), cls('GoComics/Dromo'), cls('GoComics/EBEJeebie'), cls('GoComics/EDITORIALPASTANDPRESENT'), cls('GoComics/ElephantintheRoom'), cls('GoComics/EleriMaiHarrisCartoons'), cls('GoComics/ElfandMotorbelly'), cls('GoComics/ElMundoDeBeakman'), cls('GoComics/EngagAndNevets'), cls('GoComics/EspressoCity'), cls('GoComics/EttoreandBaldo'), cls('GoComics/FantasticMegaLeague'), cls('GoComics/FarcesofNature'), cls('GoComics/Featherweight'), cls('GoComics/FrankBlunt'), cls('GoComics/FrizziToons'), cls('GoComics/FundayMorning'), cls('GoComics/GatorsAndSuch'), cls('GoComics/GenerationMute'), cls('GoComics/GentleCreatures'), cls('GoComics/GetAGrip'), cls('GoComics/GlennMcCoy'), cls('GoComics/GoComicsontheRoad'), cls('GoComics/HamShears'), cls('GoComics/HanginOut'), cls('GoComics/HankandDalesOurWorld'), cls('GoComics/HanktheSock'), cls('GoComics/HarambeeHills'), cls('GoComics/Hbenson7'), cls('GoComics/HeadComics'), cls('GoComics/HIP'), cls('GoComics/HolidayDoodles'), cls('GoComics/HolySchnark'), cls('GoComics/HoodootheUnwiseOwl'), cls('GoComics/Humoresque'), cls('GoComics/ImaDillo'), cls('GoComics/ImTellingMom'), cls('GoComics/InheritTheMirth'), cls('GoComics/JackRadioComics'), cls('GoComics/JayAndBoneheadTheMunkysMrCowhide'), cls('GoComics/JustPosted'), cls('GoComics/KatetheGreat'), cls('GoComics/KirbysTreehouse'), cls('GoComics/KozmooftheCosmos'), cls('GoComics/LardWantsWorldPeace'), cls('GoComics/LarryvilleBlue'), cls('GoComics/Leadbellies'), cls('GoComics/LegendofBill'), cls('GoComics/LeGooseyLu'), cls('GoComics/LeighLunaComics'), cls('GoComics/LIGHTERSIDE'), cls('GoComics/LostInTranslation'), cls('GoComics/Lucan'), cls('GoComics/LucasLuminous'), cls('GoComics/Mac'), cls('GoComics/Markonpaper'), cls('GoComics/MaryBWary'), cls('GoComics/MassiveFalls'), cls('GoComics/McArroni'), cls('GoComics/Mick'), cls('GoComics/MidLifewAlan'), cls('GoComics/Millennialhood'), cls('GoComics/MinimumSecurity'), cls('GoComics/MixedMedications'), cls('GoComics/Molebashed'), cls('GoComics/MollyandtheBear'), cls('GoComics/Mortimer'), cls('GoComics/MrGigiAndTheSquid'), cls('GoComics/MrMorris'), cls('GoComics/Mulligan'), cls('GoComics/MyGuardianGrandpa'), cls('GoComics/NavyBean'), cls('GoComics/NeatStep'), cls('GoComics/NedAndLarry'), cls('GoComics/NeighborhoodZone'), cls('GoComics/NobodysHome'), cls('GoComics/NoPlaceLikeHolmes'), cls('GoComics/Norman'), cls('GoComics/Oat'), cls('GoComics/ObamaandtheFatman'), cls('GoComics/OntheQuad'), cls('GoComics/OrangesareFunny'), cls('GoComics/Outnumbered'), cls('GoComics/ParisDoodles'), cls('GoComics/Peanizles'), cls('GoComics/PetFood'), cls('GoComics/Pi'), cls('GoComics/PigtimesCartoon'), cls('GoComics/PipethePelican'), cls('GoComics/PlanB'), cls('GoComics/PlasticBabyHeadsfromOuterSpace'), cls('GoComics/PlentyofPenguins'), cls('GoComics/Poptropica'), cls('GoComics/Putz'), cls('GoComics/QuestionsForKids'), cls('GoComics/RandomActsofNancy'), cls('GoComics/RicigsToonTrivia'), cls('GoComics/RogueSymmetry'), cls('GoComics/Sabine'), cls('GoComics/SantavsDracula'), cls('GoComics/SCAIRYTALESTheNotSoScaryFairyTales'), cls('GoComics/Scurvyville'), cls('GoComics/SecondPrize'), cls('GoComics/Skooled'), cls('GoComics/SNAFU'), cls('GoComics/SouptoNutz'), cls('GoComics/SpaceNutz'), cls('GoComics/SPACESLUGS'), cls('GoComics/SpaceTimeFunnies'), cls('GoComics/Starslip'), cls('GoComics/STEPDAD'), cls('GoComics/Stookie'), cls('GoComics/SuburbanWilderness'), cls('GoComics/SuckerHeadSmack'), cls('GoComics/TeacherInk'), cls('GoComics/ThatMonkeyTune'), cls('GoComics/TheAcerbicCaf'), cls('GoComics/TheAdventuresofTeetyBallerina'), cls('GoComics/TheEdperiment'), cls('GoComics/TheFruitBowl'), cls('GoComics/TheGoldenKid'), cls('GoComics/TheInsolentLemon'), cls('GoComics/TheLightedLab'), cls('GoComics/TheLilMiesters'), cls('GoComics/TheOdderLimits'), cls('GoComics/THESILVERLINING'), cls('GoComics/TheSingleDadDiaries'), cls('GoComics/TheVernalPool'), cls('GoComics/TheWorstThingIveEverDone'), cls('GoComics/ThrompTM'), cls('GoComics/ToBeNamed'), cls('GoComics/TodaysDogg'), cls('GoComics/TonyAuth'), cls('GoComics/Toocrazy'), cls('GoComics/TOWHOMITMAYCONCERN'), cls('GoComics/Twaggies'), cls('GoComics/TwoBits'), cls('GoComics/Vernscartoons'), cls('GoComics/WayOutInLeftField'), cls('GoComics/WendlesLife'), cls('GoComics/Whatcatscanandcantdo'), cls('GoComics/WickedCrispy'), cls('GoComics/WindingRoads'), cls('GoComics/WitoftheWorld'), cls('GoComics/YouCanWithBeakmanAndJax'), cls('GoComics/YouGuysAreMyFriendsTheComic'), cls('GoComics/ZacharyNixonJohnson'), cls('GunnerkrigCourt'), cls('HorribleVille'), cls('JerkCity'), cls('KatzenfutterGeleespritzer'), cls('KeenSpot/Adventurers', 'mov'), cls('KeenSpot/Landis'), cls('Key'), cls('KillerKomics'), cls('Kukuburi'), cls('Lint'), cls('LinuxComFridayFunnies'), cls('NekkoAndJoruba'), cls('NekoTheKitty'), cls('NewAdventuresOfBobbin'), cls('Nnewts'), cls('OddFish'), cls('OneQuestion'), cls('OrnerBoy'), cls('PensAndTales/Evilish'), cls('PensAndTales/FireflyCross'), cls('PetiteSymphony/Kickinrad'), cls('PetiteSymphony/Orangegrind'), cls('PetiteSymphony/Seed'), cls('Pimpette'), cls('PunksAndNerds', 'mis'), cls('PunksAndNerdsOld'), # Moved to tapas.io, which blocks us cls('RadioactivePanda', 'block'), cls('RedsPlanet'), cls('RedString'), cls('SmackJeeves/Aarrevaara'), cls('SmackJeeves/AchievementStuck'), cls('SmackJeeves/AGirlAndHerShadow'), cls('SmackJeeves/Allthatglitters'), cls('SmackJeeves/AloversRule'), cls('SmackJeeves/Anathemacomics'), cls('SmackJeeves/AngelBeast'), cls('SmackJeeves/ArchportCityChronicles'), # moved to www.mgcomics.com, which has a robots.txt for everything cls('SmackJeeves/Aware', 'block'), cls('SmackJeeves/AwesomeSauce'), cls('SmackJeeves/Babywhatsyoursign'), cls('SmackJeeves/BetweenLightandDark'), cls('SmackJeeves/BetweenWorlds'), cls('SmackJeeves/BeyondTemptation'), cls('SmackJeeves/BLDShortComics'), cls('SmackJeeves/Bloodyfairytale'), cls('SmackJeeves/BLOT'), cls('SmackJeeves/BlueWell'), cls('SmackJeeves/BreakfastonaCliff'), cls('SmackJeeves/CafeAmargo'), cls('SmackJeeves/Captor'), cls('SmackJeeves/ChaosTheory2005'), cls('SmackJeeves/CleanCure'), cls('SmackJeeves/DaddysGirl'), cls('SmackJeeves/DeadtoDay'), cls('SmackJeeves/Debtsettlement'), cls('SmackJeeves/DebtSettlement2OperationExtinction'), cls('SmackJeeves/DefyingGravityTheFourGreatGuardians'), cls('SmackJeeves/Destinationunknown'), cls('SmackJeeves/DevilTrainee'), cls('SmackJeeves/DevilTraineeSpanish'), cls('SmackJeeves/Diexemor'), cls('SmackJeeves/DigisRandomSpriteshack'), cls('SmackJeeves/DontDie'), cls('SmackJeeves/ElfenLiedDifferences'), cls('SmackJeeves/Entuthrie'), cls('SmackJeeves/EozinKadonnutKuningas'), cls('SmackJeeves/EpicChaos'), cls('SmackJeeves/EternalKnights'), cls('SmackJeeves/EvD'), cls('SmackJeeves/FatetheAnthologyofKaienandhisfuckingmagicfriends'), cls('SmackJeeves/FeathersPI'), cls('SmackJeeves/FemmeSchism'), cls('SmackJeeves/FireWire'), cls('SmackJeeves/FrenzyRedux'), cls('SmackJeeves/FrogKing'), cls('SmackJeeves/FuckMyLife'), cls('SmackJeeves/FurtherDowntheRabbitHole'), cls('SmackJeeves/GATEKEEPER'), cls('SmackJeeves/GearTheTakedown'), cls('SmackJeeves/GoldenSunGenerationsAftermathVolume1'), cls('SmackJeeves/GoldenSunGenerationsColossoVolume6'), cls('SmackJeeves/GraveImpressions'), cls('SmackJeeves/GreenKirbyandabunchofotherpeopledoinstuff'), cls('SmackJeeves/GuardianGhost'), cls('SmackJeeves/Harfang'), cls('SmackJeeves/HIPS'), cls('SmackJeeves/HitandMiss'), cls('SmackJeeves/HotChocolate'), cls('SmackJeeves/Hybristorific'), cls('SmackJeeves/Ianua'), cls('SmackJeeves/ImminentMoose'), cls('SmackJeeves/InthePride'), cls('SmackJeeves/Intoxicated'), cls('SmackJeeves/Jantarpol'), cls('SmackJeeves/Knife'), cls('SmackJeeves/Kranburn'), cls('SmackJeeves/KuroNeko'), cls('SmackJeeves/LastLivingSouls'), cls('SmackJeeves/LegendsofMobiusBookOne'), cls('SmackJeeves/LetsBreakitforReals'), cls('SmackJeeves/LiliBleu'), cls('SmackJeeves/LoveTwister'), cls('SmackJeeves/MagicalGirlAlice'), cls('SmackJeeves/MasqueradeWTTM'), cls('SmackJeeves/MegaManBattleNetwork7'), cls('SmackJeeves/MegaManiacs'), cls('SmackJeeves/MerirosvotSeikkailumerella'), cls('SmackJeeves/MewsDynasty'), cls('SmackJeeves/MixupofallMixups'), cls('SmackJeeves/MomthegamestorerippedusoffAGAIN'), cls('SmackJeeves/MoonlitDawnAMythicalTale'), cls('SmackJeeves/MUTE', 'mov'), cls('SmackJeeves/MyBoyfriendisaMobBoss'), cls('SmackJeeves/MyTrollLife'), cls('SmackJeeves/MyTwoCentsPlusTax'), cls('SmackJeeves/NeoCrystalAdventures'), cls('SmackJeeves/NihilWandasJourney'), cls('SmackJeeves/OddContact'), cls('SmackJeeves/Ohman', 'brk'), cls('SmackJeeves/OneFrameGags'), cls('SmackJeeves/Pahantekija'), cls('SmackJeeves/Paradox'), cls('SmackJeeves/Paripety'), cls('SmackJeeves/Perinto'), cls('SmackJeeves/PerplexingMagnoliaDisruption', 'mov'), cls('SmackJeeves/PlatonicBoyfriends'), cls('SmackJeeves/Plotlessnesses'), cls('SmackJeeves/PokemonGleamingCrystal', 'mis'), cls('SmackJeeves/PokemonMysteryDungeonTeamCrystal'), cls('SmackJeeves/PRAGUERACE'), cls('SmackJeeves/PumpkinFlower'), cls('SmackJeeves/Razor'), cls('SmackJeeves/RedVelvetRequiem'), cls('SmackJeeves/RuderiQuest'), cls('SmackJeeves/SAKANA'), cls('SmackJeeves/SenoireDelirium'), cls('SmackJeeves/SerendipityAnEquestrianTale'), cls('SmackJeeves/ShacklesInstallment02'), cls('SmackJeeves/SimonSues'), cls('SmackJeeves/SimplySarah'), cls('SmackJeeves/SomebodyShootMe'), cls('SmackJeeves/SonicUniverseAsk'), cls('SmackJeeves/SoulGuardian'), cls('SmackJeeves/SpaghettiAndMeatballs'), cls('SmackJeeves/SparkStory', 'mis'), cls('SmackJeeves/Spidersilk', 'mov'), cls('SmackJeeves/Symbios'), cls('SmackJeeves/TechnicolorLondon'), cls('SmackJeeves/TeKscloset'), cls('SmackJeeves/TheAttackoftheRecoloursSeason1'), cls('SmackJeeves/TheAvianStories'), cls('SmackJeeves/TheCurtandTonyShow'), cls('SmackJeeves/TheDarkAgeofMobius'), cls('SmackJeeves/TheHobbitbic'), cls('SmackJeeves/ThehumanBEing'), cls('SmackJeeves/TheKeyToReality'), cls('SmackJeeves/TheLostland'), cls('SmackJeeves/TheMewExperiment'), cls('SmackJeeves/TheMoistTouch'), cls('SmackJeeves/TheRandomObscureFairyTaleNoOnesEverReallyHeardOf'), cls('SmackJeeves/TheSomewhereOther'), cls('SmackJeeves/TheWastelands', 'mis'), cls('SmackJeeves/ThinkBeforeYouThink', 'mov'), cls('SmackJeeves/ThroughTheWonkyEye'), cls('SmackJeeves/TitleUnrelated'), cls('SmackJeeves/TotalPokemonIsland'), cls('SmackJeeves/TrillyAndSilly'), cls('SmackJeeves/TRIPP'), cls('SmackJeeves/VampireFetish'), cls('SmackJeeves/WolfWolf'), cls('SmackJeeves/WonderTheatre'), cls('SmackJeeves/YouAreTheReasonForTheEndOfTheWorld'), cls('SnowFlakes'), cls('StrawberryDeathCake'), cls('Stubble'), cls('SuburbanTribe'), cls('TheOuterQuarter'), cls('TheParkingLotIsFull'), cls('TheThinHLine', 'acc'), cls('ThunderAndLightning'), cls('TinyKittenTeeth'), cls('TwoTwoOneFour'), cls('VampireCheerleaders'), cls('WayfarersMoon'), cls('WebcomicEu/Talandor'), cls('WebcomicEu/TheBessEffect'), cls('WebcomicEu/TheBessEffectEnglish'), cls('WebcomicsNation/AgnesQuill'), cls('WebcomicsNation/MyMuse'), cls('WebcomicsNation/NekkoAndJoruba'), cls('WeCanSleepTomorrow'), cls('WhiteNinja'), cls('WLP/ShadowChasers'), cls('WotNow'), # Removed in 3.0 cls('ComicFury/AWAKENING'), cls('ComicFury/Beebleville'), cls('ComicFury/CharlesAndViktor'), cls('ComicFury/DoodlelandComics'), cls('ComicFury/Elements'), cls('ComicFury/FairyDust'), cls('ComicFury/GreenerGrass'), cls('ComicFury/HelloWanderingStar'), cls('ComicFury/Hodgemosh'), cls('ComicFury/LaszloAndEdgar'), cls('ComicFury/MegamanComic'), cls('ComicFury/PatchworkPeople'), cls('ComicFury/PornographyInFiveActs'), cls('ComicFury/PoussireDeFe'), cls('ComicFury/RED'), cls('ComicFury/Seed'), cls('ComicFury/TheAcryden'), cls('ComicFury/TheHourlyComic'), cls('ComicFury/TheUnthinkableHybrid'), cls('ComicFury/TwentyFourSeven'), cls('ComicFury/TwentyFourSevenFans'), cls('GoComics/2CowsAndAChicken'), cls('GoComics/AskAPortlySyndicatePerson'), cls('GoComics/Bewley'), cls('GoComics/Biographic'), cls('GoComics/BrainSquirts'), cls('GoComics/CapsulasMedicas'), cls('GoComics/ClearBlueWater'), cls('GoComics/Committed'), cls('GoComics/ConnieToTheWonnie'), cls('GoComics/DorrisMcComics'), cls('GoComics/DragonGirl'), cls('GoComics/Drive'), cls('GoComics/DudeAndDude'), cls('GoComics/EdgeOfAdventure'), cls('GoComics/EricTheCircle'), cls('GoComics/FacesOfTheNewsByKerryWaghorn'), cls('GoComics/FortKnox'), cls('GoComics/GarfieldMinusGarfield'), cls('GoComics/GoComicsFanArt'), cls('GoComics/Graffiti'), cls('GoComics/HaikuEwe'), cls('GoComics/HealthCapsules'), cls('GoComics/HowToCat'), cls('GoComics/HumanCull'), cls('GoComics/JerryHolbert'), cls('GoComics/JustSayUncle'), cls('GoComics/KidSpot'), cls('GoComics/KidTown'), cls('GoComics/KitNCarlyle'), cls('GoComics/LostSideOfSuburbia'), cls('GoComics/MagicInAMinute'), cls('GoComics/MazeToonsPuzzle'), cls('GoComics/MegClassics'), cls('GoComics/MichaelAndrew'), cls('GoComics/Microcosm'), cls('GoComics/MyCage'), cls('GoComics/MyCageNewAndOld'), cls('GoComics/PaulSzep'), cls('GoComics/PicturesInBoxes'), cls('GoComics/PieComic'), cls('GoComics/Pinkerton'), cls('GoComics/PopCultureShockTherapy'), cls('GoComics/ReplyAll'), cls('GoComics/ReplyAllLite'), cls('GoComics/Sheldon'), cls('GoComics/Shoecabbage'), cls('GoComics/Shortcuts'), cls('GoComics/ShutterbugFollies'), cls('GoComics/Speechless'), cls('GoComics/ThatsLife'), cls('GoComics/TheBentPinky'), cls('GoComics/TheBestMedicineCartoon'), cls('GoComics/TheConjurers'), cls('GoComics/TheCreeps'), cls('GoComics/TheGentlemansArmchair'), cls('GoComics/TheLostBear'), cls('GoComics/TheNorm40'), cls('GoComics/TheQuixoteSyndrome'), cls('GoComics/TheSunshineClub'), cls('GoComics/TimEagan'), cls('GoComics/TOBY'), cls('GoComics/UncleArtsFunland'), cls('GoComics/USAcres'), cls('GoComics/WhyattCartoons'), cls('GoComics/WorldOfWonder'), cls('JustAnotherEscape'), cls('Laiyu', 'brk'), cls('MangaDex/DrStone', 'legal'), cls('MangaDex/HeavensDesignTeam', 'legal'), cls('MangaDex/SPYxFAMILY', 'legal'), cls('Ryugou'), cls('SmackJeeves/20TimesKirby'), cls('SmackJeeves/2Kingdoms'), cls('SmackJeeves/355Days'), cls('SmackJeeves/AB'), cls('SmackJeeves/ADoodleADay'), cls('SmackJeeves/AGirlOnTheServer'), cls('SmackJeeves/AKirbyKomic'), cls('SmackJeeves/ALaMode'), cls('SmackJeeves/ANGELOU'), cls('SmackJeeves/APTComic'), cls('SmackJeeves/AQuestionOfCharacter'), cls('SmackJeeves/ASongforElise'), cls('SmackJeeves/AYuriCollab'), cls('SmackJeeves/AceOfHearts'), cls('SmackJeeves/AcidMonday'), cls('SmackJeeves/Adalsysla'), cls('SmackJeeves/AdventuresOfLumAndFriends'), cls('SmackJeeves/AdventuresoftheWeird'), cls('SmackJeeves/AetherTheories'), cls('SmackJeeves/AgeOfTheGray'), cls('SmackJeeves/AllInLOVE'), cls('SmackJeeves/AllStarHeroes'), cls('SmackJeeves/AlmostTouching'), cls('SmackJeeves/AlwaysDamnedWebcomic'), cls('SmackJeeves/AlwaysRainingHere'), cls('SmackJeeves/Amaravati'), cls('SmackJeeves/AmorVincitOmnia'), cls('SmackJeeves/AmsdenEstate'), cls('SmackJeeves/AngelGuardian'), cls('SmackJeeves/AnimalAdventures'), cls('SmackJeeves/Animayhem'), cls('SmackJeeves/AnythingAboutNothing'), cls('SmackJeeves/Area9'), cls('SmackJeeves/AroundTheBlock'), cls('SmackJeeves/ArtOfAFantasy'), cls('SmackJeeves/AtArmsLength'), cls('SmackJeeves/Atlaswebcomic'), cls('SmackJeeves/Autophobia'), cls('SmackJeeves/AyaTakeo'), cls('SmackJeeves/BabysittingFourDemons'), cls('SmackJeeves/BadassRiz'), cls('SmackJeeves/BallandChain'), cls('SmackJeeves/Bard'), cls('SmackJeeves/BassComicAdventures'), cls('SmackJeeves/BattleSequence'), cls('SmackJeeves/BeTwin'), cls('SmackJeeves/Bearhoney'), cls('SmackJeeves/BearlyAbel'), cls('SmackJeeves/BeautifulLies'), cls('SmackJeeves/BehindTheGlassCurtain'), cls('SmackJeeves/BehindTheObsidianMirror'), cls('SmackJeeves/BeretCatComics'), cls('SmackJeeves/Bestbrosforever'), cls('SmackJeeves/Betovering'), cls('SmackJeeves/BettencourtHotel'), cls('SmackJeeves/BeyondTheOrdinary'), cls('SmackJeeves/BioRevelation'), cls('SmackJeeves/Bl3'), cls('SmackJeeves/BlackAndBlue'), cls('SmackJeeves/BlackDragon'), cls('SmackJeeves/BlackFridayRule'), cls('SmackJeeves/BlackSheepcomic'), cls('SmackJeeves/Blackdemon'), cls('SmackJeeves/BleachRedux'), cls('SmackJeeves/BlindandBlue'), cls('SmackJeeves/BloodhuntersBirthOfAVampire'), cls('SmackJeeves/BloomAPokemonConquestComic'), cls('SmackJeeves/BlueHair'), cls('SmackJeeves/BoilingPointofBrain'), cls('SmackJeeves/BoogeyDancingMonkeyPot'), cls('SmackJeeves/BreachOfAgency'), cls('SmackJeeves/Burn'), cls('SmackJeeves/CafeSuada'), cls('SmackJeeves/Cambion'), cls('SmackJeeves/CaptiveSoul'), cls('SmackJeeves/Captured'), cls('SmackJeeves/CaravanaTaleofGodsandMen'), cls('SmackJeeves/Cataclysm'), cls('SmackJeeves/Catnip'), cls('SmackJeeves/Cerintha'), cls('SmackJeeves/ChampionofChampions'), cls('SmackJeeves/ChampionsAndHeroesAgeOfDragons'), cls('SmackJeeves/ChannelDDDNews'), cls('SmackJeeves/ChaosAdventuresII'), cls('SmackJeeves/ChaoticNation'), cls('SmackJeeves/Charaktermaske'), cls('SmackJeeves/Chatuplines'), cls('SmackJeeves/CheneysGotaGun'), cls('SmackJeeves/ChickenScratches'), cls('SmackJeeves/ChildrenOfTheNight'), cls('SmackJeeves/ChimiMouryou'), cls('SmackJeeves/ChocolatewithPepper'), cls('SmackJeeves/ClairetheFlare'), cls('SmackJeeves/ClockworkAtrium'), cls('SmackJeeves/CloeRemembrance'), cls('SmackJeeves/CockroachTheater'), cls('SmackJeeves/Cogs'), cls('SmackJeeves/ColorBlind'), cls('SmackJeeves/ConventionalWisdom'), cls('SmackJeeves/CosmicDash'), cls('SmackJeeves/Cramberries'), cls('SmackJeeves/CrimsonWings'), cls('SmackJeeves/CrocodileTears'), cls('SmackJeeves/CupOfOlea'), cls('SmackJeeves/CurseLineage'), cls('SmackJeeves/DBON'), cls('SmackJeeves/DEGAF'), cls('SmackJeeves/DEMENTED'), cls('SmackJeeves/DanielleDark'), cls('SmackJeeves/Dasien'), cls('SmackJeeves/DavidDoesntGetIt'), cls('SmackJeeves/DeathNoteIridescent'), cls('SmackJeeves/DemonBattles'), cls('SmackJeeves/DemonCat'), cls('SmackJeeves/DemonEater'), cls('SmackJeeves/DenizensAttention'), cls('SmackJeeves/DevilsCake'), cls('SmackJeeves/DevotoMusicinHell'), cls('SmackJeeves/Diaz'), cls('SmackJeeves/DigimonSaviors'), cls('SmackJeeves/DigimonTamersMiraiProject'), cls('SmackJeeves/DigitalInsanity'), cls('SmackJeeves/DoItYourself'), cls('SmackJeeves/DoodleBeans'), cls('SmackJeeves/DoodlingAround'), cls('SmackJeeves/DragonKid'), cls('SmackJeeves/Dragonet'), cls('SmackJeeves/DreamCatcher'), cls('SmackJeeves/DumpofManyPeople'), cls('SmackJeeves/DungeonHordes'), cls('SmackJeeves/EATATAU'), cls('SmackJeeves/EDepthAngel'), cls('SmackJeeves/ERAConvergence'), cls('SmackJeeves/ERAIbuki'), cls('SmackJeeves/ERRORERROR'), cls('SmackJeeves/EidolonWhispersOfEternity'), cls('SmackJeeves/ElementalSpirits'), cls('SmackJeeves/EnkeltenKentta'), cls('SmackJeeves/Enthrall'), cls('SmackJeeves/EntreEuxDeux'), cls('SmackJeeves/Eorah'), cls('SmackJeeves/Equsopia'), cls('SmackJeeves/EuphemisticEephus'), cls('SmackJeeves/EvilPlan'), cls('SmackJeeves/ExperimentalMegaman'), cls('SmackJeeves/EyesOfADigimon'), cls('SmackJeeves/FailureConfetti'), cls('SmackJeeves/FairyTaleRejects'), cls('SmackJeeves/FaithlessDigitals'), cls('SmackJeeves/FalconersDailyStrips'), cls('SmackJeeves/FallenAngelslove'), cls('SmackJeeves/FarOutMantic'), cls('SmackJeeves/FarOutThere'), cls('SmackJeeves/FeralGentry'), cls('SmackJeeves/FinalArcanum'), cls('SmackJeeves/FireredLisasReise'), cls('SmackJeeves/FlyorFail'), cls('SmackJeeves/ForcedSeduction'), cls('SmackJeeves/ForgetTheDistance'), cls('SmackJeeves/Fortheloveofabrokenstring'), cls('SmackJeeves/FramebyFrame'), cls('SmackJeeves/FrobertTheDemon'), cls('SmackJeeves/FromnowonImagirl'), cls('SmackJeeves/FruitloopAndMrDownbeat'), cls('SmackJeeves/FullSpectrumTherapy'), cls('SmackJeeves/GamerCafe'), cls('SmackJeeves/GamesPeoplePlayUpdatedWeekly'), cls('SmackJeeves/GardenofHearts'), cls('SmackJeeves/GayBacon'), cls('SmackJeeves/GayTimesWithRyanAndJay'), cls('SmackJeeves/GetUpAndGo'), cls('SmackJeeves/GigisNuzlockeRuns'), cls('SmackJeeves/Gloomverse'), cls('SmackJeeves/Gnoph'), cls('SmackJeeves/GoodGame'), cls('SmackJeeves/GoodnightMrsGoose'), cls('SmackJeeves/Grayscale'), cls('SmackJeeves/GuardiansoftheGalaxialSpaceways'), cls('SmackJeeves/Habibahssong'), cls('SmackJeeves/HarvestMoonParadiseFound'), cls('SmackJeeves/HatShop'), cls('SmackJeeves/HateThePlayer'), cls('SmackJeeves/Helix'), cls('SmackJeeves/HeltonShelton'), cls('SmackJeeves/Hephaestus'), cls('SmackJeeves/HereBeVoodoo'), cls('SmackJeeves/HiddenStrengthAWhiteNuzlocke'), cls('SmackJeeves/Hinata'), cls('SmackJeeves/Holocrash'), cls('SmackJeeves/HolyBlasphemy'), cls('SmackJeeves/HolyCrap'), cls('SmackJeeves/HopeForABreeze'), cls('SmackJeeves/HouseOfCraziness'), cls('SmackJeeves/HurrocksFardel'), cls('SmackJeeves/IWishIggysWish'), cls('SmackJeeves/IciVontLesMorts'), cls('SmackJeeves/InHouseHumor'), cls('SmackJeeves/Inchoatica'), cls('SmackJeeves/Ingloriousbasterds'), cls('SmackJeeves/Inhuman'), cls('SmackJeeves/InsideOuTAYuriTale'), cls('SmackJeeves/InspiredByADream'), cls('SmackJeeves/ItsAn8BitWorldBlankWorld'), cls('SmackJeeves/JackiesStory'), cls('SmackJeeves/Jantar'), cls('SmackJeeves/Jason'), cls('SmackJeeves/JoeysAdventure'), cls('SmackJeeves/JourneyMan'), cls('SmackJeeves/JoyToTheWorld'), cls('SmackJeeves/June'), cls('SmackJeeves/JustAnotherLife'), cls('SmackJeeves/JustCrazy'), cls('SmackJeeves/Justmyluck'), cls('SmackJeeves/KCNO'), cls('SmackJeeves/KaitoShuno'), cls('SmackJeeves/KasaKeira'), cls('SmackJeeves/KazanatoFuneralPlanningService'), cls('SmackJeeves/KezroChroniclesPhantomOps'), cls('SmackJeeves/Kirbandfriendsshowcase'), cls('SmackJeeves/KirbiesoftheAlternateDimension'), cls('SmackJeeves/KirbyAdventure'), cls('SmackJeeves/KirbyDreamTeam'), cls('SmackJeeves/KirbyFunfestTheOriginals'), cls('SmackJeeves/KirbyTheDeeArmy'), cls('SmackJeeves/KirbysDreamAdventure'), cls('SmackJeeves/KirbysDreamlandAdventures'), cls('SmackJeeves/KissmeSnow'), cls('SmackJeeves/KissoftheDevil'), cls('SmackJeeves/Knightface'), cls('SmackJeeves/KnightsRequiem'), cls('SmackJeeves/KojiX5'), cls('SmackJeeves/Kreetor'), cls('SmackJeeves/Kruptos'), cls('SmackJeeves/KuronaFlutterandLylaSpamTime'), cls('SmackJeeves/LOGOS'), cls('SmackJeeves/LOKI'), cls('SmackJeeves/LastBlockStanding'), cls('SmackJeeves/LavenderLegend'), cls('SmackJeeves/LeCirquedObscure'), cls('SmackJeeves/LedbyaMadMan'), cls('SmackJeeves/LegendOfZeldaAHerosStory'), cls('SmackJeeves/LegendOfZeldaStaffOfPower'), cls('SmackJeeves/LegendOfZeldaTheEdgeAndTheLight'), cls('SmackJeeves/LegendOfZeldaTheWindWaker'), cls('SmackJeeves/Lemongrass'), cls('SmackJeeves/LesCendresdelHiver'), cls('SmackJeeves/LetLoveRule'), cls('SmackJeeves/LethalDose'), cls('SmackJeeves/LicensedHeroes'), cls('SmackJeeves/LifeAsACutOut'), cls('SmackJeeves/LifeAsItWas'), cls('SmackJeeves/LifeLessOrdinary'), cls('SmackJeeves/Lifeonpaper'), cls('SmackJeeves/LightLovers'), cls('SmackJeeves/LightwithinShadow'), cls('SmackJeeves/LilLevi'), cls('SmackJeeves/LondonUnderworld'), cls('SmackJeeves/LostNova'), cls('SmackJeeves/LoveHarbor'), cls('SmackJeeves/LoveMeLoveMyTeddyBear'), cls('SmackJeeves/LoveandIcecream'), cls('SmackJeeves/LoveroftheSunandMoon'), cls('SmackJeeves/LsEmpire'), cls('SmackJeeves/LuffinpuffandEric'), cls('SmackJeeves/LumasParadise'), cls('SmackJeeves/MYth'), cls('SmackJeeves/MagicalMisfits'), cls('SmackJeeves/Magipunk'), cls('SmackJeeves/Manifestedpart1'), cls('SmackJeeves/MarXistemTWC'), cls('SmackJeeves/MarioVsSonicVsMegaMan'), cls('SmackJeeves/MarioandLuigiMisadventures'), cls('SmackJeeves/MariosDayJob'), cls('SmackJeeves/MarsMind'), cls('SmackJeeves/Mascara'), cls('SmackJeeves/MatildasSweetCakeCafe'), cls('SmackJeeves/MayTheRainCome'), cls('SmackJeeves/Mazscara'), cls('SmackJeeves/MegaManTales'), cls('SmackJeeves/MegaPain'), cls('SmackJeeves/MelodyAndMacabre'), cls('SmackJeeves/MetroJack'), cls('SmackJeeves/MidnightPrince'), cls('SmackJeeves/MineS'), cls('SmackJeeves/Minibot'), cls('SmackJeeves/MinorActsOfHeroism'), cls('SmackJeeves/Missing'), cls('SmackJeeves/Missingversionfrancaise'), cls('SmackJeeves/MobianChaos'), cls('SmackJeeves/Mokepon'), cls('SmackJeeves/Monstar'), cls('SmackJeeves/MoonValley'), cls('SmackJeeves/MorphE'), cls('SmackJeeves/Mortifer'), cls('SmackJeeves/MrFactory'), cls('SmackJeeves/MyFakeHeart'), cls('SmackJeeves/MySisterTheDragon'), cls('SmackJeeves/MySparklingPrincesama'), cls('SmackJeeves/MyStereoBot'), cls('SmackJeeves/MysticanDreams'), cls('SmackJeeves/MythsOfUnovaAWhiteNuzlockeRunHardMode'), cls('SmackJeeves/NIK'), cls('SmackJeeves/Nah'), cls('SmackJeeves/Negligence'), cls('SmackJeeves/NeonGlow'), cls('SmackJeeves/NeverTheHero'), cls('SmackJeeves/Nexus'), cls('SmackJeeves/NiceKitty'), cls('SmackJeeves/NighHeavenandHell'), cls('SmackJeeves/NightSpace'), cls('SmackJeeves/NissiesDragonPrincess'), cls('SmackJeeves/NixsFireRedNuzlocke'), cls('SmackJeeves/NoEnd'), cls('SmackJeeves/NobleHeartsHiruandMerroug'), cls('SmackJeeves/NormalcyisforWimps'), cls('SmackJeeves/NotyoursamI'), cls('SmackJeeves/ObnoxiousHerokun'), cls('SmackJeeves/ObsidianHeart'), cls('SmackJeeves/October20th'), cls('SmackJeeves/OddPlaceOddTime'), cls('SmackJeeves/OldElastikid'), cls('SmackJeeves/OneRainyDay'), cls('SmackJeeves/Onlyonelovesong'), cls('SmackJeeves/OperationTheater'), cls('SmackJeeves/OriginBook1Codearth'), cls('SmackJeeves/OurTimeInEden'), cls('SmackJeeves/Outbreak'), cls('SmackJeeves/OutofKey'), cls('SmackJeeves/OverSync'), cls('SmackJeeves/PMDExplorersOfHeart'), cls('SmackJeeves/PMDTeamFirefox'), cls('SmackJeeves/PMDVictoryFire'), cls('SmackJeeves/PTO'), cls('SmackJeeves/Panacea'), cls('SmackJeeves/PantsParty'), cls('SmackJeeves/PanzerDragonandEnigmaCompleteEdition'), cls('SmackJeeves/Pause'), cls('SmackJeeves/PencilviewUpdatesMondayscough'), cls('SmackJeeves/PeterPan'), cls('SmackJeeves/Phantomland'), cls('SmackJeeves/PhotoShootNarusasuDoujinshi'), cls('SmackJeeves/PlasticKings'), cls('SmackJeeves/PlayTime'), cls('SmackJeeves/PleaseBeMyBoytoy'), cls('SmackJeeves/PokemonBeta'), cls('SmackJeeves/PokemonCrystalDoubleNuzlockeChallenge'), cls('SmackJeeves/PokemonLANDSKY'), cls('SmackJeeves/PokemonNoRakuen'), cls('SmackJeeves/PokemonParallel'), cls('SmackJeeves/PokemonSAKOHJU'), cls('SmackJeeves/Pokeventurous'), cls('SmackJeeves/Ponzi'), cls('SmackJeeves/PrettyMouth'), cls('SmackJeeves/PrincessChroma'), cls('SmackJeeves/ProfessorDolphinpresentsPokemon'), cls('SmackJeeves/ProjectCAPLimit'), cls('SmackJeeves/Puck'), cls('SmackJeeves/PullingYouUnder'), cls('SmackJeeves/PulseandBolt'), cls('SmackJeeves/PurpureaNoxa'), cls('SmackJeeves/QueerQueen'), cls('SmackJeeves/RANDOM'), cls('SmackJeeves/ROSIER'), cls('SmackJeeves/RUScrewed'), cls('SmackJeeves/RainLGBT'), cls('SmackJeeves/RainbowMansion'), cls('SmackJeeves/RainxSasori'), cls('SmackJeeves/RareCandyTreatment'), cls('SmackJeeves/RavenWolf'), cls('SmackJeeves/Regina'), cls('SmackJeeves/ReidyAndFriendsShowcase'), cls('SmackJeeves/RemoteAngel'), cls('SmackJeeves/Replica'), cls('SmackJeeves/Respectable'), cls('SmackJeeves/ReturntoEden'), cls('SmackJeeves/RottenApple'), cls('SmackJeeves/RoyalIcing'), cls('SmackJeeves/RubyNation'), cls('SmackJeeves/RuneSpark'), cls('SmackJeeves/RyuManwebcomicVersion'), cls('SmackJeeves/SChIzO'), cls('SmackJeeves/SFCBlackjackBay'), cls('SmackJeeves/SFCForestofDreams'), cls('SmackJeeves/SLightlyAbOVeAvErage'), cls('SmackJeeves/SOSRadio'), cls('SmackJeeves/SPRITEDHeroesofDobalia'), cls('SmackJeeves/SUNRISESTORY'), cls('SmackJeeves/SabishiiGhost'), cls('SmackJeeves/SaintforRent'), cls('SmackJeeves/SakuraDAY'), cls('SmackJeeves/SakuraMishzo'), cls('SmackJeeves/SalemUncommons'), cls('SmackJeeves/SallySprocketAndPistonPete'), cls('SmackJeeves/SaltyKiss'), cls('SmackJeeves/SayWhatYouMean'), cls('SmackJeeves/SchoolOfRejectsSoRe'), cls('SmackJeeves/ScionsoftheSeraph'), cls('SmackJeeves/ScrappedProject'), cls('SmackJeeves/SecretPowerbk1'), cls('SmackJeeves/SecretPowerbk2'), cls('SmackJeeves/Seki'), cls('SmackJeeves/SeriousTimes'), cls('SmackJeeves/Shameless'), cls('SmackJeeves/ShamelessAdvertisements'), cls('SmackJeeves/ShotoutofCanon'), cls('SmackJeeves/ShroudofLight'), cls('SmackJeeves/Signifikat'), cls('SmackJeeves/SimpleBear'), cls('SmackJeeves/Sire'), cls('SmackJeeves/Skeptical'), cls('SmackJeeves/Slackmatic'), cls('SmackJeeves/SlipstreamSingularity'), cls('SmackJeeves/SmallPressAdventures'), cls('SmackJeeves/SocksMittensandScarfs'), cls('SmackJeeves/SomethingLikeaPhenomenon'), cls('SmackJeeves/SonicAuthorAdventII'), cls('SmackJeeves/SonicBoom'), cls('SmackJeeves/SonicClub'), cls('SmackJeeves/SonicDashly'), cls('SmackJeeves/SonicFuture'), cls('SmackJeeves/SonicSchoolRedo'), cls('SmackJeeves/SouthernCross'), cls('SmackJeeves/SovereignTheMostAmazingComicEver'), cls('SmackJeeves/SparElricsExtras'), cls('SmackJeeves/Spellcross'), cls('SmackJeeves/SpiderWings'), cls('SmackJeeves/SplitScreen'), cls('SmackJeeves/Spriterschaos'), cls('SmackJeeves/Sprytts'), cls('SmackJeeves/Stay'), cls('SmackJeeves/StellaInChrome'), cls('SmackJeeves/Stereophonic'), cls('SmackJeeves/StolenGeneration'), cls('SmackJeeves/Storyofadamnedlove'), cls('SmackJeeves/StrangersandFriends'), cls('SmackJeeves/Striped'), cls('SmackJeeves/StuntRayWalterswish'), cls('SmackJeeves/SubjecttoChangeCollegeWoes'), cls('SmackJeeves/Sunfall'), cls('SmackJeeves/SunmeetsMoon'), cls('SmackJeeves/SuperDimensionAfterTheHero'), cls('SmackJeeves/SuperMarioBros3'), cls('SmackJeeves/SuperMarjoBros'), cls('SmackJeeves/SupermassiveBlackHoleA'), cls('SmackJeeves/SurvivorFanCharacters'), cls('SmackJeeves/SweetestPoison'), cls('SmackJeeves/SwitchMechanism'), cls('SmackJeeves/TEN'), cls('SmackJeeves/TLAAOK'), cls('SmackJeeves/TPTruePower'), cls('SmackJeeves/TaikiTheWebcomic'), cls('SmackJeeves/TailsAdventureThroughTimeandOtherWorlds'), cls('SmackJeeves/TakingPicturesofStrangers'), cls('SmackJeeves/TalesFromAaronsWings'), cls('SmackJeeves/ThatWasntThereYesterday'), cls('SmackJeeves/The13thWorld'), cls('SmackJeeves/TheAdventuresOfBanjoZ'), cls('SmackJeeves/TheAntihero'), cls('SmackJeeves/TheArchipelago'), cls('SmackJeeves/TheBattleInTheSky'), cls('SmackJeeves/TheBookOfNosferatu'), cls('SmackJeeves/TheBrideoftheShark'), cls('SmackJeeves/TheBucket'), cls('SmackJeeves/TheCafedAlizee'), cls('SmackJeeves/TheCavernOfSecrets'), cls('SmackJeeves/TheColony'), cls('SmackJeeves/TheContract'), cls('SmackJeeves/TheCrawl'), cls('SmackJeeves/TheDarkLegacy'), cls('SmackJeeves/TheDemonicAdventuresOfAngelWitchPita'), cls('SmackJeeves/TheDestroyer'), cls('SmackJeeves/TheDragonAndTheLemur'), cls('SmackJeeves/TheDreaming'), cls('SmackJeeves/TheDrifter'), cls('SmackJeeves/TheElectricRose'), cls('SmackJeeves/TheForestofWhispers'), cls('SmackJeeves/TheGhostWithTheMost'), cls('SmackJeeves/TheGoldRiderofPern'), cls('SmackJeeves/TheGrayZone'), cls('SmackJeeves/TheHeadhunters'), cls('SmackJeeves/TheHeartofEarth'), cls('SmackJeeves/TheJosephComics'), cls('SmackJeeves/TheKeyHotelEnding'), cls('SmackJeeves/TheKwiddexProtocol'), cls('SmackJeeves/TheLastBloodCafe'), cls('SmackJeeves/TheLegendaryQueen'), cls('SmackJeeves/TheLifeofMagFlamequill'), cls('SmackJeeves/TheLoneSwordsman'), cls('SmackJeeves/TheMadMan'), cls('SmackJeeves/TheMegaManandSonicSpriteShowcase'), cls('SmackJeeves/TheNOMEDSEGA'), cls('SmackJeeves/TheNightSurfers'), cls('SmackJeeves/TheNocheComicSeries'), cls('SmackJeeves/ThePirateBalthasar'), cls('SmackJeeves/ThePremise'), cls('SmackJeeves/ThePrincessAndTheGiant'), cls('SmackJeeves/ThePropertyofHate'), cls('SmackJeeves/TheReborn'), cls('SmackJeeves/TheSearchForHenryJekyll'), cls('SmackJeeves/TheSilverLeague'), cls('SmackJeeves/TheSummerofBlakeSinclair'), cls('SmackJeeves/TheTimeDog'), cls('SmackJeeves/TheTytonNuzlockeChallengeEmeraldEdition'), cls('SmackJeeves/TheWhiteTower'), cls('SmackJeeves/TheWinterCampaign'), cls('SmackJeeves/TheYoshiHerd'), cls('SmackJeeves/Theatrics'), cls('SmackJeeves/TheiaMania'), cls('SmackJeeves/ThelaughingDeath'), cls('SmackJeeves/Theswordsmanandtheamnesiac'), cls('SmackJeeves/ThiefCatcherRingTail'), cls('SmackJeeves/ThornTopia'), cls('SmackJeeves/ThornsComic'), cls('SmackJeeves/ToddAllisonAndThePetuniaViolet'), cls('SmackJeeves/TosiHuonoYaoiSarjis'), cls('SmackJeeves/TotallyCrossover'), cls('SmackJeeves/TrainerWantsToFight'), cls('SmackJeeves/TransUMan'), cls('SmackJeeves/Transfusions'), cls('SmackJeeves/TroubleNextDoor'), cls('SmackJeeves/UglyBoysLove'), cls('SmackJeeves/Uglygame'), cls('SmackJeeves/UnderTheDeadSkies'), cls('SmackJeeves/UnicampaLapis'), cls('SmackJeeves/UpDown'), cls('SmackJeeves/UshalaatWorldsEnd'), cls('SmackJeeves/VACANT'), cls('SmackJeeves/Vacan7'), cls('SmackJeeves/VerloreGeleentheid'), cls('SmackJeeves/VoidMisadventures'), cls('SmackJeeves/VoyageoftheBrokenPromise'), cls('SmackJeeves/WHATAboutSHADOWS'), cls('SmackJeeves/WakeEcho'), cls('SmackJeeves/Wander'), cls('SmackJeeves/WantedDeadorDead'), cls('SmackJeeves/Wayfar'), cls('SmackJeeves/Waysoftheheart'), cls('SmackJeeves/WeAreGolden'), cls('SmackJeeves/WelcomeToFreakshow'), cls('SmackJeeves/WelcomeToThePCA'), cls('SmackJeeves/WhatAboutLove'), cls('SmackJeeves/WhatIsDeepInOnesHeart'), cls('SmackJeeves/WhatWeRememberTheMost'), cls('SmackJeeves/WhenSheWasBad'), cls('SmackJeeves/Whenweweresilent'), cls('SmackJeeves/WhereaboutsOfTime'), cls('SmackJeeves/WhiteHeart'), cls('SmackJeeves/WhiteNoise'), cls('SmackJeeves/WildWingBoys'), cls('SmackJeeves/WildWingBoysKoathArc'), cls('SmackJeeves/Wildflowers'), cls('SmackJeeves/WingsOverEthereal'), cls('SmackJeeves/WingsTurnedtoDust'), cls('SmackJeeves/Wootlabs'), cls('SmackJeeves/XXMoralityXx'), cls('SmackJeeves/YadotCakeShop'), cls('SmackJeeves/YamanaokiHighSchool'), cls('SmackJeeves/YoungCannibals'), cls('SmackJeeves/ZaenWell'), cls('SmackJeeves/ZeldaTheNewAdventureofLinkIIMajorasMask'), cls('SmackJeeves/_A_'), cls('SnafuComics/KOF'), cls('SnafuComics/SF'), cls('Shivae/CafeAnime'), cls('Shivae/Extras'), cls('SnafuComics/Titan'), cls('StuffNoOneToldMe'), cls('TheCyantianChronicles/CookieCaper'), cls('TheCyantianChronicles/Pawprints'), cls('VictimsOfTheSystem'), cls('WebDesignerCOTW'), ) class Renamed(Scraper): MSG = 'Comic module was renamed to "%s", please rename the directory.' count = 0 @classmethod def counter(cls): cls.count += 1 return cls.count def __init__(self, name, newname): super(Renamed, self).__init__(name) self.newname = newname self.i = self.counter() def getDisabledReasons(self): return {'ren-%i' % self.i: self.MSG % self.newname} @classmethod def getmodules(cls): # noqa: Allowed to be long return ( # Renamed in 2.16 cls('1997', '1977'), cls('ApartmentForTwo', 'NamirDeiter/ApartmentForTwo'), cls('Catena', 'CatenaManor'), cls('ComicFury/Alya', 'ComicFury/AlyaTheLastChildOfLight'), cls('ComicFury/Boatcrash', 'ComicFury/BoatcrashChronicles'), cls('ComicFury/Crimsonpixel', 'ComicFury/CrimsonPixelComics'), cls('ComicFury/Doublejump', 'ComicFury/DoubleJumpGameComics'), cls('ComicFury/Elektroanthology', 'ComicFury/ElektrosComicAnthology'), cls('ComicFury/ICanSeeYourFeels', 'ComicFury/SeeYourFeels'), cls('ComicFury/MAGISAupdatesMonWedFri', 'ComicFury/MAGISAPARASAYOupdatesMonFri'), cls('ComicFury/OopsComicAdventure', 'OopsComicAdventure'), cls('ComicFury/ThomasAndZachary', 'ComicFury/ThomasAndZacharyArchives'), cls('ComicGenesis/TheLounge', 'KeenSpot/TheLounge'), cls('Creators/ArchieinSpanish', 'Creators/ArchieSpanish'), cls('Creators/HeathcliffinSpanish', 'Creators/HeathcliffSpanish'), cls('Creators/TheWizardofIdinSpanish', 'Creators/WizardOfIdSpanish'), cls('DarkWings', 'Eryl'), cls('EyeOfRamalach', 'KemonoCafe/TheEyeOfRamalach'), cls('FoulLanguage', 'GoComics/FowlLanguage'), cls('GoComics/060', 'ComicSherpa/060'), cls('GoComics/ABitSketch', 'ComicSherpa/ABitSketch'), cls('GoComics/Andnow', 'ComicSherpa/AndNow'), cls('GoComics/Anecdote', 'ComicSherpa/Anecdote'), cls('GoComics/AppleCreekComics', 'ComicSherpa/AppleCreekComics'), cls('GoComics/BarkingCrayon', 'ComicFury/BarkingCrayon'), cls('GoComics/Bazoobee', 'ComicSherpa/Bazoobee'), cls('GoComics/Bluebonnets', 'ComicSherpa/Bluebonnets'), cls('GoComics/BlueSkiesToons', 'ComicSherpa/BlueSkiesToons'), cls('GoComics/BottAuto', 'ComicSherpa/BottAuto'), cls('GoComics/BUNS', 'ComicSherpa/BUNS'), cls('GoComics/CAFFEINATED', 'ComicSherpa/CAFFEINATED'), cls('GoComics/CharmysArmy', 'ComicSherpa/CharmysArmy'), cls('GoComics/CourageousManAdventures', 'ComicSherpa/CourageousManAdventures'), cls('GoComics/DontPicktheFlowers', 'ComicSherpa/DontPickTheFlowers'), cls('GoComics/Dragin', 'ComicSherpa/Dragin'), cls('GoComics/DumbQuestionBadAnswer', 'ComicSherpa/DumbQuestionBadAnswer'), cls('GoComics/DustSpecks', 'ComicSherpa/DustSpecks'), cls('GoComics/Econogirl', 'ComicSherpa/Econogirl'), cls('GoComics/Elmo', 'ComicSherpa/Elmo'), cls('GoComics/FarOut', 'ComicSherpa/FarOut'), cls('GoComics/FrankAndSteinway', 'ComicSherpa/FrankAndSteinway'), cls('GoComics/FriedCritter', 'ComicSherpa/FriedCritter'), cls('GoComics/GarciaCartoonCo', 'ComicSherpa/GarciaCartoonCo'), cls('GoComics/GIRTH', 'ComicSherpa/GIRTH'), cls('GoComics/GrannyAnny', 'ComicSherpa/GrannyAnny'), cls('GoComics/GreenPieces', 'ComicSherpa/GreenPieces'), cls('GoComics/GunstonStreet', 'ComicSherpa/GunstonStreet'), cls('GoComics/Headcheese', 'ComicSherpa/Headcheese'), cls('GoComics/ItsjustJim', 'ComicSherpa/ItsJustJim'), cls('GoComics/JillpokeBohemia', 'ComicFury/JillpokeBohemia'), cls('GoComics/KartoonsByKline', 'ComicSherpa/KartoonsByKline'), cls('GoComics/LumandAbner', 'ComicSherpa/LumAndAbner'), cls('GoComics/Millennialville', 'ComicSherpa/Millennialville'), cls('GoComics/Milton50', 'ComicSherpa/Milton50'), cls('GoComics/Mindframe', 'ComicSherpa/Mindframe'), cls('GoComics/MiscSoup', 'ComicSherpa/MiscSoup'), cls('GoComics/MisterAndMe', 'ComicSherpa/MisterAndMe'), cls('GoComics/MortsIsland', 'ComicSherpa/MortsIsland'), cls('GoComics/NoOrdinaryLife', 'ComicSherpa/NoOrdinaryLife'), cls('GoComics/ONIONAndPEA', 'ComicSherpa/ONIONAndPEA'), cls('GoComics/PaddedCell', 'ComicSherpa/PaddedCell'), cls('GoComics/Peeples', 'ComicSherpa/Peeples'), cls('GoComics/PoliceLimit', 'ComicSherpa/PoliceLimit'), cls('GoComics/RonWarren', 'ComicSherpa/RonWarren'), cls('GoComics/SignGarden', 'ComicSherpa/SignGarden'), cls('GoComics/SleepytownBeagles', 'ComicSherpa/SleepytownBeagles'), cls('GoComics/SmallNerdyCreatures', 'ComicSherpa/SmallNerdyCreatures'), cls('GoComics/Smith', 'ComicSherpa/Smith'), cls('GoComics/SoccerEarth', 'ComicSherpa/SoccerEarth'), cls('GoComics/SookyRottweiler', 'ComicSherpa/SookyRottweiler'), cls('GoComics/SportsbyVoort', 'ComicSherpa/SportsByVoort'), cls('GoComics/StankoAndTibor', 'ComicSherpa/StankoAndTibor'), cls('GoComics/SubSub', 'ComicSherpa/SubSub'), cls('GoComics/SuburbanFairyTales', 'ComicSherpa/SuburbanFairyTales'), cls('GoComics/SuperSiblings', 'ComicSherpa/SuperSiblings'), cls('GoComics/TheBeauforts', 'ComicSherpa/TheBeauforts'), cls('GoComics/TheBoobiehatch', 'ComicSherpa/TheBoobiehatch'), cls('GoComics/TheCardinal', 'ComicSherpa/TheCardinal'), cls('GoComics/TheGreenMonkeys', 'ComicSherpa/TheGreenMonkeys'), cls('GoComics/TheOldManAndHisDog', 'ComicSherpa/TheOldManAndHisDog'), cls('GoComics/TheQuinnAndFinnShow', 'ComicSherpa/TheQuinnAndFinnShow'), cls('GoComics/Thingsesque', 'ComicSherpa/Thingsesque'), cls('GoComics/WayOutComics', 'ComicSherpa/WayOutComics'), cls('GoComics/WhiskeyFalls', 'ComicSherpa/WhiskeyFalls'), cls('GoComics/Wrobbertcartoons', 'ComicSherpa/WrobbertCartoons'), cls('GoComics/Zootopia', 'ComicSherpa/Zootopia'), cls('KeenSpot/AntiheroForHire', 'AntiheroForHire'), cls('KeenSpot/ElGoonishShive', 'ElGoonishShive'), cls('KeenSpot/ElGoonishShiveNP', 'ElGoonishShiveNP'), cls('KeenSpot/Newshounds', 'Newshounds'), cls('KeenSpot/SinFest', 'SinFest'), cls('KeenSpot/TheGodChild', 'GodChild'), cls('LasLindas', 'KemonoCafe/LasLindas'), cls('NicoleAndDerek', 'NamirDeiter/NicoleAndDerek'), cls('OnTheFasttrack', 'ComicsKingdom/OnTheFastrack'), cls('PetiteSymphony/Djandora', 'ComicsBreak/Djandora'), cls('PetiteSymphony/Generation17', 'ComicsBreak/Generation17'), cls('PetiteSymphony/Rascals', 'KemonoCafe/Rascals'), cls('QuentynQuinnSpaceRanger', 'RHJunior/QuentynQuinnSpaceRanger'), cls('ShermansLagoon', 'ComicsKingdom/ShermansLagoon'), cls('SmackJeeves/AddictiveScience', 'KemonoCafe/AddictiveScience'), cls('SmackJeeves/CityFolk', 'ComicFury/CityFolk'), cls('SmackJeeves/DoomsdayMyDear', 'DoomsdayMyDear'), cls('SmackJeeves/ForestHill', 'ForestHill'), cls('SmackJeeves/Katran', 'ComicFury/KATRAN'), cls('SmackJeeves/LatchkeyKingdom', 'ComicFury/LatchkeyKingdom'), cls('SmackJeeves/Magience', 'ComicFury/Magience'), cls('SmackJeeves/RiversideExtras', 'RiversideExtras'), cls('SmackJeeves/StarTrip', 'StarTrip'), cls('TalesOfTheQuestor', 'RHJunior/TalesOfTheQuestor'), cls('TheProbabilityBomb', 'RHJunior/TheProbabilityBomb'), cls('TracyAndTristan', 'ComicFury/TracyAndTristan'), cls('UnlikeMinerva', 'NamirDeiter/UnlikeMinerva'), cls('Wulffmorgenthaler', 'WuMo'), cls('YouSayItFirst', 'NamirDeiter/YouSayItFirst'), cls('ZebraGirl', 'ComicFury/ZebraGirl'), # Renamed in 3.0 cls('CrapIDrewOnMyLunchBreak', 'WebToons/CrapIDrewOnMyLunchBreak'), cls('GoComics/BloomCounty2017', 'GoComics/BloomCounty2019'), cls('GoComics/Cathy', 'GoComics/CathyClassics'), cls('GoComics/Owlturd', 'GoComics/ShenComix'), cls('GoComics/PeanutsEnEspanol', 'GoComics/SnoopyEnEspanol'), cls('GoComics/RipleysBelieveItOrNotSpanish', 'GoComics/RipleysAunqueUstedNoLoCrea'), cls('GoComics/WebcomicName', 'WebcomicName'), cls('Shivae/BlackRose', 'BlackRose'), cls('SmackJeeves/BlackTapestries', 'ComicFury/BlackTapestries'), cls('SmackJeeves/ByTheBook', 'ByTheBook'), cls('SmackJeeves/FurryExperience', 'ComicFury/FurryExperience'), cls('SmackJeeves/GrowingTroubles', 'ComicFury/GrowingTroubles'), cls('SmackJeeves/TheRealmOfKaerwyn', 'ComicFury/TheRealmOfKaerwyn'), cls('StudioKhimera/Draconia', 'Draconia'), )