2020-04-18 11:45:44 +00:00
|
|
|
# SPDX-License-Identifier: MIT
|
2024-02-14 22:39:08 +00:00
|
|
|
# SPDX-FileCopyrightText: © 2004 Tristan Seligmann and Jonathan Jacobs
|
|
|
|
# SPDX-FileCopyrightText: © 2012 Bastian Kleineidam
|
|
|
|
# SPDX-FileCopyrightText: © 2015 Tobias Gruetzmacher
|
2022-06-06 10:08:32 +00:00
|
|
|
from ..scraper import ParserScraper
|
2020-07-31 20:56:30 +00:00
|
|
|
from ..helpers import indirectStarter
|
2016-04-11 20:34:11 +00:00
|
|
|
|
|
|
|
|
2022-06-06 10:08:32 +00:00
|
|
|
class GoComics(ParserScraper):
|
2019-12-03 23:15:44 +00:00
|
|
|
url = 'https://www.gocomics.com/'
|
2020-07-31 20:56:30 +00:00
|
|
|
imageSearch = '//picture[d:class("item-comic-image")]/img'
|
|
|
|
prevSearch = '//a[d:class("js-previous-comic")]'
|
|
|
|
latestSearch = '//div[d:class("gc-deck--cta-0")]//a'
|
2018-04-06 18:09:13 +00:00
|
|
|
starter = indirectStarter
|
2016-04-11 20:34:11 +00:00
|
|
|
help = 'Index format: yyyy/mm/dd'
|
|
|
|
|
2016-05-22 22:01:10 +00:00
|
|
|
def __init__(self, name, path, lang=None):
|
|
|
|
super(GoComics, self).__init__('GoComics/' + name)
|
2019-12-03 23:15:44 +00:00
|
|
|
self.session.add_throttle('www.gocomics.com', 1.0, 2.0)
|
|
|
|
self.url = 'https://www.gocomics.com/' + path
|
2016-05-22 22:01:10 +00:00
|
|
|
self.shortname = name
|
|
|
|
if lang:
|
|
|
|
self.lang = lang
|
2012-11-26 06:13:32 +00:00
|
|
|
|
2016-04-21 06:20:49 +00:00
|
|
|
def namer(self, image_url, page_url):
|
2016-04-11 20:34:11 +00:00
|
|
|
prefix, year, month, day = page_url.rsplit('/', 3)
|
2016-05-22 22:01:10 +00:00
|
|
|
return "%s_%s%s%s.gif" % (self.shortname, year, month, day)
|
2016-04-11 20:34:11 +00:00
|
|
|
|
|
|
|
def getIndexStripUrl(self, index):
|
2020-03-25 23:43:43 +00:00
|
|
|
return '{}/{}'.format(self.url, index)
|
2016-04-11 20:34:11 +00:00
|
|
|
|
|
|
|
def shouldSkipUrl(self, url, data):
|
|
|
|
"""Skip pages without images."""
|
|
|
|
return data.xpath('//img[contains(@src, "content-error-missing")]')
|
|
|
|
|
2016-05-22 22:01:10 +00:00
|
|
|
@classmethod
|
2022-12-11 19:15:09 +00:00
|
|
|
def getmodules(cls): # noqa: CFQ001
|
2016-05-22 22:01:10 +00:00
|
|
|
return (
|
|
|
|
# old comics removed from the listing
|
|
|
|
cls('HeavenlyNostrils', 'heavenly-nostrils'),
|
|
|
|
|
|
|
|
# do not edit anything below since these entries are generated from
|
|
|
|
# scripts/gocomics.py
|
|
|
|
# START AUTOUPDATE
|
|
|
|
cls('1AndDone', '1-and-done'),
|
|
|
|
cls('9ChickweedLane', '9chickweedlane'),
|
|
|
|
cls('9To5', '9to5'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('Aaggghhh', 'Aaggghhh', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('AdamAtHome', 'adamathome'),
|
|
|
|
cls('AdultChildren', 'adult-children'),
|
|
|
|
cls('Agnes', 'agnes'),
|
|
|
|
cls('AJAndMagnus', 'aj-and-magnus'),
|
2021-01-31 23:19:22 +00:00
|
|
|
cls('AlGoodwynEditorialCartoons', 'algoodwyn'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('AlisHouse', 'alis-house'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('AlleyOop', 'alley-oop'),
|
|
|
|
cls('AmandaTheGreat', 'amanda-the-great'),
|
|
|
|
cls('Andertoons', 'andertoons'),
|
|
|
|
cls('AndyCapp', 'andycapp'),
|
|
|
|
cls('AngryLittleGirls', 'angry-little-girls'),
|
|
|
|
cls('AnimalCrackers', 'animalcrackers'),
|
|
|
|
cls('Annie', 'annie'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('AProblemLikeJamal', 'a-problem-like-jamal'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('ArloAndJanis', 'arloandjanis'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('ArtByMoga', 'artbymoga'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('AskShagg', 'askshagg'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('AtTavicat', 'tavicat'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('AuntyAcid', 'aunty-acid'),
|
2022-06-05 18:23:56 +00:00
|
|
|
cls('BabyBlues', 'babyblues'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BackInTheDay', 'backintheday'),
|
|
|
|
cls('BackToBC', 'back-to-bc'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('Bacon', 'bacon'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BadMachinery', 'bad-machinery'),
|
|
|
|
cls('Baldo', 'baldo'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('BaldoEnEspanol', 'baldoespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BallardStreet', 'ballardstreet'),
|
|
|
|
cls('BananaTriangle', 'banana-triangle'),
|
|
|
|
cls('BarkeaterLake', 'barkeaterlake'),
|
|
|
|
cls('BarneyAndClyde', 'barneyandclyde'),
|
|
|
|
cls('BasicInstructions', 'basicinstructions'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('BatchRejection', 'batch-rejection'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BC', 'bc'),
|
|
|
|
cls('BeanieTheBrownie', 'beanie-the-brownie'),
|
|
|
|
cls('Beardo', 'beardo'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('BearWithMe', 'bear-with-me'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Ben', 'ben'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('BenitinYEneas', 'muttandjeffespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BergerAndWyse', 'berger-and-wyse'),
|
|
|
|
cls('BerkeleyMews', 'berkeley-mews'),
|
|
|
|
cls('Betty', 'betty'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('BFGFSyndrome', 'bfgf-syndrome'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BigNate', 'bignate'),
|
|
|
|
cls('BigTop', 'bigtop'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('BillBramhall', 'bill-bramhall'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('BirdAndMoon', 'bird-and-moon'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Birdbrains', 'birdbrains'),
|
|
|
|
cls('BleekerTheRechargeableDog', 'bleeker'),
|
|
|
|
cls('Bliss', 'bliss'),
|
|
|
|
cls('BloomCounty', 'bloomcounty'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('BloomCounty2019', 'bloom-county'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BobGorrell', 'bobgorrell'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('BobTheAngryFlower', 'bob-the-angry-flower'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BobTheSquirrel', 'bobthesquirrel'),
|
|
|
|
cls('BoNanas', 'bonanas'),
|
|
|
|
cls('Boomerangs', 'boomerangs'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('BottomLiners', 'bottomliners'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BoundAndGagged', 'boundandgagged'),
|
2022-06-05 18:23:56 +00:00
|
|
|
cls('Bozo', 'bozo'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BreakingCatNews', 'breaking-cat-news'),
|
2017-02-12 11:21:01 +00:00
|
|
|
cls('Brevity', 'brevity'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('BrewsterRockit', 'brewsterrockit'),
|
|
|
|
cls('BrianMcFadden', 'brian-mcfadden'),
|
|
|
|
cls('BroomHilda', 'broomhilda'),
|
2022-06-05 18:23:56 +00:00
|
|
|
cls('Buckles', 'buckles'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Bully', 'bully'),
|
|
|
|
cls('Buni', 'buni'),
|
|
|
|
cls('CalvinAndHobbes', 'calvinandhobbes'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('CalvinAndHobbesEnEspanol', 'calvinandhobbesespanol', 'es'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('CatanaComics', 'little-moments-of-love'),
|
|
|
|
cls('CathyClassics', 'cathy'),
|
|
|
|
cls('CathyCommiserations', 'cathy-commiserations'),
|
|
|
|
cls('CatsCafe', 'cats-cafe'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('CattitudeDoggonit', 'cattitude-doggonit'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('CestLaVie', 'cestlavie'),
|
2017-05-21 21:10:32 +00:00
|
|
|
cls('CheerUpEmoKid', 'cheer-up-emo-kid'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('ChipBok', 'chipbok'),
|
|
|
|
cls('ChrisBritt', 'chrisbritt'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('ChuckDrawsThings', 'chuck-draws-things'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('ChuckleBros', 'chucklebros'),
|
|
|
|
cls('CitizenDog', 'citizendog'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('Claw', 'claw'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('ClayBennett', 'claybennett'),
|
|
|
|
cls('ClayJones', 'clayjones'),
|
|
|
|
cls('Cleats', 'cleats'),
|
|
|
|
cls('CloseToHome', 'closetohome'),
|
|
|
|
cls('Computoon', 'compu-toon'),
|
|
|
|
cls('Cornered', 'cornered'),
|
|
|
|
cls('CowAndBoyClassics', 'cowandboy'),
|
|
|
|
cls('CowTown', 'cowtown'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('Crabgrass', 'crabgrass'),
|
2024-02-14 22:39:08 +00:00
|
|
|
# Crankshaft has a duplicate in ComicsKingdom/Crankshaft
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Crumb', 'crumb'),
|
|
|
|
cls('CulDeSac', 'culdesac'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('Curses', 'curses'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('DaddysHome', 'daddyshome'),
|
|
|
|
cls('DanaSummers', 'danasummers'),
|
|
|
|
cls('DarkSideOfTheHorse', 'darksideofthehorse'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('DayByDave', 'day-by-dave'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('DeepDarkFears', 'deep-dark-fears'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('DeFlocked', 'deflocked'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('DiamondLil', 'diamondlil'),
|
|
|
|
cls('DickTracy', 'dicktracy'),
|
|
|
|
cls('DinosaurComics', 'dinosaur-comics'),
|
|
|
|
cls('DogEatDoug', 'dogeatdoug'),
|
|
|
|
cls('DogsOfCKennel', 'dogsofckennel'),
|
|
|
|
cls('DomesticAbuse', 'domesticabuse'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('DonBrutus', 'don-brutus', 'es'),
|
|
|
|
cls('DoodleForFood', 'doodle-for-food'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('DoodleTown', 'doodle-town'),
|
|
|
|
cls('Doonesbury', 'doonesbury'),
|
|
|
|
cls('Drabble', 'drabble'),
|
|
|
|
cls('DrewSheneman', 'drewsheneman'),
|
|
|
|
cls('EdgeCity', 'edge-city'),
|
|
|
|
cls('Eek', 'eek'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('ElCafDePoncho', 'el-cafe-de-poncho', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('EmmyLou', 'emmy-lou'),
|
|
|
|
cls('Endtown', 'endtown'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('EricAllie', 'eric-allie'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('EverydayPeopleCartoons', 'everyday-people-cartoons'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Eyebeam', 'eyebeam'),
|
2020-04-19 23:00:38 +00:00
|
|
|
cls('FalseKnees', 'false-knees'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('FamilyTree', 'familytree'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Farcus', 'farcus'),
|
|
|
|
cls('FatCats', 'fat-cats'),
|
|
|
|
cls('FloAndFriends', 'floandfriends'),
|
|
|
|
cls('FMinus', 'fminus'),
|
|
|
|
cls('FoolishMortals', 'foolish-mortals'),
|
|
|
|
cls('ForBetterOrForWorse', 'forbetterorforworse'),
|
|
|
|
cls('ForHeavensSake', 'forheavenssake'),
|
|
|
|
cls('FourEyes', 'four-eyes'),
|
|
|
|
cls('FowlLanguage', 'fowl-language'),
|
|
|
|
cls('FoxTrot', 'foxtrot'),
|
|
|
|
cls('FoxTrotClassics', 'foxtrotclassics'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('FoxTrotEnEspanol', 'foxtrotespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Francis', 'francis'),
|
|
|
|
cls('FrankAndErnest', 'frank-and-ernest'),
|
|
|
|
cls('Frazz', 'frazz'),
|
|
|
|
cls('FredBasset', 'fredbasset'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('FredBassetEnEspanol', 'fredbassetespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('FreeRange', 'freerange'),
|
|
|
|
cls('FreshlySqueezed', 'freshlysqueezed'),
|
|
|
|
cls('FrogApplause', 'frogapplause'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('FurBabies', 'furbabies'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Garfield', 'garfield'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('GarfieldEnEspanol', 'garfieldespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('GaryMarkstein', 'garymarkstein'),
|
|
|
|
cls('GaryVarvel', 'garyvarvel'),
|
|
|
|
cls('GasolineAlley', 'gasolinealley'),
|
2021-01-31 23:19:22 +00:00
|
|
|
cls('Gaturro', 'gaturro', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Geech', 'geech'),
|
|
|
|
cls('GetALife', 'getalife'),
|
|
|
|
cls('GetFuzzy', 'getfuzzy'),
|
|
|
|
cls('Gil', 'gil'),
|
|
|
|
cls('GilThorp', 'gilthorp'),
|
|
|
|
cls('GingerMeggs', 'gingermeggs'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('GingerMeggsEnEspanol', 'gingermeggs-espanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('GlasbergenCartoons', 'glasbergen-cartoons'),
|
2022-06-05 18:23:56 +00:00
|
|
|
cls('Globetrotter', 'globetrotter'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('GManWebcomics', 'g-man-webcomics'),
|
|
|
|
cls('Goats', 'goats'),
|
|
|
|
cls('GrandAvenue', 'grand-avenue'),
|
|
|
|
cls('GrayMatters', 'gray-matters'),
|
|
|
|
cls('GreenHumour', 'green-humour'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('HaircutPractice', 'haircut-practice'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('HalfFull', 'half-full'),
|
2017-05-21 21:10:32 +00:00
|
|
|
cls('Harley', 'harley'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('HeartOfTheCity', 'heartofthecity'),
|
|
|
|
cls('Heathcliff', 'heathcliff'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('HeathcliffEnEspanol', 'heathcliffespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('HenryPayne', 'henrypayne'),
|
|
|
|
cls('HerbAndJamaal', 'herbandjamaal'),
|
|
|
|
cls('Herman', 'herman'),
|
|
|
|
cls('HomeAndAway', 'homeandaway'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('HomeFree', 'homefree'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('HotComicsForCoolPeople', 'hot-comics-for-cool-people'),
|
|
|
|
cls('HutchOwen', 'hutch-owen'),
|
|
|
|
cls('ImagineThis', 'imaginethis'),
|
2017-05-21 21:10:32 +00:00
|
|
|
cls('ImogenQuest', 'imogen-quest'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('InkPen', 'inkpen'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('InSecurity', 'in-security'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('InTheBleachers', 'inthebleachers'),
|
|
|
|
cls('InTheSticks', 'inthesticks'),
|
|
|
|
cls('InvisibleBread', 'invisible-bread'),
|
|
|
|
cls('ItsAllAboutYou', 'itsallaboutyou'),
|
|
|
|
cls('JackOhman', 'jackohman'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('JakeLikesOnions', 'jake-likes-onions'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('JanesWorld', 'janesworld'),
|
|
|
|
cls('JeffDanziger', 'jeffdanziger'),
|
|
|
|
cls('JeffStahler', 'jeffstahler'),
|
|
|
|
cls('JenSorensen', 'jen-sorensen'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('JerryKingComics', 'jerry-king-comics'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('JimBentonCartoons', 'jim-benton-cartoons'),
|
|
|
|
cls('JimMorin', 'jimmorin'),
|
|
|
|
cls('JoeHeller', 'joe-heller'),
|
|
|
|
cls('JoelPett', 'joelpett'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('JoeyWeatherford', 'joey-weatherford'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('JohnDeering', 'johndeering'),
|
|
|
|
cls('JumpStart', 'jumpstart'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('JunkDrawer', 'junk-drawer'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('JustoYFranco', 'justo-y-franco', 'es'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('KevinKallaugher', 'kal'),
|
|
|
|
cls('KevinNecessaryEditorialCartoons', 'kevin-necessary-editorial-cartoons'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('KidBeowulf', 'kid-beowulf'),
|
|
|
|
cls('KitchenCapers', 'kitchen-capers'),
|
|
|
|
cls('Kliban', 'kliban'),
|
|
|
|
cls('KlibansCats', 'klibans-cats'),
|
|
|
|
cls('LaCucaracha', 'lacucaracha'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('LaCucarachaEnEspanol', 'la-cucaracha-en-espanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('LaloAlcaraz', 'laloalcaraz'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('LaloAlcarazEnEspanol', 'laloenespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('LardsWorldPeaceTips', 'lards-world-peace-tips'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('LasHermanasStone', 'stonesoup_espanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('LastKiss', 'lastkiss'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('LaughingRedheadComics', 'laughing-redhead-comics'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('LayLines', 'lay-lines'),
|
|
|
|
cls('LearnToSpeakCat', 'learn-to-speak-cat'),
|
|
|
|
cls('LibertyMeadows', 'libertymeadows'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('LifeOnEarth', 'life-on-earth'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('LilAbner', 'lil-abner'),
|
|
|
|
cls('Lio', 'lio'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('LioEnEspanol', 'lioespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('LisaBenson', 'lisabenson'),
|
|
|
|
cls('LittleDogLost', 'littledoglost'),
|
|
|
|
cls('LittleFriedChickenAndSushi', 'little-fried-chicken-and-sushi'),
|
|
|
|
cls('LittleNemo', 'little-nemo'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('LizClimoCartoons', 'liz-climo-cartoons'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Lola', 'lola'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('LolaEnEspanol', 'lola-en-espanol', 'es'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('LongStoryShort', 'long-story-short'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('LooksGoodOnPaper', 'looks-good-on-paper'),
|
|
|
|
cls('LooseParts', 'looseparts'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('LosOsorios', 'los-osorios', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('LostSheep', 'lostsheep'),
|
|
|
|
cls('Luann', 'luann'),
|
|
|
|
cls('LuannAgainn', 'luann-againn'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('LuannEnEspanol', 'luannspanish', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('LuckyCow', 'luckycow'),
|
|
|
|
cls('LugNuts', 'lug-nuts'),
|
|
|
|
cls('Lunarbaboon', 'lunarbaboon'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('M2Bulls', 'm2bulls'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Maintaining', 'maintaining'),
|
2022-06-05 18:23:56 +00:00
|
|
|
cls('MannequinOnTheMoon', 'mannequin-on-the-moon'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('MariasDay', 'marias-day'),
|
|
|
|
cls('Marmaduke', 'marmaduke'),
|
|
|
|
cls('MarshallRamsey', 'marshallramsey'),
|
|
|
|
cls('MattBors', 'matt-bors'),
|
|
|
|
cls('MattDavies', 'mattdavies'),
|
|
|
|
cls('MattWuerker', 'mattwuerker'),
|
|
|
|
cls('MediumLarge', 'medium-large'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('MessycowComics', 'messy-cow'),
|
|
|
|
cls('MexikidStories', 'mexikid-stories'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('MichaelRamirez', 'michaelramirez'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('MikeBeckom', 'mike-beckom'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('MikeDuJour', 'mike-du-jour'),
|
|
|
|
cls('MikeLester', 'mike-lester'),
|
|
|
|
cls('MikeLuckovich', 'mikeluckovich'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('MissPeach', 'miss-peach'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('ModeratelyConfused', 'moderately-confused'),
|
|
|
|
cls('Momma', 'momma'),
|
|
|
|
cls('Monty', 'monty'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('MontyDiaros', 'monty-diaros', 'es'),
|
2024-02-14 22:39:08 +00:00
|
|
|
# MotherGooseAndGrimm has a duplicate in ComicsKingdom/MotherGooseAndGrimm
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('MotleyClassics', 'motley-classics'),
|
|
|
|
cls('MrLowe', 'mr-lowe'),
|
|
|
|
cls('MuttAndJeff', 'muttandjeff'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('MyDadIsDracula', 'my-dad-is-dracula'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('MythTickle', 'mythtickle'),
|
|
|
|
cls('Nancy', 'nancy'),
|
|
|
|
cls('NancyClassics', 'nancy-classics'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('NateElGrande', 'nate-el-grande', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('NestHeads', 'nestheads'),
|
|
|
|
cls('NEUROTICA', 'neurotica'),
|
|
|
|
cls('NewAdventuresOfQueenVictoria', 'thenewadventuresofqueenvictoria'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('NextDoorNeighbors', 'next-door-neighbors'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('NickAnderson', 'nickanderson'),
|
|
|
|
cls('NickAndZuzu', 'nick-and-zuzu'),
|
|
|
|
cls('NonSequitur', 'nonsequitur'),
|
|
|
|
cls('NothingIsNotSomething', 'nothing-is-not-something'),
|
|
|
|
cls('NotInventedHere', 'not-invented-here'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('NowRecharging', 'now-recharging'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('OffTheMark', 'offthemark'),
|
|
|
|
cls('OhBrother', 'oh-brother'),
|
|
|
|
cls('OllieAndQuentin', 'ollie-and-quentin'),
|
|
|
|
cls('OnAClaireDay', 'onaclaireday'),
|
|
|
|
cls('OneBigHappy', 'onebighappy'),
|
|
|
|
cls('OrdinaryBill', 'ordinary-bill'),
|
|
|
|
cls('OriginsOfTheSundayComics', 'origins-of-the-sunday-comics'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('OurSuperAdventure', 'our-super-adventure'),
|
|
|
|
cls('Outland', 'outland'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('OutOfTheGenePoolReRuns', 'outofthegenepool'),
|
|
|
|
cls('Overboard', 'overboard'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('OverboardEnEspanol', 'overboardespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('OverTheHedge', 'overthehedge'),
|
|
|
|
cls('OzyAndMillie', 'ozy-and-millie'),
|
|
|
|
cls('PatOliphant', 'patoliphant'),
|
|
|
|
cls('Peanuts', 'peanuts'),
|
|
|
|
cls('PeanutsBegins', 'peanuts-begins'),
|
|
|
|
cls('PearlsBeforeSwine', 'pearlsbeforeswine'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('PedroXMolina', 'pedroxmolina'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('Periquita', 'periquita', 'es'),
|
|
|
|
cls('PerlasParaLosCerdos', 'perlas-para-los-cerdos', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('PerryBibleFellowship', 'perry-bible-fellowship'),
|
2022-06-05 18:23:56 +00:00
|
|
|
cls('PetuniaAndDre', 'petunia-and-dre'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('PhilHands', 'phil-hands'),
|
|
|
|
cls('PhoebeAndHerUnicorn', 'phoebe-and-her-unicorn'),
|
|
|
|
cls('Pibgorn', 'pibgorn'),
|
|
|
|
cls('PibgornSketches', 'pibgornsketches'),
|
|
|
|
cls('Pickles', 'pickles'),
|
|
|
|
cls('PleaseListenToMe', 'please-listen-to-me'),
|
|
|
|
cls('Pluggers', 'pluggers'),
|
|
|
|
cls('PoochCafe', 'poochcafe'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('Poorcraft', 'poorcraft'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('PoorlyDrawnLines', 'poorly-drawn-lines'),
|
|
|
|
cls('PotShots', 'pot-shots'),
|
|
|
|
cls('PreTeena', 'preteena'),
|
|
|
|
cls('PricklyCity', 'pricklycity'),
|
|
|
|
cls('QuestionableQuotebook', 'questionable-quotebook'),
|
|
|
|
cls('RabbitsAgainstMagic', 'rabbitsagainstmagic'),
|
|
|
|
cls('RaisingDuncan', 'raising-duncan'),
|
|
|
|
cls('RandolphItch2Am', 'randolphitch'),
|
|
|
|
cls('RealityCheck', 'realitycheck'),
|
|
|
|
cls('RealLifeAdventures', 'reallifeadventures'),
|
|
|
|
cls('RebeccaHendin', 'rebecca-hendin'),
|
|
|
|
cls('RedAndRover', 'redandrover'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('RedMeat', 'redmeat'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('RichardsPoorAlmanac', 'richards-poor-almanac'),
|
|
|
|
cls('RipHaywire', 'riphaywire'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('RipleysAunqueUstedNoLoCrea', 'ripleys-en-espanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('RipleysBelieveItOrNot', 'ripleysbelieveitornot'),
|
|
|
|
cls('RobbieAndBobby', 'robbie-and-bobby'),
|
|
|
|
cls('RobertAriail', 'robert-ariail'),
|
|
|
|
cls('RobRogers', 'robrogers'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('Rosebuds', 'rosebuds'),
|
2022-06-05 18:23:56 +00:00
|
|
|
cls('RosebudsEnEspanol', 'rosebuds-en-espanol'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('RoseIsRose', 'roseisrose'),
|
|
|
|
cls('Rubes', 'rubes'),
|
|
|
|
cls('RudyPark', 'rudypark'),
|
|
|
|
cls('SarahsScribbles', 'sarahs-scribbles'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('SaturdayMorningBreakfastCereal', 'saturday-morning-breakfast-cereal'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('SavageChickens', 'savage-chickens'),
|
|
|
|
cls('ScaryGary', 'scarygary'),
|
|
|
|
cls('ScenesFromAMultiverse', 'scenes-from-a-multiverse'),
|
|
|
|
cls('ScottStantis', 'scottstantis'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('ShenComix', 'shen-comix'),
|
2022-06-05 18:23:56 +00:00
|
|
|
cls('ShermansLagoon', 'shermanslagoon'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('ShirleyAndSonClassics', 'shirley-and-son-classics'),
|
|
|
|
cls('Shoe', 'shoe'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('SketchsharkComics', 'sketchshark-comics'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('SkinHorse', 'skinhorse'),
|
|
|
|
cls('Skippy', 'skippy'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('SmallPotatoes', 'small-potatoes'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('SnoopyEnEspanol', 'peanuts-espanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('SnowSez', 'snow-sez'),
|
|
|
|
cls('SpeedBump', 'speedbump'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('SpiritOfTheStaircase', 'spirit-of-the-staircase'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('SpotTheFrog', 'spot-the-frog'),
|
|
|
|
cls('SteveBenson', 'stevebenson'),
|
|
|
|
cls('SteveBreen', 'stevebreen'),
|
|
|
|
cls('SteveKelley', 'stevekelley'),
|
|
|
|
cls('StickyComics', 'sticky-comics'),
|
|
|
|
cls('StoneSoup', 'stonesoup'),
|
|
|
|
cls('StrangeBrew', 'strangebrew'),
|
2021-01-31 23:19:22 +00:00
|
|
|
cls('StudioJantze', 'studio-jantze'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('SunnyStreet', 'sunny-street'),
|
|
|
|
cls('SunshineState', 'sunshine-state'),
|
|
|
|
cls('SuperFunPakComix', 'super-fun-pak-comix'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('SwanEaters', 'swan-eaters'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('SweetAndSourPork', 'sweet-and-sour-pork'),
|
|
|
|
cls('Sylvia', 'sylvia'),
|
|
|
|
cls('TankMcNamara', 'tankmcnamara'),
|
|
|
|
cls('Tarzan', 'tarzan'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('TarzanEnEspanol', 'tarzan-en-espanol', 'es'),
|
|
|
|
cls('TedRall', 'ted-rall'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('TenCats', 'ten-cats'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('Tex', 'tex'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('TextsFromMittens', 'texts-from-mittens'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('Thatababy', 'thatababy'),
|
|
|
|
cls('ThatIsPriceless', 'that-is-priceless'),
|
|
|
|
cls('ThatNewCarlSmell', 'that-new-carl-smell'),
|
|
|
|
cls('TheAcademiaWaltz', 'academiawaltz'),
|
|
|
|
cls('TheAdventuresOfBusinessCat', 'the-adventures-of-business-cat'),
|
|
|
|
cls('TheArgyleSweater', 'theargylesweater'),
|
|
|
|
cls('TheAwkwardYeti', 'the-awkward-yeti'),
|
|
|
|
cls('TheBarn', 'thebarn'),
|
|
|
|
cls('TheBigPicture', 'thebigpicture'),
|
|
|
|
cls('TheBoondocks', 'boondocks'),
|
|
|
|
cls('TheBornLoser', 'the-born-loser'),
|
|
|
|
cls('TheBuckets', 'thebuckets'),
|
|
|
|
cls('TheCity', 'thecity'),
|
|
|
|
cls('TheComicStripThatHasAFinaleEveryDay', 'the-comic-strip-that-has-a-finale-every-day'),
|
|
|
|
cls('TheDailyDrawing', 'the-daily-drawing'),
|
|
|
|
cls('TheDinetteSet', 'dinetteset'),
|
|
|
|
cls('TheDoozies', 'thedoozies'),
|
|
|
|
cls('TheDuplex', 'duplex'),
|
|
|
|
cls('TheElderberries', 'theelderberries'),
|
|
|
|
cls('TheFlyingMcCoys', 'theflyingmccoys'),
|
|
|
|
cls('TheFuscoBrothers', 'thefuscobrothers'),
|
|
|
|
cls('TheGrizzwells', 'thegrizzwells'),
|
|
|
|
cls('TheHumbleStumble', 'humble-stumble'),
|
|
|
|
cls('TheKChronicles', 'thekchronicles'),
|
|
|
|
cls('TheKnightLife', 'theknightlife'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('TheLockhorns', 'lockhorns'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('TheMartianConfederacy', 'the-martian-confederacy'),
|
|
|
|
cls('TheMeaningOfLila', 'meaningoflila'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('TheMiddleAge', 'the-middle-age'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('TheMiddletons', 'themiddletons'),
|
|
|
|
cls('TheNormClassics', 'thenorm'),
|
|
|
|
cls('TheOtherCoast', 'theothercoast'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('TheUpsideDownWorldOfGustaveVerbeek', 'upside-down-world-of-gustave-verbeek'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('TheWanderingMelon', 'the-wandering-melon'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('TheWizardOfIdSpanish', 'wizardofidespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('TheWorriedWell', 'the-worried-well'),
|
|
|
|
cls('think', 'think'),
|
|
|
|
cls('ThinLines', 'thinlines'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('TimCampbell', 'tim-campbell'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('TinySepuku', 'tinysepuku'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('TodaysSzep', 'todays-szep'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('TomTheDancingBug', 'tomthedancingbug'),
|
|
|
|
cls('TomToles', 'tomtoles'),
|
|
|
|
cls('TooMuchCoffeeMan', 'toomuchcoffeeman'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('Trucutu', 'trucutu', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('TruthFacts', 'truth-facts'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('Tutelandia', 'tutelandia', 'es'),
|
2017-05-21 21:10:32 +00:00
|
|
|
cls('TwoPartyOpera', 'two-party-opera'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('UFO', 'ufo'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('UnderpantsAndOverbites', 'underpants-and-overbites'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('UnderstandingChaos', 'understanding-chaos'),
|
|
|
|
cls('UnstrangePhenomena', 'unstrange-phenomena'),
|
|
|
|
cls('ViewsAfrica', 'viewsafrica'),
|
|
|
|
cls('ViewsAmerica', 'viewsamerica'),
|
|
|
|
cls('ViewsAsia', 'viewsasia'),
|
|
|
|
cls('ViewsBusiness', 'viewsbusiness'),
|
|
|
|
cls('ViewsEurope', 'viewseurope'),
|
|
|
|
cls('ViewsLatinAmerica', 'viewslatinamerica'),
|
|
|
|
cls('ViewsMidEast', 'viewsmideast'),
|
|
|
|
cls('ViewsOfTheWorld', 'viewsoftheworld'),
|
|
|
|
cls('ViiviAndWagner', 'viivi-and-wagner'),
|
|
|
|
cls('WallaceTheBrave', 'wallace-the-brave'),
|
|
|
|
cls('WaltHandelsman', 'walthandelsman'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('Wannabe', 'wannabe'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('Warped', 'warped'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('WatchYourHead', 'watchyourhead'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('Wawawiwa', 'wawawiwa'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('WaynoVision', 'waynovision'),
|
|
|
|
cls('WeePals', 'weepals'),
|
|
|
|
cls('WideOpen', 'wide-open'),
|
|
|
|
cls('WinLoseDrew', 'drewlitton'),
|
|
|
|
cls('WizardOfId', 'wizardofid'),
|
|
|
|
cls('WizardOfIdClassics', 'wizard-of-id-classics'),
|
2016-10-01 01:39:36 +00:00
|
|
|
cls('Wondermark', 'wondermark'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('WorkingDaze', 'working-daze'),
|
|
|
|
cls('WorkingItOut', 'workingitout'),
|
2022-06-05 18:23:56 +00:00
|
|
|
cls('WorryLines', 'worry-lines'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('WrongHands', 'wrong-hands'),
|
|
|
|
cls('WTDuck', 'wtduck'),
|
|
|
|
cls('WuMo', 'wumo'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('WumoEnEspanol', 'wumoespanol', 'es'),
|
2020-09-27 23:15:07 +00:00
|
|
|
cls('Yaffle', 'yaffle'),
|
2024-02-14 22:39:08 +00:00
|
|
|
cls('YeahItsChill', 'yeah-its-chill'),
|
2020-04-19 23:00:38 +00:00
|
|
|
cls('YesImHotInThis', 'yesimhotinthis'),
|
2016-05-22 22:01:10 +00:00
|
|
|
cls('ZackHill', 'zackhill'),
|
|
|
|
cls('ZenPencils', 'zen-pencils'),
|
|
|
|
cls('Ziggy', 'ziggy'),
|
2017-01-11 01:21:05 +00:00
|
|
|
cls('ZiggyEnEspanol', 'ziggyespanol', 'es'),
|
2016-05-22 22:01:10 +00:00
|
|
|
# END AUTOUPDATE
|
|
|
|
)
|