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

« back to all changes in this revision

Viewing changes to bin/ivle-enrolallusers

  • Committer: Matt Giuca
  • Date: 2010-07-28 06:09:00 UTC
  • Revision ID: matt.giuca@gmail.com-20100728060900-6a0lcuexcv1juh5r
ivle/webapp/submit/submit.html: Rewrote error message when an offering could not be found to submit to. This can have one of several causes, and the old error assumed it was because you weren't in a subject dir. Now enumerates the possible reasons. (LP: #526853)

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
import optparse
35
35
import logging
36
36
 
 
37
import ivle.config
37
38
import ivle.database
38
39
import ivle.pulldown_subj
39
40
 
41
42
p.add_option('--user', '-u', metavar="<login>",
42
43
             help="Just perform enrolment for user <login>")
43
44
p.add_option('--verbose', '-v', action='store_true')
44
 
p.add_option('--year', '-y', metavar="<year>",
45
 
             help="If specified, year to make enrolments for (default: "
46
 
                  "current year)")
47
45
options, arguments = p.parse_args()
48
46
 
49
47
if options.verbose:
54
52
    print >> sys.stderr, "%s must be run as root" % sys.argv[0]
55
53
    sys.exit(1)
56
54
 
57
 
store = ivle.database.get_store()
 
55
config = ivle.config.Config()
 
56
store = ivle.database.get_store(config)
 
57
 
58
58
if options.user is None:
59
59
    users = store.find(ivle.database.User).order_by(ivle.database.User.login)
60
60
else:
65
65
else:
66
66
    logging.info("enrolment started for user %s" % options.user)
67
67
 
68
 
if options.year is not None and not options.year.isdigit():
69
 
    logging.error("Year must be numeric")
70
 
    sys.exit(1)
71
 
 
72
 
options.year = None if options.year is None else unicode(options.year)
73
 
 
74
68
for user in users:
75
69
    try:
76
70
        # Get all subjects this user is enrolled in, and add them to the DB if
77
71
        # they match one of our local subject codes
78
 
        res = ivle.pulldown_subj.enrol_user(store, user, options.year)
 
72
        res = ivle.pulldown_subj.enrol_user(config, store, user)
79
73
        logging.info("Enrolled user %s in %d subject%s." % (user.login, res,
80
74
                        '' if res == 1 else 's'))
81
75
    except Exception, message: