Skip to content
Snippets Groups Projects
Commit b48050fa authored by Harrison Cook's avatar Harrison Cook
Browse files

required-functions

parents
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/python3
import requests as r
import json as j
SECRET_KEY = 'SWZskgnDTNUzVsQ7EmKs'
BASE_URL = 'https://gitlab.cs.umd.edu/'
DEFAULT_HEADERS = {
'user-agent': 'bulk-repo-create',
'Content-Type': 'application/json',
'Private-Token' : SECRET_KEY
}
def id_from_name (name):
rq = r.get (
BASE_URL + "api/v4/users/",
headers = DEFAULT_HEADERS,
params = {
'username' : name
}
)
res = j.loads(rq.text)
if type(res) == list:
if len(res) == 0:
return None
else:
return res[0]['id']
else:
raise TypeError
# Returns project id, or none if project cannot be created
def create_project (proj_name):
rq = r.post (
BASE_URL + "api/v4/projects/",
headers = DEFAULT_HEADERS,
data = j.dumps(
{
'name' : proj_name,
'visibility' : 'private'
}
)
)
res = j.loads(rq.text)
try:
return res['id']
except KeyError:
return None
# adds user with user_id to project with project_id with permission permission
# 30 for developer 40 for maintainer
# return true if successful false if not
def add_to_project(project_id, user_id, permission):
rq = r.post (
BASE_URL + "api/v4/projects/" + str(project_id) + "/members",
headers = DEFAULT_HEADERS,
data = j.dumps(
{
'id' : project_id,
'user_id' : user_id,
'access_level': permission #Developer
}
)
)
res = j.loads(rq.text)
try:
return res['id'] == user_id
except KeyError:
return False
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment