Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions pytrials/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down