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

« back to all changes in this revision

Viewing changes to listusers.py

  • Committer: mattgiuca
  • Date: 2008-03-07 15:12:02 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:669
Timestamps are now stored within the program as Python "time" module's
    "struct_time" objects, rather than strings directly from the DB.
    They are parsed into struct_time objects when reading from the db.
    They are formatted into SQL Timestamp strings when writing to the db.
    This allows them to be manipulated and compared within the program.

common.db: _escape now accepts struct_time objects - it formats them into SQL
            time strings.
common.user: The User constructor now parses "acct_exp", "pass_exp" and
            "last_login" fields as timestamp strings, and stores them
            internally as struct_time.
tutorialservice: When recording a submission, the "date" field is now stored
            as a struct_time, not a formatted string.
login.py: When logging in, uncommented call to write last_login to the DB,
            passing the current local time. (This now works correctly).
            Note that this is done after retrieving the user details, so the
            value of last_login stored in the session is the _old_ last login,
            not the new one (this is intentional).

(With Tom Conway).

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
import sys
27
27
import os
28
28
import common.db
29
 
import getopt
30
 
 
31
 
# Options processing
32
 
def usage():
33
 
    print "listusers.py [OPTIONS]"
34
 
    print "     Gets a list of all users in the IVLE database."
35
 
    print "     Must be run as root."
36
 
    print "     OPTIONS"
37
 
    print "         -h --help       This message."
38
 
    print "         -n --names      Just print usernames."
39
 
 
40
 
justnames = False
41
 
try:
42
 
    opts, _ = getopt.getopt(sys.argv[1:], "nh", ["names", "help"])
43
 
except getopt.GetoptError, e:
44
 
    print str(e)
45
 
    usage()
46
 
    sys.exit()
47
 
opts = dict(opts)
48
 
if "-h" in opts or "--help" in opts:
49
 
    usage()
50
 
    sys.exit()
51
 
if "-n" in opts or "--names" in opts:
52
 
    justnames = True
53
29
 
54
30
if os.getuid() != 0:
55
31
    print "Must run listusers.py as root."
64
40
 
65
41
list.sort(key=lambda user: user.login)
66
42
for user in list:
67
 
    if justnames:
68
 
        print user.login
69
 
    else:
70
 
        print repr(user)
 
43
    print repr(user)