]>
Commit | Line | Data |
---|---|---|
685e346e A |
1 | from feed import XmlFeed |
2 | from urllib import urlencode | |
3 | ||
4 | class Wolfram(object): | |
5 | API_URL = 'http://api.wolframalpha.com/v2/query?' | |
6 | ||
7 | def __init__(self, key): | |
8 | self.API_KEY = key | |
9 | ||
10 | def alpha(self, query): | |
11 | u = self.API_URL + urlencode({ | |
12 | 'input': query, | |
13 | 'appid': self.API_KEY, | |
14 | 'format': 'plaintext', | |
15 | }) | |
16 | data = XmlFeed(u) | |
17 | if data.attribute('/queryresult', 'success') != 'true': | |
18 | return None | |
19 | ||
20 | try: | |
21 | q = data.text('/queryresult/pod[1]/subpod/plaintext') | |
22 | r = data.text('/queryresult/pod[2]/subpod/plaintext') | |
23 | assert q | |
24 | return (q, r, ) | |
25 | except: | |
26 | return None |