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

« back to all changes in this revision

Viewing changes to bin/ivle-enrolallusers

  • Committer: chadnickbok
  • Date: 2009-01-19 22:56:46 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:1170
This commit fixes issue #10 and part of issue #9

There are now two options for moving files with their
svn history intact; svn move and svn copy. These
use the svn commands to move the files, allowing students
to move and rename files without their histories being
lost.

This commit also shows the svn status of a dir, if it is
the 'head' of an svn repository.

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.database
 
37
import ivle.db
38
38
import ivle.pulldown_subj
39
39
 
40
40
p = optparse.OptionParser()
54
54
    print >> sys.stderr, "%s must be run as root" % sys.argv[0]
55
55
    sys.exit(1)
56
56
 
57
 
store = ivle.database.get_store()
58
 
if options.user is None:
59
 
    users = store.find(ivle.database.User).order_by(ivle.database.User.login)
60
 
else:
61
 
    users = [ivle.database.User.get_by_login(store, options.user)]
 
57
try:
 
58
    db = ivle.db.DB()
 
59
    if options.user is None:
 
60
        users = db.get_users()
 
61
    else:
 
62
        users = [db.get_user(options.user)]
 
63
    def repack(user):
 
64
        return (user.login, user.unixid)
 
65
    uids = dict(map(repack,users))
 
66
except Exception, message:
 
67
    logging.error(str(message))
 
68
    sys.exit(1)
62
69
 
63
70
if options.user is None:
64
71
    logging.info("enrolment started")
69
76
    logging.error("Year must be numeric")
70
77
    sys.exit(1)
71
78
 
72
 
options.year = unicode(options.year)
73
 
 
 
79
users.sort(key=lambda user: user.login)
74
80
for user in users:
75
81
    try:
76
82
        # Get all subjects this user is enrolled in, and add them to the DB if
77
83
        # they match one of our local subject codes
78
 
        res = ivle.pulldown_subj.enrol_user(store, user, options.year)
 
84
        res = ivle.pulldown_subj.enrol_user(user.login, options.year)
79
85
        logging.info("Enrolled user %s in %d subject%s." % (user.login, res,
80
86
                        '' if res == 1 else 's'))
81
87
    except Exception, message:
82
88
        logging.warning(str(message))
83
89
        continue
84
90
    
85
 
store.commit()
86
91
logging.info("enrolment completed successfully")