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

« back to all changes in this revision

Viewing changes to bin/ivle-showenrolment

  • Committer: matt.giuca
  • Date: 2009-01-14 10:10:12 UTC
  • mto: This revision was merged to the branch mainline in revision 1090.
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:branches%2Fstorm:1132
The new ivle.database.User class is now used in Request and usrmgt, which
    means it is now almost universally used in favour of ivle.user.User (now
    deprecated).

Noticeable change: The minor bug where the change to a user object in the
    database is not reflected in the user's session (eg. changing nick doesn't
    update title until log out).

ivle.dispatch:
    Session now contains 'login' (username string) rather than 'user' (full
        ivle.user.User object). This is a unicode string now.

    req.user is now a ivle.database.User object rather than an ivle.user.User
        object. This makes for a whole lot of really subtle differences, but
        largely conforms to the same interface. Note that strings must now all
        be unicode.

    login: Removed use of ivle.db. Now uses User object.

    html: Now handles unicode login and config options.

ivle.db: Removed update_user. Now replaced with Storm model.

ivle.database: Renamed has_cap back to hasCap (saved for later). Fixed small
    unicode bug.

ivle.makeuser.make_svn_auth now takes a store object.

usrmgt-server: Use new User class.

userservice: Now uses User class internally.
    get_user action now returns ISO 8601 date format, rather than a
        time tuple. (Wasn't being used).
    get_user action no longer transmits local_password (small security risk;
        note that it wasn't possible to see this for any user other than
        yourself unless admin).

ivle.util - added function object_to_dict.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
import os
26
26
import sys
27
27
 
28
 
import ivle.config
29
 
import ivle.database
 
28
import ivle.db
30
29
 
31
30
if len(sys.argv) != 2:
32
31
    print >> sys.stderr, "usage: %s <login>" % os.path.basename(sys.argv[0])
33
32
    sys.exit(1)
34
33
 
35
 
store = ivle.database.get_store(ivle.config.Config())
36
 
user = ivle.database.User.get_by_login(store, sys.argv[1])
37
 
 
38
 
if not user:
39
 
    print>>sys.stderr, "%s: user does not exist"%os.path.basename(sys.argv[0])
 
34
db = ivle.db.DB()
 
35
try:
 
36
    user = db.get_user(sys.argv[1])
 
37
except ivle.db.DBException:
 
38
    print >> sys.stderr, "cannot retrieve user - probably doesn't exist"
40
39
    sys.exit(1)
 
40
enrols = db.get_enrolment(sys.argv[1])
 
41
db.close()
41
42
 
42
 
if user.enrolments.count() > 0:
43
 
    print 'IVLE enrolment for %s (%s):' % (user.login, user.fullname)
44
 
    print '    Code       Name Year Semester     Role'
45
 
    print '-------- ---------- ---- -------- --------'
46
 
    for e in user.enrolments:
47
 
        print '%8s %10s %4s %8s %8s' % (
48
 
                e.offering.subject.code, e.offering.subject.short_name,
49
 
                e.offering.semester.year, e.offering.semester.semester,
50
 
                e.role
51
 
                )
 
43
if len(enrols) > 0:
 
44
    print 'Showing enrolment for %s (%s):' % (sys.argv[1], user.fullname)
 
45
    print '    Code       Name Semester Year'
 
46
    print '-------- ---------- -------- ----'
 
47
    for enrol in enrols:
 
48
        print '%(subj_code)8s %(subj_short_name)10s %(semester)8s %(year)4s' % enrol
52
49
else:
53
 
    print '%s (%s) is not enrolled in any IVLE offerings' % (
54
 
                        user.login, user.fullname)
 
50
    print '%s (%s) is not enrolled in any offerings' % (sys.argv[1], user.fullname)