Issues 356 - Adding get_data for Api response so it can overrided

pull/420/head
Jonathan D'Orleans 2016-09-27 22:20:59 -04:00
parent 352cf3b14e
commit f43d38dae7
2 changed files with 18 additions and 12 deletions

View File

@ -20,23 +20,23 @@ class Api(object):
method = params.get("method", "GET")
headers = self.build_headers(params)
json = self.build_json(params)
query = params.get("query")
query = self.build_query(params)
url = self.build_url(params)
response = requests.request(method, url, headers=headers, params=query,
data=params.get("data"), json=json)
return self.get_response(response)
@staticmethod
def get_response(response):
try:
data = response.json()
except:
data = response.text
def get_response(self, response):
data = self.get_data(response)
if 200 <= response.status_code < 300:
return data
else:
raise HTTPError(data, response=response)
raise HTTPError(data, response=response)
def get_data(self, response):
try:
return response.json()
except:
return response.text
def build_headers(self, params):
headers = params.get("headers", {})
@ -62,6 +62,9 @@ class Api(object):
params["json"] = json
return json
def build_query(self, params):
return params.get("query")
def build_url(self, params):
path = params.get("path", "")
version = params.get("version", self.version)

View File

@ -75,9 +75,12 @@ class WAApi(Api):
def __init__(self):
super(WAApi, self).__init__("wa")
def get_data(self, response):
return response.text
def query(self, input):
response = self.request({"query": {"input": input}})
return wolframalpha.Result(StringIO(response.content))
data = self.request({"query": {"input": input}})
return wolframalpha.Result(StringIO(data))
class WolframAlphaSkill(MycroftSkill):