From 94afafe36c963d99f4240272429e6c8088b9c9bf Mon Sep 17 00:00:00 2001 From: Zhorken Date: Mon, 8 Mar 2010 21:05:36 -0500 Subject: [PATCH] =?utf8?q?Pokedex:=20Report=20Pok=C3=A9mon=20formes=20bett?= =?utf8?q?er.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Report National ID instead of ID, display form name, and link specifically to the form. --- plugins/Pokedex/plugin.py | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/plugins/Pokedex/plugin.py b/plugins/Pokedex/plugin.py index 4a1b6f3..e3a925e 100644 --- a/plugins/Pokedex/plugin.py +++ b/plugins/Pokedex/plugin.py @@ -116,14 +116,35 @@ class Pokedex(callbacks.Plugin): reply_template = \ u"""#{id} {name}, {type}-type Pokémon. Has {abilities}. """ \ """Is {stats}. """ \ - """http://beta.veekun.com/dex/pokemon/{link_name}""" + """http://veekun.com/dex/pokemon/{link_name}""" + + if obj.forme_name: + name = '{form} {name}'.format( + form=obj.forme_name.title(), + name=obj.name + ) + else: + name = obj.name + + if obj.forme_base_pokemon: + # Can't use urllib.quote() on the whole thing or it'll + # catch "?" and "=" where it shouldn't. + # XXX Also we need to pass urllib.quote() things explicitly + # encoded as utf8 or else we get a UnicodeEncodeError. + link_name = '{name}?form={form}'.format( + name=urllib.quote(obj.name.lower().encode('utf8')), + form=urllib.quote(obj.forme_name.lower().encode('utf8')), + ) + else: + link_name = urllib.quote(obj.name.lower().encode('utf8')) + self._reply(irc, reply_template.format( - id=obj.id, - name=obj.name, + id=obj.national_id, + name=name, type='/'.join(_.name for _ in obj.types), abilities=' or '.join(_.name for _ in obj.abilities), stats='/'.join(str(_.base_stat) for _ in obj.stats), - link_name=urllib.quote(obj.name.lower()), + link_name=link_name, ) ) -- 2.7.4