diff --git a/dosagelib/plugins/d.py b/dosagelib/plugins/d.py index 6d901b9d7..b991351d4 100644 --- a/dosagelib/plugins/d.py +++ b/dosagelib/plugins/d.py @@ -29,7 +29,7 @@ class DamnLol(_BasicScraper): compile(tagre("img", "src", r'(%spics/[^"]+)' % rurl)), ) help = 'Index format: stripname-number' - description = 'Funny pictures from the internet. Thousands of them.' + description = u'Funny pictures from the internet. Thousands of them.' starter = bounceStarter(url, compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="next"))) @@ -177,7 +177,7 @@ class Dilbert(_BasicScraper): prevSearch = compile(tagre("a", "href", r'(/\d+-\d+-\d+/)', after="STR_Prev")) imageSearch = compile(tagre("img", "src", r'(/dyn/str_strip/[^"]+\.strip\.zoom\.gif)')) help = 'Index format: yyyy-mm-dd' - description = 'A comic featuring satirical office humor about a white-collar, micromanaged office featuring the engineer Dilbert as the title character.' + description = u'A comic featuring satirical office humor about a white-collar, micromanaged office featuring the engineer Dilbert as the title character.' @classmethod def namer(cls, imageUrl, pageUrl): @@ -274,7 +274,7 @@ class DrFun(_BasicScraper): multipleImagesPerStrip = True prevSearch = compile(tagre("a", "href", r'([^"]+)') + 'Previous Week,') help = 'Index format: nnnnn' - description = 'A series of bizarre one-panel gags. Topics range from the mundane to the obscure.' + description = u'A series of bizarre one-panel gags. Topics range from the mundane to the obscure.' class DrMcNinja(_BasicScraper): diff --git a/dosagelib/plugins/e.py b/dosagelib/plugins/e.py index 4faea1c5b..b8546da74 100644 --- a/dosagelib/plugins/e.py +++ b/dosagelib/plugins/e.py @@ -132,7 +132,7 @@ class EverydayBlues(_BasicScraper): prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+/)' % rurl, after="navi-prev")) imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+-[^"]+)' % rurl)) help = 'Index format: yyyy/mm/dd/stripname' - description = 'A daily webcomic about the ups and downs of love, relationships and singledom.' + description = u'A daily webcomic about the ups and downs of love, relationships and singledom.' class EvilDiva(_BasicScraper): diff --git a/dosagelib/plugins/f.py b/dosagelib/plugins/f.py index 15cf16e55..d782fd984 100644 --- a/dosagelib/plugins/f.py +++ b/dosagelib/plugins/f.py @@ -161,7 +161,7 @@ class ForLackOfABetterComic(_BasicScraper): imageSearch = compile(tagre("img", "src", r'(%simg/comic/\d+[^"]+)' % rurl, after="comicimg")) prevSearch = compile(tagre("a", "href", r'(%s\?id\=\d+)' % rurl) + r'Prev') help = 'Index format: number' - description = 'A hand drawn comic about everyday life situations.' + description = u'A hand drawn comic about everyday life situations.' class Freefall(_BasicScraper): diff --git a/dosagelib/plugins/keenspot.py b/dosagelib/plugins/keenspot.py index cedbc1f99..086002b0f 100644 --- a/dosagelib/plugins/keenspot.py +++ b/dosagelib/plugins/keenspot.py @@ -34,39 +34,39 @@ def add(name, url, description): # do not edit anything below since these entries are generated from scripts/update.sh # DO NOT REMOVE -add('27TwentySeven', 'http://twenty-seven.keenspot.com/', "Hendrix, Cobain, Joplin, Morrison: all belong to the '27 Club,' which admits only the most brilliant musicians...and kills them dead in their 27th year. Will Garland is a famous rock guitarist, secretly unable to play for months due to a neurological disorder afflicting his left hand. He's also 27! Can he make it to 28?") -add('Adventurers', 'http://adventurers.keenspot.com/', "What do a sword-wielding hero, a deeply cynical mage, a complaining theif, a robot spy, a honourable ninja, an obsessed gunslinger, a useless bard, an equally useless cute thing, and a white mage have in common? They're main characters in ADVENTURERS!, for one.") -add('AntiheroForHire', 'http://antihero.keenspot.com/', "Insane supervillains, cryptic madmen, giant monsters, and criminals with high-tech equipment? No problem! It's all in a night's work for Shadehawk, Antihero for Hire. Works on contingency.") -add('BanzaiGirl', 'http://banzaigirl.keenspot.com/', '"Banzai Girl" Jinky Coronado is a popular schoolgirl about to have her big 18th birthday party, when her life gets turned upside-down. Her horrific nightmares literally invade our reality... and those same nightmares may be the key to saving the world!') -add('Barker', 'http://barkercomic.keenspot.com/', 'The story of a boy and his dog.') -add('Buzzboy', 'http://buzzboy.keenspot.com/', "Buzzboy is the world's coolest super sidekick, a cheeseburger-chomping, pop culture-quoting dynamo! But what happens when his mentor, Captain Ultra, and all the top adult superheroes disappear, and Buzzboy and friends are left to save a world where sidekicks rule?") -add('ChoppingBlock', 'http://choppingblock.keenspot.com/', "Y'know how sometimes you hear the voice of your dead mother in your head commanding you to murder sorority girls with a chainsaw and keep their eyeballs in a big jar of formaldehyde? Don't you hate that? I mean, does she have ANY IDEA how hard it is to get your hands on THAT MUCH formaldehyde? Sheesh.") -add('EverythingJake', 'http://everythingjake.keenspot.com/', 'Everything Jake is not just a pun, it\xc2\x92s the story of Jake Bruno, college freshman. It\xc2\x92s chock full of assorted funniness about life, the universe, and everything.') -add('FallOutToyWorks', 'http://fallouttoyworks.keenspot.com/', 'The newly-produced android named Tiffany becomes the greatest passion and potential destruction of a brilliant robot-maker. Inspired by the ideas and lyrics of FALL OUT BOY.') -add('FriarAndBrimstone', 'http://friarandbrimstone.keenspot.com/', '"I\'m gonna summon a demon!"') -add('GeneCatlow', 'http://genecatlow.keenspot.com/', 'A comic that centers on a world populated by both anthropomorphic animals and humans, who have (1) gotten along none too well through the history of their world, and (2) recently had it shown to them in no uncertain terms that they share a common ancestor, responsible for all intellgent life.') -add('GodMode', 'http://godmode.keenspot.com/', "Once upon a time, a teenager created a popular video game cheat code website that was inexplicably bought by a billion-dollar corporation and turned into the ultimate gaming portal. Today, she's all grown up and overseeing the GOD MODE empire with an iron fist and a smoker's cough.") -add('GreenWake', 'http://greenwake.keenspot.com/', 'In the forgotten town of Green Wake, a string of grisly mutilations leads Morley Mack on the trail of a young woman named Ariel, who is the prime suspect. But when a stranger with startling connections to Ariel arrives under mysterious circumstances, Morley unravels a dark plot...') -add('HeadTrip', 'http://headtrip.keenspot.com/', "We're the good kind of crazy, we swear.") -add('JadeWarriors', 'http://jadewarriors.keenspot.com/', 'Angel Sorayama was imbued with the power of a "Deathkiss" as part of a cult of female assassins fostered by the Yakuza for its own ends. When she dared to escape this life, the hunter became the hunted!') -add('Landis', 'http://landis.keenspot.com/', 'The fantastic adventures of an immortal warrior woman searching for the lost hammer of Thor.') -add('MakeshiftMiracle', 'http://makeshiftmiracle.keenspot.com/', 'Colby Reynolds searches for meaning in the world around him and discovers a place where dreams can come true, if he\xc2\x92s willing to pay the price.') -add('Marksmen', 'http://marksmen.keenspot.com/', "Drake McCoy, an expert marksman, defends the future city of New San Diego from the numerous threats in the wasteland outside its walls. But when a powerful army aims to steal the city's energy technology, even Drake's skills may not be enough to fend off the siege.") -add('MarryMe', 'http://marryme.keenspot.com/', 'A romantic comedy graphic novel about a pop star, frustrated with her love life, who marries a random fan holding a \xc2\x93MARRY ME\xc2\x94 sign at one of her concerts.') -add('MedusasDaughter', 'http://medusasdaughter.keenspot.com/', 'Fifteen-year-old sideshow freak Maia Volokos, born with writhing ringlets and viperous locks, seeks the dangerous truth about herself and the parents she never knew.') -add('MonsterMassacre', 'http://monstermassacre.keenspot.com/', 'Massive monsters, bad babes, giant guns, carnasaur carnage, creepy creators... what more could you ask for?') -add('Newshounds', 'http://newshounds.keenspot.com/', "KPET is the home to a woman and her fractious (not to say fractured) talking pets, who report today's news as only talking pets can. See politics intertwined with romance, sports intertwined with intrigue, and comedy intertwined with things comedy shouldn't be intertwined with.") -add('NoPinkPonies', 'http://nopinkponies.keenspot.com/', 'Can a girl go to such extreme just so she can get close to the guy she likes? Jess is just such a girl as she opens up a comic shop and hires the guy of her dreams to work for her. Romantic comedy with a dash of whacky hijinks ensues in this comic about a girl and the what she would do for love. Sort of.') -add('OutThere', 'http://outthere.keenspot.com/', 'A neurotic barmaid encounters a mysterious drifter on the road. The intrepid duo finds they have absolutely nothing in common. So, naturally, they become traveling partners. You know, just like in real life.') -add('QUILTBAG', 'http://quiltbag.keenspot.com/', 'Two young college girls begin a journey of self-discovery on a campus that represents the whole spectrum of sexuality, and possibility.') -add('RedSpike', 'http://redspike.keenspot.com/', 'Project Red Spike was successful in creating the ultimate super soldiers. But what happens when those soldiers stop taking orders?') -add('SamuraisBlood', 'http://samuraisblood.keenspot.com/', 'In an era when lineage defined you, three teenagers must make their way through the world hiding their identities in order to find their destinies.') -add('Sharky', 'http://sharky.keenspot.com/', "For '90s kid Patrick Sharky, there's no comic book superhero cooler than the one that shares his last name: SHARKY, the ultimate tough guy. They say you should never meet your heroes... but Patrick may not have a choice in the matter!") -add('Skullkickers', 'http://skullkickers.keenspot.com/', 'Two hard-headed mercenaries kill monsters and cause havoc in their search for money, fame and adventure. Along the way, they\xc2\x92ll gore goblins, smash skeletons, punch plant people and whomp werewolves.') -add('SomethingHappens', 'http://somethinghappens.keenspot.com/', '"Something Happens" is a weekly comic emphasizing surreal sketch humor, as if \'The Far Side\' were filtered through \'Monty Python.\' The only guarantee made is that the comic will live up to the title, especially if you squint.') -add('SoreThumbs', 'http://sorethumbs.keenspot.com/', "After a beautiful TV horror host's show is cancelled, she's forced to move home to Mayflower, New Jersey and interact with her family and old friends.") -add('Striptease', 'http://striptease.keenspot.com/', "It's not just a clever name for a webcomic.... okay, it is. Sex, betrayal, humor, adventure, and comic book pencilling!") -add('Superosity', 'http://superosity.keenspot.com/', "A lovably insane man-child in a cape. A super-intelligent board-shaped creature. An angry teenager yearning for fame. A century-old turtle who is America's hottest non-white movie star. What do you get when you put them all together? SUPEROSITY! Or hilarity, possibly. One of those.") -add('TheFirstDaughter', 'http://thefirstdaughter.keenspot.com/', "Tasha Tasker has discovered that her dad isn't the only member of the First Family with presidential powers.") -add('TheLounge', 'http://thelounge.keenspot.com/', 'Follow the antics of Italy Ishida and her friends as they run the comics, anime, video games, and coffee store known as The Lounge!') -add('WICKEDPOWERED', 'http://wickedpowered.keenspot.com/', 'Three beautiful girls from the laser-obsessed future rescue loser Wiley Schlub from his boring life!') +add('27TwentySeven', 'http://twenty-seven.keenspot.com/', u"Hendrix, Cobain, Joplin, Morrison: all belong to the '27 Club,' which admits only the most brilliant musicians...and kills them dead in their 27th year. Will Garland is a famous rock guitarist, secretly unable to play for months due to a neurological disorder afflicting his left hand. He's also 27! Can he make it to 28?") +add('Adventurers', 'http://adventurers.keenspot.com/', u"What do a sword-wielding hero, a deeply cynical mage, a complaining theif, a robot spy, a honourable ninja, an obsessed gunslinger, a useless bard, an equally useless cute thing, and a white mage have in common? They're main characters in ADVENTURERS!, for one.") +add('AntiheroForHire', 'http://antihero.keenspot.com/', u"Insane supervillains, cryptic madmen, giant monsters, and criminals with high-tech equipment? No problem! It's all in a night's work for Shadehawk, Antihero for Hire. Works on contingency.") +add('BanzaiGirl', 'http://banzaigirl.keenspot.com/', u'"Banzai Girl" Jinky Coronado is a popular schoolgirl about to have her big 18th birthday party, when her life gets turned upside-down. Her horrific nightmares literally invade our reality... and those same nightmares may be the key to saving the world!') +add('Barker', 'http://barkercomic.keenspot.com/', u'The story of a boy and his dog.') +add('Buzzboy', 'http://buzzboy.keenspot.com/', u"Buzzboy is the world's coolest super sidekick, a cheeseburger-chomping, pop culture-quoting dynamo! But what happens when his mentor, Captain Ultra, and all the top adult superheroes disappear, and Buzzboy and friends are left to save a world where sidekicks rule?") +add('ChoppingBlock', 'http://choppingblock.keenspot.com/', u"Y'know how sometimes you hear the voice of your dead mother in your head commanding you to murder sorority girls with a chainsaw and keep their eyeballs in a big jar of formaldehyde? Don't you hate that? I mean, does she have ANY IDEA how hard it is to get your hands on THAT MUCH formaldehyde? Sheesh.") +add('EverythingJake', 'http://everythingjake.keenspot.com/', u'Everything Jake is not just a pun, it\xc2\x92s the story of Jake Bruno, college freshman. It\xc2\x92s chock full of assorted funniness about life, the universe, and everything.') +add('FallOutToyWorks', 'http://fallouttoyworks.keenspot.com/', u'The newly-produced android named Tiffany becomes the greatest passion and potential destruction of a brilliant robot-maker. Inspired by the ideas and lyrics of FALL OUT BOY.') +add('FriarAndBrimstone', 'http://friarandbrimstone.keenspot.com/', u'"I\'m gonna summon a demon!"') +add('GeneCatlow', 'http://genecatlow.keenspot.com/', u'A comic that centers on a world populated by both anthropomorphic animals and humans, who have (1) gotten along none too well through the history of their world, and (2) recently had it shown to them in no uncertain terms that they share a common ancestor, responsible for all intellgent life.') +add('GodMode', 'http://godmode.keenspot.com/', u"Once upon a time, a teenager created a popular video game cheat code website that was inexplicably bought by a billion-dollar corporation and turned into the ultimate gaming portal. Today, she's all grown up and overseeing the GOD MODE empire with an iron fist and a smoker's cough.") +add('GreenWake', 'http://greenwake.keenspot.com/', u'In the forgotten town of Green Wake, a string of grisly mutilations leads Morley Mack on the trail of a young woman named Ariel, who is the prime suspect. But when a stranger with startling connections to Ariel arrives under mysterious circumstances, Morley unravels a dark plot...') +add('HeadTrip', 'http://headtrip.keenspot.com/', u"We're the good kind of crazy, we swear.") +add('JadeWarriors', 'http://jadewarriors.keenspot.com/', u'Angel Sorayama was imbued with the power of a "Deathkiss" as part of a cult of female assassins fostered by the Yakuza for its own ends. When she dared to escape this life, the hunter became the hunted!') +add('Landis', 'http://landis.keenspot.com/', u'The fantastic adventures of an immortal warrior woman searching for the lost hammer of Thor.') +add('MakeshiftMiracle', 'http://makeshiftmiracle.keenspot.com/', u'Colby Reynolds searches for meaning in the world around him and discovers a place where dreams can come true, if he\xc2\x92s willing to pay the price.') +add('Marksmen', 'http://marksmen.keenspot.com/', u"Drake McCoy, an expert marksman, defends the future city of New San Diego from the numerous threats in the wasteland outside its walls. But when a powerful army aims to steal the city's energy technology, even Drake's skills may not be enough to fend off the siege.") +add('MarryMe', 'http://marryme.keenspot.com/', u'A romantic comedy graphic novel about a pop star, frustrated with her love life, who marries a random fan holding a \xc2\x93MARRY ME\xc2\x94 sign at one of her concerts.') +add('MedusasDaughter', 'http://medusasdaughter.keenspot.com/', u'Fifteen-year-old sideshow freak Maia Volokos, born with writhing ringlets and viperous locks, seeks the dangerous truth about herself and the parents she never knew.') +add('MonsterMassacre', 'http://monstermassacre.keenspot.com/', u'Massive monsters, bad babes, giant guns, carnasaur carnage, creepy creators... what more could you ask for?') +add('Newshounds', 'http://newshounds.keenspot.com/', u"KPET is the home to a woman and her fractious (not to say fractured) talking pets, who report today's news as only talking pets can. See politics intertwined with romance, sports intertwined with intrigue, and comedy intertwined with things comedy shouldn't be intertwined with.") +add('NoPinkPonies', 'http://nopinkponies.keenspot.com/', u'Can a girl go to such extreme just so she can get close to the guy she likes? Jess is just such a girl as she opens up a comic shop and hires the guy of her dreams to work for her. Romantic comedy with a dash of whacky hijinks ensues in this comic about a girl and the what she would do for love. Sort of.') +add('OutThere', 'http://outthere.keenspot.com/', u'A neurotic barmaid encounters a mysterious drifter on the road. The intrepid duo finds they have absolutely nothing in common. So, naturally, they become traveling partners. You know, just like in real life.') +add('QUILTBAG', 'http://quiltbag.keenspot.com/', u'Two young college girls begin a journey of self-discovery on a campus that represents the whole spectrum of sexuality, and possibility.') +add('RedSpike', 'http://redspike.keenspot.com/', u'Project Red Spike was successful in creating the ultimate super soldiers. But what happens when those soldiers stop taking orders?') +add('SamuraisBlood', 'http://samuraisblood.keenspot.com/', u'In an era when lineage defined you, three teenagers must make their way through the world hiding their identities in order to find their destinies.') +add('Sharky', 'http://sharky.keenspot.com/', u"For '90s kid Patrick Sharky, there's no comic book superhero cooler than the one that shares his last name: SHARKY, the ultimate tough guy. They say you should never meet your heroes... but Patrick may not have a choice in the matter!") +add('Skullkickers', 'http://skullkickers.keenspot.com/', u'Two hard-headed mercenaries kill monsters and cause havoc in their search for money, fame and adventure. Along the way, they\xc2\x92ll gore goblins, smash skeletons, punch plant people and whomp werewolves.') +add('SomethingHappens', 'http://somethinghappens.keenspot.com/', u'"Something Happens" is a weekly comic emphasizing surreal sketch humor, as if \'The Far Side\' were filtered through \'Monty Python.\' The only guarantee made is that the comic will live up to the title, especially if you squint.') +add('SoreThumbs', 'http://sorethumbs.keenspot.com/', u"After a beautiful TV horror host's show is cancelled, she's forced to move home to Mayflower, New Jersey and interact with her family and old friends.") +add('Striptease', 'http://striptease.keenspot.com/', u"It's not just a clever name for a webcomic.... okay, it is. Sex, betrayal, humor, adventure, and comic book pencilling!") +add('Superosity', 'http://superosity.keenspot.com/', u"A lovably insane man-child in a cape. A super-intelligent board-shaped creature. An angry teenager yearning for fame. A century-old turtle who is America's hottest non-white movie star. What do you get when you put them all together? SUPEROSITY! Or hilarity, possibly. One of those.") +add('TheFirstDaughter', 'http://thefirstdaughter.keenspot.com/', u"Tasha Tasker has discovered that her dad isn't the only member of the First Family with presidential powers.") +add('TheLounge', 'http://thelounge.keenspot.com/', u'Follow the antics of Italy Ishida and her friends as they run the comics, anime, video games, and coffee store known as The Lounge!') +add('WICKEDPOWERED', 'http://wickedpowered.keenspot.com/', u'Three beautiful girls from the laser-obsessed future rescue loser Wiley Schlub from his boring life!') diff --git a/dosagelib/scraper.py b/dosagelib/scraper.py index e6b3b0858..29c3347f8 100644 --- a/dosagelib/scraper.py +++ b/dosagelib/scraper.py @@ -50,7 +50,7 @@ class _BasicScraper(object): endOfLife = False # a description of the comic contents - description = '' + description = u'' # langauge of the comic (two-letter ISO 639-1 code) lang = 'en' diff --git a/tests/test_comicnames.py b/tests/test_comicnames.py index 932729c82..622454210 100644 --- a/tests/test_comicnames.py +++ b/tests/test_comicnames.py @@ -2,6 +2,10 @@ # Copyright (C) 2012-2013 Bastian Kleineidam from unittest import TestCase from dosagelib import scraper, util +try: + text_type = unicode +except NameError: + text_type = str class TestComicNames(TestCase): @@ -15,3 +19,4 @@ class TestComicNames(TestCase): else: comicname = name self.assertEqual(util.asciify(comicname), comicname) + self.assertTrue(isinstance(scraperclass.description, text_type), comicname)