A few tweaks to plugins: weather.py now uses web.query for YQL, spellcheck.py has some renamed variables and uses new string formatting, choose.py has a nicer fail message.

This commit is contained in:
Luke Rogers 2012-10-13 14:02:22 +13:00
parent de67aad764
commit 5f0d5f62a2
3 changed files with 13 additions and 17 deletions

View file

@ -13,6 +13,6 @@ def choose(inp):
if len(c) == 1:
c = re.findall(r'(\S+)', inp)
if len(c) == 1:
return 'the decision is up to you'
return 'The decision is up to you!'
return random.choice(c).strip()

View file

@ -1,11 +1,10 @@
import re
import enchant
from util import hook
locale = "en_US"
@hook.command("spellcheck")
@hook.command
def spell(inp):
"spell <word> -- Check spelling of <word>."
@ -13,16 +12,16 @@ def spell(inp):
return "This command only supports one word at a time."
if not enchant.dict_exists(locale):
return "Could not find dictionary: %s" % locale
return "Could not find dictionary: {}".format(locale)
dict = enchant.Dict(locale)
is_correct = dict.check(inp)
suggestions = dict.suggest(inp)
dictionary = enchant.Dict(locale)
is_correct = dictionary.check(inp)
suggestions = dictionary.suggest(inp)
s_string = ', '.join(suggestions[:10])
if is_correct:
return '"%s" appears to be \x02valid\x02! ' \
'(suggestions: %s)' % (inp, s_string)
return '"{}" appears to be \x02valid\x02! ' \
'(suggestions: {})'.format(inp, s_string)
else:
return '"%s" appears to be \x02invalid\x02! ' \
'(suggestions: %s)' % (inp, s_string)
return '"{}" appears to be \x02invalid\x02! ' \
'(suggestions: {})'.format(inp, s_string)

View file

@ -1,16 +1,13 @@
from util import hook
import yql as YQL
from util import hook, web
def get_weather(location):
"""uses the yahoo weather API to get weather information for a location"""
yql = YQL.Public()
enviroment = "http://datatables.org/alltables.env"
query = "SELECT * FROM weather.bylocation WHERE location=@location LIMIT 1"
data = yql.execute(query, {"location": location}, env=enviroment).one()
result = web.query(query, {"location": location})
data = data["rss"]["channel"]
data = result.rows[0]["rss"]["channel"]
# wind conversions
data['wind']['chill_c'] = int(round((int(data['wind']['chill']) - 32) / 1.8, 0))