diff --git a/dosagelib/plugins/gocomics.py b/dosagelib/plugins/gocomics.py index 0e76ec548..1faee4bdd 100644 --- a/dosagelib/plugins/gocomics.py +++ b/dosagelib/plugins/gocomics.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: MIT -# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs -# Copyright (C) 2012-2014 Bastian Kleineidam -# Copyright (C) 2015-2022 Tobias Gruetzmacher +# SPDX-FileCopyrightText: © 2004 Tristan Seligmann and Jonathan Jacobs +# SPDX-FileCopyrightText: © 2012 Bastian Kleineidam +# SPDX-FileCopyrightText: © 2015 Tobias Gruetzmacher from ..scraper import ParserScraper from ..helpers import indirectStarter @@ -44,7 +44,6 @@ class GoComics(ParserScraper): # START AUTOUPDATE cls('1AndDone', '1-and-done'), cls('9ChickweedLane', '9chickweedlane'), - cls('9ChickweedLaneClassics', '9-chickweed-lane-classics'), cls('9To5', '9to5'), cls('Aaggghhh', 'Aaggghhh', 'es'), cls('AdamAtHome', 'adamathome'), @@ -62,6 +61,7 @@ class GoComics(ParserScraper): cls('Annie', 'annie'), cls('AProblemLikeJamal', 'a-problem-like-jamal'), cls('ArloAndJanis', 'arloandjanis'), + cls('ArtByMoga', 'artbymoga'), cls('AskShagg', 'askshagg'), cls('AtTavicat', 'tavicat'), cls('AuntyAcid', 'aunty-acid'), @@ -69,7 +69,6 @@ class GoComics(ParserScraper): cls('BackInTheDay', 'backintheday'), cls('BackToBC', 'back-to-bc'), cls('Bacon', 'bacon'), - cls('Badlands', 'badlands'), cls('BadMachinery', 'bad-machinery'), cls('Baldo', 'baldo'), cls('BaldoEnEspanol', 'baldoespanol', 'es'), @@ -90,8 +89,8 @@ class GoComics(ParserScraper): cls('Betty', 'betty'), cls('BFGFSyndrome', 'bfgf-syndrome'), cls('BigNate', 'bignate'), - cls('BigNateFirstClass', 'big-nate-first-class'), cls('BigTop', 'bigtop'), + cls('BillBramhall', 'bill-bramhall'), cls('BirdAndMoon', 'bird-and-moon'), cls('Birdbrains', 'birdbrains'), cls('BleekerTheRechargeableDog', 'bleeker'), @@ -99,14 +98,14 @@ class GoComics(ParserScraper): cls('BloomCounty', 'bloomcounty'), cls('BloomCounty2019', 'bloom-county'), cls('BobGorrell', 'bobgorrell'), + cls('BobTheAngryFlower', 'bob-the-angry-flower'), cls('BobTheSquirrel', 'bobthesquirrel'), cls('BoNanas', 'bonanas'), cls('Boomerangs', 'boomerangs'), - cls('Bottomliners', 'bottomliners'), + cls('BottomLiners', 'bottomliners'), cls('BoundAndGagged', 'boundandgagged'), cls('Bozo', 'bozo'), cls('BreakingCatNews', 'breaking-cat-news'), - cls('BreakOfDay', 'break-of-day'), cls('Brevity', 'brevity'), cls('BrewsterRockit', 'brewsterrockit'), cls('BrianMcFadden', 'brian-mcfadden'), @@ -116,7 +115,6 @@ class GoComics(ParserScraper): cls('Buni', 'buni'), cls('CalvinAndHobbes', 'calvinandhobbes'), cls('CalvinAndHobbesEnEspanol', 'calvinandhobbesespanol', 'es'), - cls('Candorville', 'candorville'), cls('CatanaComics', 'little-moments-of-love'), cls('CathyClassics', 'cathy'), cls('CathyCommiserations', 'cathy-commiserations'), @@ -139,17 +137,18 @@ class GoComics(ParserScraper): cls('CowAndBoyClassics', 'cowandboy'), cls('CowTown', 'cowtown'), cls('Crabgrass', 'crabgrass'), + # Crankshaft has a duplicate in ComicsKingdom/Crankshaft cls('Crumb', 'crumb'), cls('CulDeSac', 'culdesac'), + cls('Curses', 'curses'), cls('DaddysHome', 'daddyshome'), cls('DanaSummers', 'danasummers'), cls('DarkSideOfTheHorse', 'darksideofthehorse'), + cls('DayByDave', 'day-by-dave'), cls('DeepDarkFears', 'deep-dark-fears'), cls('DeFlocked', 'deflocked'), cls('DiamondLil', 'diamondlil'), cls('DickTracy', 'dicktracy'), - cls('DilbertClassics', 'dilbert-classics'), - cls('DilbertEnEspanol', 'dilbert-en-espanol', 'es'), cls('DinosaurComics', 'dinosaur-comics'), cls('DogEatDoug', 'dogeatdoug'), cls('DogsOfCKennel', 'dogsofckennel'), @@ -160,15 +159,14 @@ class GoComics(ParserScraper): cls('Doonesbury', 'doonesbury'), cls('Drabble', 'drabble'), cls('DrewSheneman', 'drewsheneman'), - cls('DumbwichCastle', 'dumbwich-castle'), cls('EdgeCity', 'edge-city'), cls('Eek', 'eek'), cls('ElCafDePoncho', 'el-cafe-de-poncho', 'es'), cls('EmmyLou', 'emmy-lou'), cls('Endtown', 'endtown'), + cls('EricAllie', 'eric-allie'), cls('EverydayPeopleCartoons', 'everyday-people-cartoons'), cls('Eyebeam', 'eyebeam'), - cls('EyebeamClassic', 'eyebeam-classic'), cls('FalseKnees', 'false-knees'), cls('FamilyTree', 'familytree'), cls('Farcus', 'farcus'), @@ -191,8 +189,8 @@ class GoComics(ParserScraper): cls('FreeRange', 'freerange'), cls('FreshlySqueezed', 'freshlysqueezed'), cls('FrogApplause', 'frogapplause'), + cls('FurBabies', 'furbabies'), cls('Garfield', 'garfield'), - cls('GarfieldClassics', 'garfield-classics'), cls('GarfieldEnEspanol', 'garfieldespanol', 'es'), cls('GaryMarkstein', 'garymarkstein'), cls('GaryVarvel', 'garyvarvel'), @@ -222,6 +220,7 @@ class GoComics(ParserScraper): cls('HerbAndJamaal', 'herbandjamaal'), cls('Herman', 'herman'), cls('HomeAndAway', 'homeandaway'), + cls('HomeFree', 'homefree'), cls('HotComicsForCoolPeople', 'hot-comics-for-cool-people'), cls('HutchOwen', 'hutch-owen'), cls('ImagineThis', 'imaginethis'), @@ -238,10 +237,12 @@ class GoComics(ParserScraper): cls('JeffDanziger', 'jeffdanziger'), cls('JeffStahler', 'jeffstahler'), cls('JenSorensen', 'jen-sorensen'), + cls('JerryKingComics', 'jerry-king-comics'), cls('JimBentonCartoons', 'jim-benton-cartoons'), cls('JimMorin', 'jimmorin'), cls('JoeHeller', 'joe-heller'), cls('JoelPett', 'joelpett'), + cls('JoeyWeatherford', 'joey-weatherford'), cls('JohnDeering', 'johndeering'), cls('JumpStart', 'jumpstart'), cls('JunkDrawer', 'junk-drawer'), @@ -287,7 +288,6 @@ class GoComics(ParserScraper): cls('Lunarbaboon', 'lunarbaboon'), cls('M2Bulls', 'm2bulls'), cls('Maintaining', 'maintaining'), - cls('MakingIt', 'making-it'), cls('MannequinOnTheMoon', 'mannequin-on-the-moon'), cls('MariasDay', 'marias-day'), cls('Marmaduke', 'marmaduke'), @@ -299,6 +299,7 @@ class GoComics(ParserScraper): cls('MessycowComics', 'messy-cow'), cls('MexikidStories', 'mexikid-stories'), cls('MichaelRamirez', 'michaelramirez'), + cls('MikeBeckom', 'mike-beckom'), cls('MikeDuJour', 'mike-du-jour'), cls('MikeLester', 'mike-lester'), cls('MikeLuckovich', 'mikeluckovich'), @@ -307,9 +308,9 @@ class GoComics(ParserScraper): cls('Momma', 'momma'), cls('Monty', 'monty'), cls('MontyDiaros', 'monty-diaros', 'es'), + # MotherGooseAndGrimm has a duplicate in ComicsKingdom/MotherGooseAndGrimm cls('MotleyClassics', 'motley-classics'), cls('MrLowe', 'mr-lowe'), - cls('MtPleasant', 'mtpleasant'), cls('MuttAndJeff', 'muttandjeff'), cls('MyDadIsDracula', 'my-dad-is-dracula'), cls('MythTickle', 'mythtickle'), @@ -341,10 +342,10 @@ class GoComics(ParserScraper): cls('OverTheHedge', 'overthehedge'), cls('OzyAndMillie', 'ozy-and-millie'), cls('PatOliphant', 'patoliphant'), - cls('PCAndPixel', 'pcandpixel'), cls('Peanuts', 'peanuts'), cls('PeanutsBegins', 'peanuts-begins'), cls('PearlsBeforeSwine', 'pearlsbeforeswine'), + cls('PedroXMolina', 'pedroxmolina'), cls('Periquita', 'periquita', 'es'), cls('PerlasParaLosCerdos', 'perlas-para-los-cerdos', 'es'), cls('PerryBibleFellowship', 'perry-bible-fellowship'), @@ -383,7 +384,6 @@ class GoComics(ParserScraper): cls('RoseIsRose', 'roseisrose'), cls('Rubes', 'rubes'), cls('RudyPark', 'rudypark'), - cls('SaltNPepper', 'salt-n-pepper'), cls('SarahsScribbles', 'sarahs-scribbles'), cls('SaturdayMorningBreakfastCereal', 'saturday-morning-breakfast-cereal'), cls('SavageChickens', 'savage-chickens'), @@ -394,13 +394,11 @@ class GoComics(ParserScraper): cls('ShermansLagoon', 'shermanslagoon'), cls('ShirleyAndSonClassics', 'shirley-and-son-classics'), cls('Shoe', 'shoe'), - cls('SigneWilkinson', 'signewilkinson'), cls('SketchsharkComics', 'sketchshark-comics'), cls('SkinHorse', 'skinhorse'), cls('Skippy', 'skippy'), cls('SmallPotatoes', 'small-potatoes'), cls('SnoopyEnEspanol', 'peanuts-espanol', 'es'), - cls('Snowflakes', 'snowflakes'), cls('SnowSez', 'snow-sez'), cls('SpeedBump', 'speedbump'), cls('SpiritOfTheStaircase', 'spirit-of-the-staircase'), @@ -410,9 +408,7 @@ class GoComics(ParserScraper): cls('SteveKelley', 'stevekelley'), cls('StickyComics', 'sticky-comics'), cls('StoneSoup', 'stonesoup'), - cls('StoneSoupClassics', 'stone-soup-classics'), cls('StrangeBrew', 'strangebrew'), - cls('StuartCarlson', 'stuartcarlson'), cls('StudioJantze', 'studio-jantze'), cls('SunnyStreet', 'sunny-street'), cls('SunshineState', 'sunshine-state'), @@ -425,6 +421,7 @@ class GoComics(ParserScraper): cls('TarzanEnEspanol', 'tarzan-en-espanol', 'es'), cls('TedRall', 'ted-rall'), cls('TenCats', 'ten-cats'), + cls('Tex', 'tex'), cls('TextsFromMittens', 'texts-from-mittens'), cls('Thatababy', 'thatababy'), cls('ThatIsPriceless', 'that-is-priceless'), @@ -451,6 +448,7 @@ class GoComics(ParserScraper): cls('TheHumbleStumble', 'humble-stumble'), cls('TheKChronicles', 'thekchronicles'), cls('TheKnightLife', 'theknightlife'), + cls('TheLockhorns', 'lockhorns'), cls('TheMartianConfederacy', 'the-martian-confederacy'), cls('TheMeaningOfLila', 'meaningoflila'), cls('TheMiddleAge', 'the-middle-age'), @@ -473,6 +471,7 @@ class GoComics(ParserScraper): cls('TruthFacts', 'truth-facts'), cls('Tutelandia', 'tutelandia', 'es'), cls('TwoPartyOpera', 'two-party-opera'), + cls('UFO', 'ufo'), cls('UnderpantsAndOverbites', 'underpants-and-overbites'), cls('UnderstandingChaos', 'understanding-chaos'), cls('UnstrangePhenomena', 'unstrange-phenomena'), @@ -487,6 +486,7 @@ class GoComics(ParserScraper): cls('ViiviAndWagner', 'viivi-and-wagner'), cls('WallaceTheBrave', 'wallace-the-brave'), cls('WaltHandelsman', 'walthandelsman'), + cls('Wannabe', 'wannabe'), cls('Warped', 'warped'), cls('WatchYourHead', 'watchyourhead'), cls('Wawawiwa', 'wawawiwa'), @@ -505,6 +505,7 @@ class GoComics(ParserScraper): cls('WuMo', 'wumo'), cls('WumoEnEspanol', 'wumoespanol', 'es'), cls('Yaffle', 'yaffle'), + cls('YeahItsChill', 'yeah-its-chill'), cls('YesImHotInThis', 'yesimhotinthis'), cls('ZackHill', 'zackhill'), cls('ZenPencils', 'zen-pencils'), diff --git a/dosagelib/plugins/old.py b/dosagelib/plugins/old.py index 11ee39045..40c8b8c4a 100644 --- a/dosagelib/plugins/old.py +++ b/dosagelib/plugins/old.py @@ -1589,6 +1589,26 @@ class Removed(Scraper): cls('WebToons/CrystalVirus'), cls('WebToons/OVERPOWERED'), cls('WintersLight'), + + # Removed in 3.1 + cls('GoComics/9ChickweedLaneClassics'), + cls('GoComics/Badlands'), + cls('GoComics/BigNateFirstClass'), + cls('GoComics/BreakOfDay'), + cls('GoComics/Candorville'), + cls('GoComics/DilbertClassics'), + cls('GoComics/DilbertEnEspanol'), + cls('GoComics/DumbwichCastle'), + cls('GoComics/EyebeamClassic'), + cls('GoComics/GarfieldClassics'), + cls('GoComics/MakingIt'), + cls('GoComics/MtPleasant'), + cls('GoComics/PCAndPixel'), + cls('GoComics/SaltNPepper'), + cls('GoComics/SigneWilkinson'), + cls('GoComics/Snowflakes'), + cls('GoComics/StoneSoupClassics'), + cls('GoComics/StuartCarlson'), ) diff --git a/scripts/gocomics.py b/scripts/gocomics.py index 653c605ec..6637682a7 100755 --- a/scripts/gocomics.py +++ b/scripts/gocomics.py @@ -1,8 +1,8 @@ #!/usr/bin/env python3 # SPDX-License-Identifier: MIT -# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs -# Copyright (C) 2012-2014 Bastian Kleineidam -# Copyright (C) 2015-2022 Tobias Gruetzmacher +# SPDX-FileCopyrightText: © 2004 Tristan Seligmann and Jonathan Jacobs +# SPDX-FileCopyrightText: © 2012 Bastian Kleineidam +# SPDX-FileCopyrightText: © 2015 Tobias Gruetzmacher """ Script to get a list of gocomics and save the info in a JSON file for further processing. @@ -20,6 +20,8 @@ class GoComicsUpdater(ComicListUpdater): excluded_comics = ( # too short 'LukeyMcGarrysTLDR', + # Has its own module + 'Widdershins', ) def handle_gocomics(self, url, outercss='a.gc-blended-link', lang=None):