mishtert commited on
Commit
1237d50
1 Parent(s): e413b73

Upload ctwraputils.py

Browse files
Files changed (1) hide show
  1. ctwraputils.py +34 -0
ctwraputils.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Basic utilities module"""
2
+ import requests
3
+ import csv
4
+ import re
5
+
6
+
7
+ def request_ct(url):
8
+ """Performs a get request that provides a (somewhat) useful error message."""
9
+ try:
10
+ response = requests.get(url)
11
+ except ImportError:
12
+ raise ImportError(
13
+ "Couldn't retrieve the data, check your search expression or try again later."
14
+ )
15
+ else:
16
+ return response
17
+
18
+
19
+ def json_handler(url):
20
+ """Returns request in JSON (dict) format"""
21
+ return request_ct(url).json()
22
+
23
+
24
+ def csv_handler(url):
25
+ """Returns request in CSV (list of records) format"""
26
+
27
+ response = request_ct(url)
28
+ decoded_content = response.content.decode("utf-8")
29
+
30
+ split_by_blank = re.split(r"\n\s*\n", decoded_content) # Extracts header info
31
+ cr = csv.reader(split_by_blank[1].splitlines(), delimiter=",")
32
+ records = list(cr)
33
+
34
+ return records