diff --git a/pytrials/utils.py b/pytrials/utils.py index a60b780..bdc839d 100644 --- a/pytrials/utils.py +++ b/pytrials/utils.py @@ -2,33 +2,33 @@ import requests import csv import re +import json def request_ct(url): """Performs a get request that provides a (somewhat) useful error message.""" try: - response = requests.get(url) - response.raise_for_status() - except requests.HTTPError as ex: + import urllib.request + response = urllib.request.urlopen(url.replace(" ", "%20")) + return response + except urllib.error.HTTPError as ex: raise ex except ImportError: raise ImportError( "Couldn't retrieve the data, check your search expression or try again later." ) - else: - return response - def json_handler(url): """Returns request in JSON (dict) format""" - return request_ct(url).json() + response = request_ct(url) + return json.loads(response.read().decode('utf-8')) def csv_handler(url): """Returns request in CSV (list of records) format""" response = request_ct(url) - decoded_content = response.content.decode("utf-8") + decoded_content = response.read().decode("utf-8") cr = csv.reader(decoded_content.splitlines(), delimiter=",") records = list(cr)