diff --git a/dosagelib/plugins/gocomics.py b/dosagelib/plugins/gocomics.py index eaf65f7d5..c90cf1399 100755 --- a/dosagelib/plugins/gocomics.py +++ b/dosagelib/plugins/gocomics.py @@ -1,6 +1,7 @@ # -*- coding: iso-8859-1 -*- # Copyright (C) 2004-2005 Tristan Seligmann and Jonathan Jacobs # Copyright (C) 2012-2014 Bastian Kleineidam +# Copyright (C) 2015 Tobias Gruetzmacher from re import compile from ..scraper import make_scraper @@ -36,24 +37,120 @@ def add(name, shortname): namer=namer, ) +# old comics removed from the listing +add('AdventuresofDaisy', '/Adventures-of-Daisy') +add('AdventuresofMikeAndSimon', '/adventures-of-mike-and-simon') +add('AnythingGoes', '/anything-goes') +add('BarkingCrayon', '/barking-crayon') +add('BenAndSeymour', '/ben-seymour') +add('BestInShow', '/best-in-show') +add('BobtheGroanUP', '/bob-the-groanup') +add('Cartertoons', '/cartertoons') +add('CockroachComix', '/cockroachcomix') +add('CowSheepandaGnomeNamedHelga', '/cow-sheep-and-a-gnome-named-helga') +add('DabneyandDad', '/dabney-and-dad') +add('DialHforHBomb', '/dial-h-for-h-bomb') +add('DitzAbledPrincess', '/ditzabled-princess') +add('DoodleDaysComics', '/doodle-days') +add('Dragin', '/dragin') +add('EBEJeebie', '/ebe-jeebie') +add('EDITORIALPASTANDPRESENT', '/editorial-past-and-present') +add('ElephantintheRoom', '/elephant-in-the-room') +add('ElfandMotorbelly', '/elf-and-motorbelly') +add('EngagAndNevets', '/engag-nevets') +add('EttoreandBaldo', '/ettore-and-baldo') +add('FantasticMegaLeague', '/fantastiteam') +add('FarcesofNature', '/farces-of-nature') +add('Featherweight', '/featherweight') +add('FrizziToons', '/frizzitoons') +add('FundayMorning', '/funday-morning') +add('GetAGrip', '/get-a-grip') +add('GunstonStreet', '/gunston-street') +add('HanginOut', '/hangin-out') +add('HarambeeHills', '/harambeehills') +add('Hbenson7', '/hbenson7') +add('HeadComics', '/head-comics') +add('HeavenlyNostrils', '/heavenly-nostrils') +add('HolySchnark', '/holy-schnark!') +add('Humoresque', '/humoresque') +add('ImaDillo', '/i-m-a-dillo') +add('KozmooftheCosmos', '/kozmoofthecosmos') +add('LeGooseyLu', '/LeGoosey-Lu') +add('Leadbellies', '/leadbellies') +add('LostInTranslation', '/lost-in-translation') +add('LucasLuminous', '/lucas-luminous') +add('Markonpaper', '/mark-on-paper') +add('MaryBWary', '/mary-b-wary') +add('MidLifewAlan', '/mid-life-with-alan') +add('MixedMedications', '/mixedmedications') +add('MrMorris', '/mr-morris') +add('MyCage', '/mycage') +add('MyGuardianGrandpa', '/my-guardian-grandpa') +add('NeatStep', '/neatstep') +add('NedAndLarry', '/ned-and-larry') +add('NeighborhoodZone', '/neightborhood-zone') +add('NobodysHome', '/nobodys-home') +add('OntheQuad', '/on-the-quad') +add('OrangesareFunny', '/oranges-are-funny') +add('Outnumbered', '/outnumbered') +add('ParisDoodles', '/mo-willems-paris-doodles') +add('PetFood', '/pet-food') +add('PlentyofPenguins', '/plenty-of-penguins') +add('Putz', '/putz') +add('QuestionsForKids', '/questions-for-kids') +add('RogueSymmetry', '/rogue_symmetry') +add('SNAFU', '/snafu') +add('SPACESLUGS', '/spaceslugs') +add('STEPDAD', '/stepdad') +add('Sabine', '/sabine') +add('SecondPrize', '/secondprize') +add('Skooled', '/skooled') +add('SpaceNutz', '/space-nutz') +add('SpaceTimeFunnies', '/spacetimefunnies') +add('Stookie', '/Stookie') +add('SuburbanWilderness', '/suburban-wilderness') +add('SuckerHeadSmack', '/suckerhead-smack') +add('THESILVERLINING', '/silver-lining') +add('TOWHOMITMAYCONCERN', '/towhomitmayconcern') +add('TheAdventuresofTeetyBallerina', '/the-adventures-of-teety-ballerina') +add('TheEdperiment', '/the-edperiment') +add('TheFruitBowl', '/thefruitbowl') +add('TheGoldenKid', '/golden-kid') +add('TheLilMiesters', '/the-lil-miesters') +add('TheOdderLimits', '/the-odder-limits') +add('TheSingleDadDiaries', '/single-dad-diaries') +add('TheVernalPool', '/vernal-pool') +add('ThrompTM', '/thromp') +add('ToBeNamed', '/to-be-named') +add('TonyAuth', '/tonyauth') +add('Toocrazy', '/too-crazy') +add('WayOutInLeftField', '/Way-Out-In-Left-Field') +add('Whatcatscanandcantdo', '/whatcatscanandcantdo') +add('YouGuysAreMyFriendsTheComic', '/you-guys-are-my-friends') -# do not edit anything below since these entries are generated from scripts/update.sh + +# do not edit anything below since these entries are generated from scripts/update_plugins.sh # DO NOT REMOVE add('060', '/0-60') add('2CowsandaChicken', '/2cowsandachicken') +add('5thYearSenior', '/5th-year-senior') add('9ChickweedLane', '/9chickweedlane') add('9to5', '/9to5') add('ABitSketch', '/a-bit-sketch') +add('ABomb', '/a-bomb') add('ABootsAndPupComic', '/a-boots-and-pup-comic') +add('ACMEINKD', '/acme-inkd') +add('APEanimalpuns4every1', '/ape') +add('AbnormalTruth', '/abnormal-truth') add('AdamAtHome', '/adamathome') +add('AdmiralSquirt', '/admiral-squirt') add('AdultChildren', '/adult-children') -add('AdventuresofDaisy', '/Adventures-of-Daisy') add('AdventuresofMartyandTurkey', '/marty-and-turkey') -add('AdventuresofMikeAndSimon', '/adventures-of-mike-and-simon') add('Agnes', '/agnes') add('AlisonWard', '/alison-ward') add('AlleyOop', '/alley-oop') add('AmaZnEvents', '/amaznevents') +add('AmandatheGreat', '/amanda-the-great') add('Andertoons', '/andertoons') add('Andnow', '/and-now') add('AndyCapp', '/andycapp') @@ -61,12 +158,12 @@ add('Anecdote', '/anecdote') add('AngryLittleGirls', '/angry-little-girls') add('AnimalCrackers', '/animalcrackers') add('Annie', '/annie') -add('AnythingGoes', '/anything-goes') add('AppleCreekComics', '/apple-creek') add('ArloandJanis', '/arloandjanis') add('AskShagg', '/askshagg') add('AuntyAcid', '/aunty-acid') add('BC', '/bc') +add('BCenEspaol', '/espanol/bcespanol') add('BERSERKALERT', '/berserk-alert') add('BUNS', '/buns') add('BUSHYTALES', '/bushy-tales') @@ -74,44 +171,47 @@ add('BackintheDay', '/backintheday') add('BadReporter', '/badreporter') add('Badlands', '/badlands') add('Baldo', '/baldo') +add('BaldoenEspaol', '/espanol/baldoespanol') add('BallardStreet', '/ballardstreet') add('BananaTriangle', '/banana-triangle') add('BarkeaterLake', '/barkeaterlake') -add('BarkingCrayon', '/barking-crayon') add('BarneyAndClyde', '/barneyandclyde') add('BasicInstructions', '/basicinstructions') add('BatchRejection', '/batch-rejection') add('Bazoobee', '/bazoobee') +add('BeMisery', '/bemisery') +add('BeanietheBrownie', '/beanie-the-brownie') add('Beardo', '/beardo') add('Ben', '/ben') -add('BenAndSeymour', '/ben-seymour') -add('BenSargent', '/bensargent') add('BeneaththeFerns', '/beneath-the-ferns') +add('BenitinyEneas', '/espanol/muttandjeffespanol') add('BergerAndWyse', '/berger-and-wyse') -add('BestInShow', '/best-in-show') +add('BerkeleyMews', '/berkeley-mews') add('Betty', '/betty') add('Bewley', '/bewley') add('BiffAndRiley', '/biff-and-riley') add('BigNate', '/bignate') +add('BigNateFirstClass', '/big-nate-first-class') add('BigTop', '/bigtop') add('BillyAndCo', '/billy-and-co') add('Biographic', '/biographic') add('Birdbrains', '/birdbrains') -add('BlackboardDaze', '/blackboard-daze') add('Bliss', '/bliss') add('BloomCounty', '/bloomcounty') add('BlueSkiesToons', '/blue-skies-toons') add('Bluebonnets', '/cowsandstuff') add('BoNanas', '/bonanas') add('BobGorrell', '/bobgorrell') -add('BobtheGroanUP', '/bob-the-groanup') add('BobtheSquirrel', '/bobthesquirrel') add('Boogerbrain', '/boogerbrain') add('Boomerangs', '/boomerangs') +add('Bork', '/bork') add('BotBrothers', '/bot-brothers') add('BottAuto', '/bott-auto') add('Bottomliners', '/bottomliners') add('BoundandGagged', '/boundandgagged') +add('BrainSquirts', '/brain-squirts') +add('BreakingCatNews', '/breaking-cat-news') add('BreakofDay', '/break-of-day') add('Brevity', '/brevity') add('BrewsterRockit', '/brewsterrockit') @@ -126,13 +226,16 @@ add('CAFFEINATED', '/CAFFEINATED') add('CafconLeche', '/cafeconleche') add('CalAndOzz', '/cal-and-ozz') add('CalvinandHobbes', '/calvinandhobbes') +add('CalvinandHobbesenEspaol', '/espanol/calvinandhobbesespanol') +add('CandacenCompany', '/candace-n-company') add('Candorville', '/candorville') add('CandyPills', '/candy-pills') -add('Cartertoons', '/cartertoons') +add('CapsulasMedicas', '/espanol/capsulas-medicas') add('Cathy', '/cathy') +add('CatsAtWork', '/cats-at-work') add('CestlaVie', '/cestlavie') add('ChanLowe', '/chanlowe') -add('CharmysArmy', '/charmy-s-army') +add('CharmysArmy', '/charmys-army') add('ChasingUnicorns', '/chasing-unicorns') add('CheapThrillsCuisine', '/cheap-thrills-cuisine') add('ChipBok', '/chipbok') @@ -143,23 +246,25 @@ add('CitizenDog', '/citizendog') add('Classifudds', '/classifudds') add('ClayBennett', '/claybennett') add('ClayJones', '/clayjones') +add('ClearBlueWater', '/clearbluewater') add('Cleats', '/cleats') add('CleoandCompany', '/cleo-and-company') add('ClosetoHome', '/closetohome') -add('CockroachComix', '/cockroachcomix') add('CoffeeShopTidbits', '/coffee-shop-tidbits') +add('ColonelKernel', '/colonel-kernel') add('Committed', '/committed') add('Computoon', '/compu-toon') +add('Condorito', '/espanol/condorito') add('ConnietotheWonnie', '/connie-to-the-wonnie') add('Cornered', '/cornered') -add('Cortoons', '/cortoons') add('CourageousManAdventures', '/courageous-man-adventures') -add('CowSheepandaGnomeNamedHelga', '/cow-sheep-and-a-gnome-named-helga') add('CowTown', '/cowtown') add('CowandBoyClassics', '/cowandboy') +add('CoyoteVille', '/coyteville') +add('Crooksville', '/crooksville') add('Crumb', '/crumb') add('CuldeSac', '/culdesac') -add('DabneyandDad', '/dabney-and-dad') +add('DBCartoons', '/db-cartoons') add('DaddysHome', '/daddyshome') add('DanWasserman', '/danwasserman') add('DanaSummers', '/danasummers') @@ -167,48 +272,45 @@ add('DarkSideoftheHorse', '/darksideofthehorse') add('DarrinBell', '/darrin-bell') add('DeepDarkFears', '/deep-dark-fears') add('DevinCraneComicStripGhostwriter', '/devincranecomicstripghostwriter') -add('DialHforHBomb', '/dial-h-for-h-bomb') add('DiamondLil', '/diamondlil') add('DickTracy', '/dicktracy') add('DilbertClassics', '/dilbert-classics') -add('DitzAbledPrincess', '/ditzabled-princess') +add('DilbertenEspaol', '/espanol/dilbert-en-espanol') +add('DiligentCity', '/diligent-city') +add('DinosaurComics', '/dinosaur-comics') add('DogEatDoug', '/dogeatdoug') +add('DogsDucksandAliens', '/dogs-ducks-and-aliens') add('DogsofCKennel', '/dogsofckennel') +add('DoingTime', '/doingtime') add('DomesticAbuse', '/domesticabuse') +add('DonBrutus', '/espanol/don-brutus') add('DontPicktheFlowers', '/dont-pick-the-flowers') -add('DoodleDaysComics', '/doodle-days') add('DoodleTown', '/doodle-town') add('Doonesbury', '/doonesbury') add('Drabble', '/drabble') -add('Dragin', '/dragin') add('DrewSheneman', '/drewsheneman') add('Dromo', '/dro-mo') add('DudeandDude', '/dudedude') add('DumbQuestionBadAnswer', '/dumb-question-bad-answer') add('DustSpecks', '/dust-specks') -add('EBEJeebie', '/ebe-jeebie') -add('EDITORIALPASTANDPRESENT', '/editorial-past-and-present') add('Econogirl', '/econogirl') add('Eek', '/eek') -add('ElephantintheRoom', '/elephant-in-the-room') +add('EightballEyeball', '/eightball-eyeball') +add('ElCafdePoncho', '/espanol/poochcafeespanol') +add('ElMundodeBeakman', '/beakmanespanol') add('EleriMaiHarrisCartoons', '/eleri-mai-harris-cartoons') -add('ElfandMotorbelly', '/elf-and-motorbelly') add('Elmo', '/elmo') add('EmmyLou', '/emmy-lou') add('Endtown', '/endtown') -add('EngagAndNevets', '/engag-nevets') add('ErictheCircle', '/eric-the-circle') add('EspressoCity', '/Espresso-City') -add('EttoreandBaldo', '/ettore-and-baldo') add('FMinus', '/fminus') add('FacesoftheNewsbyKerryWaghorn', '/facesinthenews') add('FamilyTree', '/familytree') -add('FantasticMegaLeague', '/fantastiteam') add('FarOut', '/far-out') -add('FarcesofNature', '/farces-of-nature') add('Farcus', '/farcus') add('FatCats', '/fat-cats') -add('Featherweight', '/featherweight') +add('FleasonFlick', '/fleasonflick') add('FloandFriends', '/floandfriends') add('FoolishMortals', '/foolish-mortals') add('ForBetterorForWorse', '/forbetterorforworse') @@ -217,71 +319,78 @@ add('FortKnox', '/fortknox') add('FourEyes', '/four-eyes') add('FoxTrot', '/foxtrot') add('FoxTrotClassics', '/foxtrotclassics') +add('FoxTrotenEspaol', '/espanol/foxtrotespanol') add('Francis', '/francis') add('FrankAndErnest', '/frankandernest') add('FrankAndSteinway', '/frank-and-steinway') add('FrankBlunt', '/frankblunt') +add('FrankieComics', '/frankie-comics') add('Frazz', '/frazz') add('FredBasset', '/fredbasset') +add('FredBassetenEspaol', '/espanol/fredbassetespanol') add('FreeRange', '/freerange') add('FreshlySqueezed', '/freshlysqueezed') add('FriedCritter', '/fried-critter') -add('FrizziToons', '/frizzitoons') +add('FritzMurphyAndMulligan', '/fritz-murphy-and-mulligan') add('FrogApplause', '/frogapplause') -add('FundayMorning', '/funday-morning') +add('FromtheMoWillemsSketchbook', '/from-the-mo-willems-sketchbook') add('GIRTH', '/girth') add('GarciaCartoonCo', '/garcia-cartoon-co') add('Garfield', '/garfield') add('GarfieldMinusGarfield', '/garfieldminusgarfield') +add('GarfieldenEspaol', '/espanol/garfieldespanol') add('GaryMarkstein', '/garymarkstein') add('GaryVarvel', '/garyvarvel') add('GasolineAlley', '/gasolinealley') add('GatorsAndSuch', '/gators-and-such') +add('Gaturro', '/espanol/gaturro') add('Geech', '/geech') add('GenerationMute', '/generation-mute') add('GentleCreatures', '/gentle-creatures') -add('GetAGrip', '/get-a-grip') add('GetFuzzy', '/getfuzzy') add('GetaLife', '/getalife') add('GilThorp', '/gilthorp') add('GingerMeggs', '/gingermeggs') +add('GingerMeggsenEspaol', '/espanol/gingermeggsespanol') +add('GlasbergenCartoons', '/glasbergen-cartoons') add('GlennMcCoy', '/glennmccoy') add('GoComicsontheRoad', '/gocomics-on-the-road') add('Graffiti', '/graffiti') +add('GramDragon', '/gramdragon') add('GrandAvenue', '/grand-avenue') +add('GrandmaSnoops', '/grandmasnoops') add('GrannyAnny', '/granny-anny') add('GrayMatters', '/gray-matters') add('GreenHumour', '/green-humour') add('GreenPieces', '/green-pieces') -add('GunstonStreet', '/gunston-street') add('HIP', '/hip') add('HUBRIS', '/hubris') add('HaikuEwe', '/haikuewe') add('HalfFull', '/half-full') +add('HalfFullenEspaol', '/espanol/half-full-espanol') add('HamShears', '/ham-shears') -add('HanginOut', '/hangin-out') add('HankandDalesOurWorld', '/hank-and-dales-our-world') add('HanktheSock', '/hank-the-sock') -add('HarambeeHills', '/harambeehills') -add('Hbenson7', '/hbenson7') -add('HeadComics', '/head-comics') +add('HaphazardHumor', '/haphazard-humor') add('Headcheese', '/headcheese') add('HealthCapsules', '/healthcapsules') add('HeartoftheCity', '/heartofthecity') add('Heathcliff', '/heathcliff') -add('HeavenlyNostrils', '/heavenly-nostrils') +add('HeathcliffenEspaol', '/espanol/heathcliffespanol') add('HenryPayne', '/henrypayne') add('HerbandJamaal', '/herbandjamaal') add('Herman', '/herman') +add('HermanenEspaol', '/espanol/herman-en-espanol') +add('HipsterPicnic', '/hipster-picnic') +add('Hogwashed', '/hogwashed') add('HolidayDoodles', '/holiday-doodles') -add('HolySchnark', '/holy-schnark!') +add('Hollywoodpecker', '/hollywoodpecker') add('HomeandAway', '/homeandaway') -add('HoodootheUnwiseOwl', '/hoodootheunwiseowl') +add('HugoComics', '/hugo-comics') add('HumanCull', '/human-cull') -add('Humoresque', '/humoresque ') +add('HumblebeeandBob', '/humblebee-and-bob') add('HutchOwen', '/hutch-owen') add('ImTellingMom', '/telling-mom') -add('ImaDillo', '/i-m-a-dillo') add('ImagineThis', '/imaginethis') add('InherittheMirth', '/inherit-the-mirth') add('InkPen', '/inkpen') @@ -289,6 +398,7 @@ add('InspectorDangersCrimeQuiz', '/inspector-dangers-crime-quiz') add('IntheBleachers', '/inthebleachers') add('IntheSticks', '/inthesticks') add('InvisibleBread', '/invisible-bread') +add('IsleofEx', '/isle-of-ex') add('ItsAllAboutYou', '/itsallaboutyou') add('ItsjustJim', '/its-just-jim') add('JackOhman', '/jackohman') @@ -299,19 +409,25 @@ add('JeffStahler', '/jeffstahler') add('JenSorensen', '/jen-sorensen') add('JerryHolbert', '/jerryholbert') add('JillpokeBohemia', '/jillpoke-bohemia') +add('JimAndSarah', '/jim-and-sarah') +add('JimBentonCartoons', '/jim-benton-cartoons') add('JimMorin', '/jimmorin') add('JimsJournal', '/jimsjournal') add('JoeHeller', '/joe-heller') add('JoeVanilla', '/joevanilla') add('JoelPett', '/joelpett') add('JohnDeering', '/johndeering') +add('JolleyStuffBrowser', '/jolleystuff-browser') +add('JordanandBentley', '/jordan-and-bentley') add('JumpStart', '/jumpstart') -add('JustPosted', '/just-posted') add('JustSayUncle', '/just-say-uncle') +add('JustoyFranco', '/espanol/justo-y-franco') add('KartoonsByKline', '/kartoons-by-kline') add('KatetheGreat', '/kate-the-great') add('KenCatalino', '/kencatalino') add('KevinKallaugher', '/kevinkallaugher') +add('KidBeowulf', '/kid-beowulf') +add('KidShayComics', '/kid-shay-comics') add('KidSpot', '/kidspot') add('KidTown', '/kidtown') add('KirbysTreehouse', '/kirbys-treehouse') @@ -319,92 +435,101 @@ add('KitNCarlyle', '/kitandcarlyle') add('KitchenCapers', '/kitchen-capers') add('Kliban', '/kliban') add('KlibansCats', '/klibans-cats') -add('KozmooftheCosmos', '/kozmoofthecosmos') add('LIGHTERSIDE', '/lighter-side') add('LaCucaracha', '/lacucaracha') +add('LaCucarachaenEspaol', '/espanol/la-cucaracha-en-espanol') add('LaloAlcaraz', '/laloalcaraz') +add('LaloAlcarazenEspaol', '/espanol/laloenespanol') add('LardWantsWorldPeace', '/lard-wants-world-peace') add('LardsWorldPeaceTips', '/lards-world-peace-tips') add('LarryvilleBlue', '/larryville-blue') +add('LasHermanasStone', '/espanol/stonesoup_espanol') add('LastKiss', '/lastkiss') -add('LeGooseyLu', '/LeGoosey-Lu') -add('Leadbellies', '/leadbellies') +add('LayLines', '/lay-lines') +add('LearntoSpeakCat', '/learn-to-speak-cat') add('LegendofBill', '/legendofbill') add('LeighLunaComics', '/leigh-luna-comics') add('LibertyMeadows', '/libertymeadows') add('LilAbner', '/lil-abner') +add('LiliandDerek', '/lili-and-derek') add('Lio', '/lio') +add('LioenEspaol', '/espanol/lioespanol') add('LisaBenson', '/lisabenson') add('LittleDogLost', '/littledoglost') add('LittleFriedChickenandSushi', '/little-fried-chicken-and-sushi') +add('LittleNemo', '/little-nemo') add('Lola', '/lola') +add('LolaenEspaol', '/espanol/lola-en-espanol') +add('LooksGoodonPaper', '/looks-good-on-paper') add('LooseParts', '/looseparts') -add('LostInTranslation', '/lost-in-translation') +add('LosOsorios', '/espanol/los-osorios') add('LostSheep', '/lostsheep') add('LostSideofSuburbia', '/lostsideofsuburbia') add('Luann', '/luann') add('LuannAgainn', '/luann-againn') +add('LuannenEspaol', '/espanol/luannspanish') add('Lucan', '/lucan') -add('LucasLuminous', '/lucas-luminous') add('LuckyCow', '/luckycow') +add('LugNuts', '/lug-nuts') add('LumandAbner', '/lum-and-abner') add('Mac', '/mac') +add('MadDogGhettoCop', '/maddogghettocop') add('MagicinaMinute', '/magicinaminute') +add('Magnificatz', '/magnificatz') add('Maintaining', '/maintaining') add('MakingIt', '/making-it') add('MariasDay', '/marias-day') -add('Markonpaper', '/mark-on-paper') add('Marmaduke', '/marmaduke') +add('MarmadukeenEspaol', '/espanol/marmaduke-en-espanol') add('MarshallRamsey', '/marshallramsey') -add('MaryBWary', '/mary-b-wary') add('MassiveFalls', '/massive-falls') add('MattBors', '/matt-bors') add('MattDavies', '/mattdavies') add('MattWuerker', '/mattwuerker') +add('Maximus', '/maximus') add('McArroni', '/mcarroni') add('MediumLarge', '/medium-large') add('MegClassics', '/meg-classics') add('MichaelRamirez', '/michaelramirez') add('Mick', '/mick') -add('MidLifewAlan', '/mid-life-with-alan') add('MikeLester', '/mike-lester') add('MikeLuckovich', '/mikeluckovich') add('MikeduJour', '/mike-du-jour') +add('Millennialhood', '/millennialhood') add('Millennialville', '/millennialville') add('Milton50', '/milton-5-0') add('Mindframe', '/mindframe') add('MinimumSecurity', '/minimumsecurity') add('MiscSoup', '/misc-soup') add('MisterAndMe', '/mister-and-me') -add('MixedMedications', '/mixedmedications') add('ModeratelyConfused', '/moderately-confused') add('MollyandtheBear', '/mollyandthebear') add('Momma', '/momma') +add('Mongrels', '/mongrels') +add('MonstersR4Real', '/monsters-r4-real') add('Monty', '/monty') +add('MontyDiaros', '/espanol/monty-diarios') add('Mortimer', '/mortimer') add('MortsIsland', '/noahs-island') add('MotleyClassics', '/motley-classics') add('MrGigiandtheSquid', '/mr-gigi-and-the-squid') -add('MrMorris', '/mr-morris') add('Mulligan', '/mulligan') add('MustardandBoloney', '/mustard-and-boloney') add('MuttAndJeff', '/muttandjeff') -add('MyCage', '/mycage') -add('MyGuardianGrandpa', '/my-guardian-grandpa') +add('MyCageClassics', '/mycage') add('MythTickle', '/mythtickle') add('NEUROTICA', '/neurotica') add('Nancy', '/nancy') +add('NancyClassics', '/nancy-classics') +add('NateelGrande', '/espanol/nate-el-grande') add('NavyBean', '/navybean') -add('NeatStep', '/neatstep') -add('NedAndLarry', '/ned-and-larry') -add('NeighborhoodZone', '/neightborhood-zone') add('NestHeads', '/nestheads') add('NewAdventuresofQueenVictoria', '/thenewadventuresofqueenvictoria') add('NickAnderson', '/nickanderson') add('NickandZuzu', '/nick-and-zuzu') +add('NoBusinessIKnow', '/nobusinessiknow') add('NoOrdinaryLife', '/no-ordinary-life') add('NoPlaceLikeHolmes', '/no-place-like-holmes') -add('NobodysHome', '/nobodys-home') add('NonSequitur', '/nonsequitur') add('Norman', '/Norman') add('NothingisNotSomething', '/nothing-is-not-something') @@ -416,38 +541,43 @@ add('OhBrother', '/oh-brother') add('OllieandQuentin', '/ollie-and-quentin') add('OnAClaireDay', '/onaclaireday') add('OneBigHappy', '/onebighappy') -add('OntheQuad', '/on-the-quad') -add('OrangesareFunny', '/oranges-are-funny') add('OrdinaryBill', '/ordinary-bill') add('OriginsoftheSundayComics', '/origins-of-the-sunday-comics') -add('Outnumbered', '/outnumbered') add('OutoftheGenePoolReRuns', '/outofthegenepool') +add('OverQuirked', '/over-quirked') add('Overboard', '/overboard') +add('OverboardenEspaol', '/espanol/overboardespanol') add('OvertheHedge', '/overthehedge') add('OzyandMillie', '/ozy-and-millie') add('PCandPixel', '/pcandpixel') add('PaddedCell', '/padded-cell') -add('ParisDoodles', '/mo-willems-paris-doodles') +add('PamosWorld', '/pamos-world') add('PatOliphant', '/patoliphant') add('PaulSzep', '/paulszep') +add('PawsForThoughtComics', '/paws-for-thought-comics') add('Peanizles', '/peanizles') add('Peanuts', '/peanuts') add('PeanutsBegins', '/peanuts-begins') +add('PeanutsenEspaol', '/espanol/peanuts-espanol') add('PearlsBeforeSwine', '/pearlsbeforeswine') add('Peeples', '/peeples') -add('PetFood', '/pet-food') +add('Periquita', '/espanol/periquita') +add('PerlasparalosCerdos', '/espanol/perlas-para-los-cerdos') +add('PerryBibleFellowship', '/perry-bible-fellowship') add('PhilHands', '/phil-hands') +add('PhoebeandHerUnicorn', '/phoebe-and-her-unicorn') add('Pi', '/pi') add('Pibgorn', '/pibgorn') add('PibgornSketches', '/pibgornsketches') add('Pickles', '/pickles') +add('PicpakDog', '/picpak-dog') +add('PicturesinBoxes', '/pictures-in-boxes') add('PigtimesCartoon', '/pigtimes-cartoon') add('Pinkerton', '/pinkerton') add('PipethePelican', '/pipe-the-pelican') add('PirateMike', '/pirate-mike') add('PlanB', '/planb') add('PlasticBabyHeadsfromOuterSpace', '/plastic-babyheads') -add('PlentyofPenguins', '/plenty-of-penguins') add('Pluggers', '/pluggers') add('PoliceLimit', '/policelimit') add('PoochCafe', '/poochcafe') @@ -456,41 +586,45 @@ add('PopCultureShockTherapy', '/pop-culture-shock-therapy') add('Poptropica', '/poptropica') add('PreTeena', '/preteena') add('PricklyCity', '/pricklycity') -add('Putz', '/putz') -add('QuestionsForKids', '/questions-for-kids') +add('Primusthebadphilosopher', '/primus-the-bad-philosopher') +add('Puppets', '/puppets') add('RabbitsAgainstMagic', '/rabbitsagainstmagic') +add('Rackafracka', '/rackafracka') add('RaisingDuncan', '/raising-duncan') add('RandolphItch2am', '/randolphitch') add('RandomActsofNancy', '/random-acts-of-nancy') add('RealLifeAdventures', '/reallifeadventures') add('RealityCheck', '/realitycheck') +add('RebeccaHendin', '/rebecca-hendin') add('RedMeat', '/redmeat') add('RedandRover', '/redandrover') +add('RegularCreatures', '/regular-creatures') add('ReplyAll', '/replyall') add('ReplyAllLite', '/reply-all-lite') add('RicigsToonTrivia', '/ricigs-toon-trivia') add('RipHaywire', '/riphaywire') add('RipleysBelieveItorNot', '/ripleysbelieveitornot') +add('RipleysBelieveitorNotSpanish', '/espanol/ripleys-en-espanol') +add('Risible', '/risible') add('RobRogers', '/robrogers') add('RobbieandBobby', '/robbie-and-bobby') add('RobertAriail', '/robert-ariail') -add('RogueSymmetry', '/rogue_symmetry') add('RonWarren', '/ron-warren') +add('RosaDominical', '/espanol/rosa-dominical') add('RoseisRose', '/roseisrose') +add('Rosy', '/rosy') add('Rubes', '/rubes') add('RudyPark', '/rudypark') add('SCAIRYTALESTheNotSoScaryFairyTales', '/Scairy-Tales:-the-not-so-scary-fairy-tales!') -add('SNAFU', '/snafu') -add('SPACESLUGS', '/spaceslugs') -add('STEPDAD', '/stepdad') -add('Sabine', '/sabine') +add('SOD', '/sod') +add('SandSharkBeach', '/sandshark-beach') add('SantavsDracula', '/santa-vs-dracula') add('SarahsScribbles', '/sarahs-scribbles') add('SavageChickens', '/savage-chickens') add('ScaryGary', '/scarygary') +add('ScorchedEarth', '/scorched-earth') add('ScottStantis', '/scottstantis') add('Scurvyville', '/scurvyville') -add('SecondPrize', '/secondprize') add('ShirleyandSonClassics', '/shirley-and-son-classics') add('Shoe', '/shoe') add('Shoecabbage', '/shoecabbage') @@ -498,20 +632,22 @@ add('Shortcuts', '/shortcuts') add('ShutterbugFollies', '/shutterbug-follies') add('SignGarden', '/signgarden') add('SigneWilkinson', '/signewilkinson') +add('SincerelyBeatrice', '/sincerely-beatrice') add('SkinHorse', '/skinhorse') add('Skippy', '/skippy') -add('Skooled', '/skooled') +add('Skylarking', '/skylarking') add('SleepytownBeagles', '/sleepytown-beagles') add('SmallNerdyCreatures', '/small-nerdy-creatures') add('Smith', '/smith') add('SnowSez', '/snowsez') +add('SoccerDude', '/soccer-dude') add('SoccerEarth', '/soccer-earth') add('SookyRottweiler', '/sooky-rottweiler') add('SouptoNutz', '/soup-to-nutz') -add('SpaceNutz', '/space-nutz') -add('SpaceTimeFunnies', '/spacetimefunnies') +add('Spectickles', '/abbotts-spectickles') add('Speechless', '/speechless') add('SpeedBump', '/speedbump') +add('SpinCrazy', '/spin-crazy') add('SportsbyVoort', '/sports-by-voort') add('SpottheFrog', '/spot-the-frog') add('StankoAndTibor', '/stankotibor') @@ -520,26 +656,22 @@ add('SteveBenson', '/stevebenson') add('SteveBreen', '/stevebreen') add('SteveKelley', '/stevekelley') add('StoneSoup', '/stonesoup') -add('Stookie', '/Stookie') add('StrangeBrew', '/strangebrew') add('StuartCarlson', '/stuartcarlson') add('SubSub', '/subsub') add('SuburbanFairyTales', '/suburban-fairy-tales') -add('SuburbanWilderness', '/suburban-wilderness') -add('SuckerHeadSmack', '/suckerhead-smack') add('SunnyStreet', '/sunny-street') add('SunshineState', '/sunshine-state') add('SuperFunPakComix', '/super-fun-pak-comix') add('SuperSiblings', '/super-siblings') -add('SweetandSourPork', '/sweet-and-sour-pork') add('Sylvia', '/sylvia') -add('THESILVERLINING', '/silver-lining') add('TOBY', '/toby') -add('TOWHOMITMAYCONCERN', '/towhomitmayconcern') add('TankMcNamara', '/tankmcnamara') add('Tarzan', '/tarzan') +add('TarzanenEspaol', '/espanol/tarzan-en-espanol') add('TeacherInk', '/teacher-ink') add('TedRall', '/tedrall') +add('TeddyBearsKillingSpree', '/teddy-bears-killing-spree') add('TenCats', '/ten-cats') add('ThatMonkeyTune', '/that-monkey-tune') add('ThatNewCarlSmell', '/that-new-carl-smell') @@ -547,11 +679,12 @@ add('Thatababy', '/thatababy') add('ThatisPriceless', '/that-is-priceless') add('ThatsLife', '/thats-life') add('TheAcademiaWaltz', '/academiawaltz') -add('TheAcerbicCaf', '/the-acerbic-cafe') -add('TheAdventuresofTeetyBallerina', '/the-adventures-of-teety-ballerina') +add('TheAdventuresofHeromanGuy', '/adventures-of-heroman-guy') add('TheArgyleSweater', '/theargylesweater') +add('TheAwkwardYeti', '/the-awkward-yeti') add('TheBarn', '/thebarn') add('TheBeauforts', '/the-beauforts') +add('TheBellies', '/the-bellies') add('TheBentPinky', '/the-bent-pinky') add('TheBigPicture', '/thebigpicture') add('TheBoobiehatch', '/the-boobiehatch') @@ -561,15 +694,14 @@ add('TheBuckets', '/thebuckets') add('TheCardinal', '/thecardinal') add('TheCity', '/thecity') add('TheCreeps', '/the-creeps') +add('TheDailyDrawing', '/the-daily-drawing') add('TheDinetteSet', '/dinetteset') add('TheDoozies', '/thedoozies') add('TheDuplex', '/duplex') -add('TheEdperiment', '/the-edperiment') add('TheElderberries', '/theelderberries') +add('TheFamilyBlend', '/the-family-blend') add('TheFlyingMcCoys', '/theflyingmccoys') -add('TheFruitBowl', '/thefruitbowl') add('TheFuscoBrothers', '/thefuscobrothers') -add('TheGoldenKid', '/golden-kid') add('TheGreenMonkeys', '/thegreenmonkeys') add('TheGrizzwells', '/thegrizzwells') add('TheHumbleStumble', '/humble-stumble') @@ -578,43 +710,48 @@ add('TheKChronicles', '/thekchronicles') add('TheKnightLife', '/theknightlife') add('TheLeftyBoscoPictureShow', '/leftyboscopictureshow') add('TheLightedLab', '/the-lighted-lab') -add('TheLilMiesters', '/the-lil-miesters') add('TheLostBear', '/the-lost-bear') add('TheMartianConfederacy', '/the-martian-confederacy') add('TheMeaningofLila', '/meaningoflila') add('TheMiddletons', '/themiddletons') +add('TheNorm40', '/the-norm-4-0') add('TheNormClassics', '/thenorm') -add('TheOdderLimits', '/the-odder-limits') add('TheOldManAndHisDog', '/old-man-and-his-dog') add('TheOtherCoast', '/theothercoast') add('TheQuinnAndFinnShow', '/quinn-and-finn') add('TheQuixoteSyndrome', '/the-quixote-syndrome') -add('TheSingleDadDiaries', '/single-dad-diaries') +add('TheSmileFile', '/mid-life-with-alan') add('TheSunshineClub', '/the-sunshine-club') -add('TheVernalPool', '/vernal-pool') +add('TheUnemployed', '/the-unemployed') add('TheWanderingMelon', '/the-wandering-melon') +add('TheWinyChild', '/the-winy-child') +add('TheWizardofIdSpanish', '/espanol/wizardofidespanol') add('TheWorstThingIveEverDone', '/the-worst-thing-ive-ever-done') add('ThinLines', '/thinlines') add('Thingsesque', '/thingsesque') add('Think', '/think') -add('ThrompTM', '/thromp') add('TimEagan', '/tim-eagan') +add('TinyConfessions', '/tiny-confessions') add('TinySepuku', '/tinysepuku') -add('ToBeNamed', '/to-be-named') +add('TnCComics', '/tnc-comics') add('TodaysDogg', '/todays-dogg') add('TomToles', '/tomtoles') add('TomtheDancingBug', '/tomthedancingbug') -add('TonyAuth', '/tonyauth') add('TooMuchCoffeeMan', '/toomuchcoffeeman') -add('Toocrazy', '/too-crazy') +add('ToughTown', '/tough-town') add('Trivquiz', '/trivquiz') +add('Trucutu', '/espanol/trucutu') add('TruthFacts', '/truth-facts') +add('Tutelandia', '/espanol/tutelandia') add('Twaggies', '/twaggies') +add('TwitchyOToole', '/twitchy-otoole') add('TwoBits', '/two-bits') add('USAcres', '/us-acres') +add('UnMannerlyWays', '/mannerly-ways') add('UncleArtsFunland', '/uncleartsfunland') add('UnderstandingChaos', '/understanding-chaos') add('UnstrangePhenomena', '/unstrange-phenomena') +add('UpandOut', '/up-and-out') add('Vernscartoons', '/vernscartoons') add('ViewsAfrica', '/viewsafrica') add('ViewsAmerica', '/viewsamerica') @@ -627,27 +764,38 @@ add('ViewsoftheWorld', '/viewsoftheworld') add('ViiviAndWagner', '/viivi-and-wagner') add('WTDuck', '/wtduck') add('WaltHandelsman', '/walthandelsman') +add('WarpedAnddemented', '/warped-and-demented') add('WatchYourHead', '/watchyourhead') add('WayOutComics', '/way-out-comics') -add('WayOutInLeftField', '/Way-Out-In-Left-Field') +add('WaynoVision', '/waynovision') add('WeePals', '/weepals') +add('WelcometoFriendly', '/welcome-to-friendly') add('WendlesLife', '/wendleslife') -add('Whatcatscanandcantdo', '/whatcatscanandcantdo') add('WhiskeyFalls', '/whiskey-falls') add('WideOpen', '/wide-open') +add('WillSays', '/will-says') +add('WillyWho', '/willy-who') add('WinLoseDrew', '/drewlitton') add('WindingRoads', '/winding-roads') +add('Winston', '/winston') add('WitoftheWorld', '/witoftheworld') +add('WittOfWill', '/witt-of-will') add('WizardofId', '/wizardofid') add('WizardofIdClassics', '/wizard-of-id-classics') add('WorkingDaze', '/working-daze') add('WorkingItOut', '/workingitout') +add('WorldofWonder', '/world-of-wonder') add('Wrobbertcartoons', '/wrobbertcartoons') +add('WrongHands', '/wrong-hands') add('WuMo', '/wumo') +add('WumoenEspaol', '/espanol/wumoespanol') +add('Wyatt', '/wyatt') +add('YennyLopez', '/yenny-lopez') +add('YennyenEspaol', '/espanol/yennyespanol') add('YouCanwithBeakmanandJax', '/beakman') -add('YouGuysAreMyFriendsTheComic', '/you-guys-are-my-friends') -add('ZacharyNixonJohnson', '/zachary-nixon-johnson') add('ZackHill', '/zackhill') add('ZenPencils', '/zen-pencils') +add('ZeroGravity', '/zero-gravity') add('Ziggy', '/ziggy') +add('ZiggyenEspaol', '/espanol/ziggyespanol') add('Zootopia', '/zootopia') diff --git a/scripts/gocomics.py b/scripts/gocomics.py index c326145fa..5ccad62e1 100755 --- a/scripts/gocomics.py +++ b/scripts/gocomics.py @@ -20,55 +20,17 @@ url_matcher = re.compile(tagre("a", "href", r'(/[^"]+)', after="alpha_list") + r # names of comics to exclude exclude_comics = [ - "Adagio", # too few comics - "AgentGates", # too few comics - "Apocalypseharry", # too few comics - "BatkidandBatrat", # too few comics - "BETWEENTHELINES", # comic unavailable - "Bonner", # missing page - "Buster", # comic unavailabe - "CarteBlanche", # missing images - "Critterdoodles", # missing images - "CountyLine", # too few comics - "Crawdiddy", # comic unavailable - "DALTONDOG", # comic unavailable - "DellAndSteve", # too few comics - "Dilbert", # redirect - "DutchnPals", # too few comics - "EclecticCartoons", # missing images - "FlexandTone", # too few comics - "FrikkFrakkAndFrank", # too few comics - "GOODAndEVIL", # too few comics - "GoodwithCoffee", # too few comics - "InkeeDoodles", # comic unavailable - "JoesBar", # missing images - "KALEECHIKORNERS", # too few comics - "LoveIs", # missing images - "MaggiesComics", # too few comics - "MagicCoffeeHair", # too few comics - "NickGalifianakis", # too few comics - "OfMiceandMud", # too few comics - "OysterWar", # too few comics - "Penguins", # too few comics - "PIGTIMES", # comic unavailable - "PS", # comic unavailable - "Radiowave", # too few comics - "RatchetAndSpin", # too few comics - "RichardsPoorAlmanac", # missing images - "SatchelandDuff", # too few comics - "SherpaAid", # comic unavailable - "Slowpoke", # comic moved - "SpaghettiSandwich", # too few comics - "SparComics", # comic unavailable - "SurvivingSingle", # comic unavailable - "TheBluckwells", # missing images - "TheConjurers", # too few comics - "TheDeadlys", # too few comics - "TheNursesLockerRoom", # too few comics - "Tomversation", # too few comics - "VoicesInTheDark", # too few comics - "WhatTheFrak", # too few comics - "ZeekyZebraandCompany", # too few comics + "Angryprogrammer", # unavailable + "Complex", # "coming soon" + "Guinness", # "coming soon" + "Jabberwoncky", # "coming soon" + "KickyBrand", # unavailable + "Penmanship", # unavailable + "RandysRationale", # "coming soon" + "SaturdayMorningBreakfastCereal", # duplicate + "SignsOfOurTimes", # "coming soon" + "TheGagwriter", # "coming soon" + "Yaoyao", # "coming soon" ] @@ -76,7 +38,7 @@ def handle_url(url, session, res): """Parse one search result page.""" print("Parsing", url, file=sys.stderr) try: - data, baseUrl = getPageContent(url, session) + data = getPageContent(url, session) except IOError as msg: print("ERROR:", msg, file=sys.stderr) return @@ -100,6 +62,7 @@ def get_results(): res = {} session = requests.Session() handle_url('http://www.gocomics.com/features', session, res) + handle_url('http://www.gocomics.com/explore/espanol', session, res) handle_url('http://www.gocomics.com/explore/editorial_list', session, res) handle_url('http://www.gocomics.com/explore/sherpa_list', session, res) save_result(res, json_file) @@ -111,6 +74,7 @@ def print_results(args): with codecs.open(filename, 'a', 'utf-8') as fp: for name, shortname in sorted(load_result(json_file).items()): if name in exclude_comics: + print("Excluded " + name) continue fp.write(u"add(%r, %r)\n" % ( str(truncate_name(name)), str(shortname))