Unicode descriptions.

This commit is contained in:
Bastian Kleineidam 2013-04-29 07:35:56 +02:00
parent 459156fc1a
commit 80d7defcd2
6 changed files with 47 additions and 42 deletions

View file

@ -29,7 +29,7 @@ class DamnLol(_BasicScraper):
compile(tagre("img", "src", r'(%spics/[^"]+)' % rurl)), compile(tagre("img", "src", r'(%spics/[^"]+)' % rurl)),
) )
help = 'Index format: stripname-number' 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, starter = bounceStarter(url,
compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="next"))) 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")) prevSearch = compile(tagre("a", "href", r'(/\d+-\d+-\d+/)', after="STR_Prev"))
imageSearch = compile(tagre("img", "src", r'(/dyn/str_strip/[^"]+\.strip\.zoom\.gif)')) imageSearch = compile(tagre("img", "src", r'(/dyn/str_strip/[^"]+\.strip\.zoom\.gif)'))
help = 'Index format: yyyy-mm-dd' 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 @classmethod
def namer(cls, imageUrl, pageUrl): def namer(cls, imageUrl, pageUrl):
@ -274,7 +274,7 @@ class DrFun(_BasicScraper):
multipleImagesPerStrip = True multipleImagesPerStrip = True
prevSearch = compile(tagre("a", "href", r'([^"]+)') + 'Previous Week,') prevSearch = compile(tagre("a", "href", r'([^"]+)') + 'Previous Week,')
help = 'Index format: nnnnn' 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): class DrMcNinja(_BasicScraper):

View file

@ -132,7 +132,7 @@ class EverydayBlues(_BasicScraper):
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+/)' % rurl, after="navi-prev")) 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)) imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+-[^"]+)' % rurl))
help = 'Index format: yyyy/mm/dd/stripname' 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): class EvilDiva(_BasicScraper):

View file

@ -161,7 +161,7 @@ class ForLackOfABetterComic(_BasicScraper):
imageSearch = compile(tagre("img", "src", r'(%simg/comic/\d+[^"]+)' % rurl, after="comicimg")) imageSearch = compile(tagre("img", "src", r'(%simg/comic/\d+[^"]+)' % rurl, after="comicimg"))
prevSearch = compile(tagre("a", "href", r'(%s\?id\=\d+)' % rurl) + r'Prev') prevSearch = compile(tagre("a", "href", r'(%s\?id\=\d+)' % rurl) + r'Prev')
help = 'Index format: number' 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): class Freefall(_BasicScraper):

View file

@ -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 edit anything below since these entries are generated from scripts/update.sh
# DO NOT REMOVE # 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('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/', "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('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/', "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('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/', '"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('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/', 'The story of a boy and his dog.') add('Barker', 'http://barkercomic.keenspot.com/', u'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('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/', "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('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/', '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('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/', '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('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/', '"I\'m gonna summon a demon!"') add('FriarAndBrimstone', 'http://friarandbrimstone.keenspot.com/', u'"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('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/', "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('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/', '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('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/', "We're the good kind of crazy, we swear.") add('HeadTrip', 'http://headtrip.keenspot.com/', u"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('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/', 'The fantastic adventures of an immortal warrior woman searching for the lost hammer of Thor.') 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/', '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('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/', "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('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/', '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('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/', '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('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/', 'Massive monsters, bad babes, giant guns, carnasaur carnage, creepy creators... what more could you ask for?') 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/', "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('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/', '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('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/', '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('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/', 'Two young college girls begin a journey of self-discovery on a campus that represents the whole spectrum of sexuality, and possibility.') 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/', 'Project Red Spike was successful in creating the ultimate super soldiers. But what happens when those soldiers stop taking orders?') 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/', '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('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/', "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('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/', '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('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/', '"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('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/', "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('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/', "It's not just a clever name for a webcomic.... okay, it is. Sex, betrayal, humor, adventure, and comic book pencilling!") 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/', "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('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/', "Tasha Tasker has discovered that her dad isn't the only member of the First Family with presidential powers.") 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/', '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('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/', 'Three beautiful girls from the laser-obsessed future rescue loser Wiley Schlub from his boring life!') add('WICKEDPOWERED', 'http://wickedpowered.keenspot.com/', u'Three beautiful girls from the laser-obsessed future rescue loser Wiley Schlub from his boring life!')

View file

@ -50,7 +50,7 @@ class _BasicScraper(object):
endOfLife = False endOfLife = False
# a description of the comic contents # a description of the comic contents
description = '' description = u''
# langauge of the comic (two-letter ISO 639-1 code) # langauge of the comic (two-letter ISO 639-1 code)
lang = 'en' lang = 'en'

View file

@ -2,6 +2,10 @@
# Copyright (C) 2012-2013 Bastian Kleineidam # Copyright (C) 2012-2013 Bastian Kleineidam
from unittest import TestCase from unittest import TestCase
from dosagelib import scraper, util from dosagelib import scraper, util
try:
text_type = unicode
except NameError:
text_type = str
class TestComicNames(TestCase): class TestComicNames(TestCase):
@ -15,3 +19,4 @@ class TestComicNames(TestCase):
else: else:
comicname = name comicname = name
self.assertEqual(util.asciify(comicname), comicname) self.assertEqual(util.asciify(comicname), comicname)
self.assertTrue(isinstance(scraperclass.description, text_type), comicname)