-
Notifications
You must be signed in to change notification settings - Fork 4
/
utils.py
40 lines (35 loc) · 1.22 KB
/
utils.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env python2
# -- coding: utf-8 --
import os
import sys
import requests
from getpass import getpass
API_URL = 'https://www.muckrock.com/api_v1/'
def get_api_key():
# try getting an environment variable before requesting the auth information
try:
token = os.environ['MUCKROCK_TOKEN']
except KeyError:
user = raw_input('Username: ')
pw = getpass()
response = requests.post('https://www.muckrock.com/api_v1/token-auth/', data={'username': user, 'password': pw})
if not response.raise_for_status():
data = response.json()
token = data['token']
os.environ['MUCKROCK_TOKEN'] = token
print '\nYour token is: %(token)s\n\nSet it for future scripts with this command:\n\nexport MUCKROCK_TOKEN="%(token)s"\n' % {
'token': token
}
return token
def get_headers(token=None):
if token:
return {
'Authorization': 'Token %s' % token,
'content-type': 'application/json'
}
else:
return {'content-type': 'application/json'}
def display_progress(current, total):
percent = (current / total) * 100.00
sys.stdout.write("\r%d%%" % percent)
sys.stdout.flush()