-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgitlab.py
More file actions
83 lines (66 loc) · 2.34 KB
/
gitlab.py
File metadata and controls
83 lines (66 loc) · 2.34 KB
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Ron Johnson
# 10/20/2016
import requests
import pickle
def getToken():
file_name = "config"
return_val = ''
try:
file_object = open(file_name, 'rb')
c = pickle.load(file_object)
return_val = c['token']
except:
pass
return return_val
def getURL():
file_name = "config"
return_val = ''
try:
file_object = open(file_name, 'rb')
c = pickle.load(file_object)
return_val = c['URL']
except:
pass
return return_val
class glUserData():
_data = []
_headers = []
_payload = ''
_url = ''
_token = ''
def __init__(self, url, token):
self._url = url + 'users'
self._token = token
self._payload = {'private_token': self._token, 'page': 1}
self._pull_data()
def _pull_data(self):
r = requests.get(self._url, params=self._payload)
self._data = []
# set headers
if int(r.headers['Content-Length']) > 2:
d = r.json()
person = d[0]
for key, value in person.items():
self._headers.append(key)
# set data
while True:
for person in d:
self._data.append(person)
self._payload['page'] += 1
r = requests.get(self._url, params=self._payload)
if int(r.headers['Content-Length']) <= 2:
break
d = r.json()
# break #use for shorter dev cycles
def data(self):
return self._data
def headers(self):
return self._headers
# {'identities': [], 'state': 'active', 'skype': '', 'can_create_project': True, 'id': 277, 'can_create_group': True,
# 'linkedin': '', 'created_at': '2016-09-29T19:46:46.321Z', 'website_url': '', 'username': 'daveryan',
# 'projects_limit': 10, 'is_admin': False, 'bio': None, 'two_factor_enabled': True,
# 'web_url': 'https://gitlab.spectrumxg.com/u/daveryan', 'email': 'david.d.ryan@charter.com', 'external': False,
# 'color_scheme_id': 1, 'confirmed_at': '2016-09-29T19:47:02.992Z', 'location': None,
# 'last_sign_in_at': '2016-09-29T19:47:02.999Z', 'name': 'David Ryan',
# 'avatar_url': 'https://secure.gravatar.com/avatar/1c17ac50314193b70a3193d823a933a6?s=80&d=identicon',
# 'twitter': '', 'current_sign_in_at': '2016-09-29T19:47:02.999Z', 'theme_id': 2}