Allow other query parameters to be passed

This commit is contained in:
Jason R. Coombs 2016-09-03 11:08:41 -04:00
parent e98b5d74ca
commit 788746c595

View File

@ -16,18 +16,22 @@ class Client(object):
def __init__(self, app_id='Q59EW4-7K8AHE858R'): def __init__(self, app_id='Q59EW4-7K8AHE858R'):
self.app_id = app_id self.app_id = app_id
def query(self, query, assumption=None): def query(self, query, **data):
""" """
Query Wolfram|Alpha using the v2.0 API Query Wolfram|Alpha using the v2.0 API
Allows for assumptions to be included.
See: http://products.wolframalpha.com/api/documentation.html#6 Allows for arbitrary parameters (data) to be passed in
the query. For example, to pass assumptions:
client.query(query='pi', assumption='*C.pi-_*NamedConstant-')
For more details on Assumptions, see
https://products.wolframalpha.com/api/documentation.html#6
""" """
data = { data.update(
'input': query, input=query,
'appid': self.app_id appid=self.app_id,
} )
if assumption:
data.update({'assumption': assumption})
query = urllib.parse.urlencode(data) query = urllib.parse.urlencode(data)
url = 'https://api.wolframalpha.com/v2/query?' + query url = 'https://api.wolframalpha.com/v2/query?' + query
@ -36,6 +40,7 @@ class Client(object):
assert resp.headers.get_param('charset') == 'utf-8' assert resp.headers.get_param('charset') == 'utf-8'
return Result(resp) return Result(resp)
class Result(object): class Result(object):
''' '''
Handles processing the response for the programmer. Handles processing the response for the programmer.