50
51
raise Exception("Cannot create repository for %s" % login)
53
def rebuild_svn_config():
54
"""Build the complete SVN configuration file.
57
res = conn.query("SELECT login, rolenm FROM login;").dictresult()
61
if role not in groups:
63
groups[role].append(r['login'])
64
f = open(conf.svn_conf + ".new", "w")
65
f.write("# IVLE SVN Repositories Configuration\n")
66
f.write("# Auto-generated on %s\n" % time.asctime())
69
for (g,ls) in groups.iteritems():
70
f.write("%s = %s\n" % (g, ",".join(ls)))
74
f.write("[%s:/]\n" % login)
75
f.write("%s = rw\n" % login)
76
f.write("@tutor = r\n")
77
f.write("@lecturer = rw\n")
78
f.write("@admin = rw\n")
81
os.rename(conf.svn_conf + ".new", conf.svn_conf)
52
83
def make_svn_config(login):
53
84
"""Add an entry to the apache-svn config file for the given user.
85
Assumes the given user is either a guest or a student.
55
87
f = open(conf.svn_conf, "a")
56
88
f.write("[%s:/]\n" % login)
57
f.write(" %s = rw\n" % login)
58
f.write(" @tutor = r\n")
59
f.write(" @lecturer = rw\n")
60
f.write(" @admin = rw\n")
89
f.write("%s = rw\n" % login)
90
f.write("@tutor = r\n")
91
f.write("@lecturer = rw\n")
92
f.write("@admin = rw\n")