Skip to content

Commit 2c638f5

Browse files
author
Stephan Lammel
committed
fix up script after permission correction
1 parent 6f223f8 commit 2c638f5

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

siteconf_permissions/createSiteConfProject.py

100644100755
Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#! /usr/bin/python3
1+
#!/usr/bin/python3
22
import gitlab
33
from gitlab.exceptions import GitlabCreateError
44

@@ -12,9 +12,10 @@ def get_project(name, force, gl):
1212
siteconf_id = gl.groups.get("SITECONF").id
1313
try:
1414
logging.info("Creating SITECONF project for {}".format(name))
15-
return gl.projects.create({"name": "TEST", "namespace_id": siteconf_id})
16-
except GitlabCreateError as e:
17-
if e.error_message["name"][0] == "has already been taken":
15+
#return gl.projects.create({"name": "TEST", "namespace_id": siteconf_id})
16+
return gl.projects.create({"name": name, "namespace_id": siteconf_id})
17+
except (GitlabCreateError, GitlabHttpError) as e:
18+
if e.error_message['name'][0] == "has already been taken":
1819
if force:
1920
logging.info("SITECONF project already exists, retrieving SITECONF project")
2021
return gl.projects.get("SITECONF/{}".format(name))
@@ -62,7 +63,7 @@ def get_project(name, force, gl):
6263
logging.info("Adding empty file to repository")
6364
try:
6465
project.files.create({"file_path": "JobConfig/site-local-config.xml", "content": "", "branch": "master", "commit_message": "First Commit"})
65-
except GitlabCreateError as e:
66+
except (GitlabCreateError, GitlabHttpError) as e:
6667
if e.error_message == "A file with this name already exists":
6768
logging.warning("JobConfig/site-local-config.xml already exists")
6869
else:
@@ -88,11 +89,13 @@ def get_project(name, force, gl):
8889

8990
logging.info("Retrieving cmssst user id")
9091
cmssst = gl.users.list(search="cmssst")[0].id
91-
logging.info("Adding the cmssst user as mantainer")
92+
logging.info("Adding the cmssst user as maintainer")
9293
try:
9394
project.members.create({"user_id": cmssst, "access_level": gitlab.MAINTAINER_ACCESS})
94-
except GitlabCreateError as e:
95-
if e.error_message == "Member already exists":
95+
except (GitlabCreateError, GitlabHttpError) as e:
96+
if e.error_message['access_level'][0] == "should be greater than or equal to Owner inherited membership from group siteconf":
97+
pass
98+
elif e.error_message == "Member already exists":
9699
logging.info("The cmssst user is already a member, changing access level anyway")
97100
user = project.members.get(cmssst)
98101
user.access_level = gitlab.MAINTAINER_ACCESS

0 commit comments

Comments
 (0)