~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to services/usrmgt-server

  • Committer: Matt Giuca
  • Date: 2009-04-28 10:43:41 UTC
  • Revision ID: matt.giuca@gmail.com-20090428104341-gb7721sqfr5zwmzz
ivle.makeuser: make_svn_auth now requires a config argument.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
import logging
6
6
 
7
7
import ivle.config
 
8
import ivle.conf
8
9
import ivle.database
9
10
import ivle.chat
10
11
import ivle.makeuser
11
12
 
12
 
config = ivle.config.Config()
13
 
 
14
13
# usage:
15
14
#   usrmgt-server <port> <magic>
16
15
 
39
38
    @return: None
40
39
    """
41
40
 
42
 
    if not os.path.exists(config['paths']['jails']['template']):
43
 
        return {
44
 
            'response': 'error',
45
 
            'message': 'Template jail has not been built -- '
46
 
                       'do you need to run ivle-buildjail?'}
47
 
 
48
41
    os.umask(0022) # Bad, but start_server sets it worse.
49
42
 
50
43
    login = props['login']
55
48
    user = ivle.database.User.get_by_login(store, login)
56
49
 
57
50
    # make svn config/auth
58
 
    repopath = os.path.join(config['paths']['svn']['repo_path'],
59
 
                            'users', login)
 
51
    repopath = os.path.join(ivle.conf.svn_repo_path, 'users', login)
60
52
    logging.debug("Creating user's Subversion repository")
61
53
    ivle.makeuser.make_svn_repo(repopath, throw_on_error=True)
62
54
 
67
59
                                         throw_on_error=True)
68
60
 
69
61
    logging.debug("Creating jail")
70
 
    ivle.makeuser.make_jail(user, config)
 
62
    ivle.makeuser.make_jail(user)
71
63
 
72
64
    logging.info("Enabling user")
73
65
    user.state = u'enabled'
115
107
    groupnm = props['groupnm']
116
108
 
117
109
    namespace = "_".join([subj_short_name, year, semester, groupnm])
118
 
    repopath = os.path.join(config['paths']['svn']['repo_path'],
119
 
                            'groups', namespace)
 
110
    repopath = os.path.join(ivle.conf.svn_repo_path, 'groups', namespace)
120
111
    logging.debug("Creating Subversion repository %s"%repopath)
121
112
    try:
122
113
        ivle.makeuser.make_svn_repo(repopath)
137
128
def initializer():
138
129
    logging.basicConfig(filename="/var/log/usrmgt.log", level=logging.INFO)
139
130
    logging.info("Starting usrmgt server on port %d (pid = %d)" %
140
 
                 (config['usrmgt']['port'], pid))
 
131
                 (ivle.conf.usrmgt_port, pid))
141
132
 
142
133
    try:
143
134
        pidfile = open('/var/run/usrmgt-server.pid', 'w')
150
141
def dispatch(props):
151
142
    logging.debug(repr(props))
152
143
 
 
144
    config = ivle.config.Config()
153
145
    store = ivle.database.get_store(config)
154
146
    action = props.keys()[0]
155
147
    res = actions[action](store, props[action], config)
164
156
if __name__ == "__main__":
165
157
    pid = os.getpid()
166
158
 
167
 
    ivle.chat.start_server(config['usrmgt']['port'],config['usrmgt']['magic'],
 
159
    ivle.chat.start_server(ivle.conf.usrmgt_port, ivle.conf.usrmgt_magic,
168
160
                           True, dispatch, initializer)