summaryrefslogtreecommitdiffstats
path: root/modules/weather.py
diff options
context:
space:
mode:
authorSean B. Palmer <sbp@aldebaran.local>2010-11-13 11:55:04 +0000
committerSean B. Palmer <sbp@aldebaran.local>2010-11-13 11:55:04 +0000
commit5ebe01386d46f0a3a50b2b02416d8e7ee222af7e (patch)
tree7128595c9a945d507f47d8177d8871ddc88169dc /modules/weather.py
parentca95157acbe6e340573130e45a851b39e547159d (diff)
downloadbot-5ebe01386d46f0a3a50b2b02416d8e7ee222af7e.tar.gz
bot-5ebe01386d46f0a3a50b2b02416d8e7ee222af7e.tar.bz2
bot-5ebe01386d46f0a3a50b2b02416d8e7ee222af7e.zip
Services fixes, and a standard JSON API.
Diffstat (limited to 'modules/weather.py')
-rwxr-xr-xmodules/weather.py14
1 files changed, 1 insertions, 13 deletions
diff --git a/modules/weather.py b/modules/weather.py
index 232e58f..29b01e5 100755
--- a/modules/weather.py
+++ b/modules/weather.py
@@ -13,18 +13,6 @@ from tools import deprecated
r_from = re.compile(r'(?i)([+-]\d+):00 from')
-r_json = re.compile(r'^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]+$')
-r_string = re.compile(r'("(\\.|[^"\\])*")')
-env = {'__builtins__': None, 'null': None,
- 'true': True, 'false': False}
-
-def json(text):
- """Evaluate JSON text safely (we hope)."""
- if r_json.match(r_string.sub('', text)):
- text = r_string.sub(lambda m: 'u' + m.group(1), text)
- return eval(text.strip(' \t\r\n'), env, {})
- raise ValueError('Input must be serialised JSON.')
-
def location(name):
name = urllib.quote(name.encode('utf-8'))
uri = 'http://ws.geonames.org/searchJSON?q=%s&maxRows=1' % name
@@ -34,7 +22,7 @@ def location(name):
bytes = u.read()
u.close()
- results = json(bytes)
+ results = web.json(bytes)
try: name = results['geonames'][0]['name']
except IndexError:
return '?', '?', '0', '0'