This commit is contained in:
Tim Schubert 2018-05-02 17:43:35 +02:00
parent 9ff0cdb41b
commit a0870de1bd

View file

@ -8,6 +8,8 @@ import logging as log
import csv import csv
import secrets import secrets
from time import sleep
class Deadline(yaml.YAMLObject): class Deadline(yaml.YAMLObject):
"""A deadline""" """A deadline"""
@ -168,10 +170,8 @@ def sync_project(gl, course, student):
# gl.projects.delete(project.id) # gl.projects.delete(project.id)
projects = course.group.projects.list(search=student.user.username) projects = course.group.projects.list(search=student.user.username)
if len(projects) > 0: project = None
print('found') if len(projects) == 0:
return projects[0]
base = course.group.projects.list(search=course.base)[0] base = course.group.projects.list(search=course.base)[0]
base = gl.projects.get(base.id) base = gl.projects.get(base.id)
@ -186,13 +186,18 @@ def sync_project(gl, course, student):
project.visibility = 'private' project.visibility = 'private'
project.save() project.save()
course.group.transfer_project(to_project_id=fork.id) course.group.transfer_project(to_project_id=fork.id)
else:
project = gl.projects.get(id=projects[0].id)
try:
student_member = project.members.get(student.user.id) student_member = project.members.get(student.user.id)
student_member.access_level = gitlab.DEVELOPER_ACCESS student_member.access_level = gitlab.DEVELOPER_ACCESS
student_member.save() student_member.save()
except gitlab.exceptions.GitlabGetError as e:
student_member = project.members.create({'user_id': student.user.id, 'access_level':
gitlab.DEVELOPER_ACCESS})
project.keys.create({'title': 'abgabesystem', 'key': open('abgabesystem.key.pub').read()}) project.keys.create({'title': 'abgabesystem', 'key': open('abgabesystem.key.pub').read()})
project.save()
return project
def deadlines(gl, conf, args): def deadlines(gl, conf, args):