import urllib2 import re from util import hook @hook.command def calc(inp): '''.calc <term> -- returns Google Calculator result''' if not inp: return calc.__doc__ url = "http://www.google.com/search?q=" request = urllib2.Request(url + urllib2.quote(inp, '')) request.add_header('User-Agent', 'skybot') page = urllib2.build_opener().open(request).read() # ugh, scraping HTML with regexes m = re.search(r'<h2 class=r style="font-size:138%"><b>(.*?)</b>', page) if m is None: return "could not calculate " + inp result = m.group(1).replace("<font size=-2> </font>", ",") result = result.replace(" × 10<sup>", "E").replace("</sup>", "") result = result.replace("\xa0", ",") return result