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

« back to all changes in this revision

Viewing changes to lib/pulldown_subj/__init__.py

  • Committer: mattgiuca
  • Date: 2008-07-15 09:18:02 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:877
pulldown_subj/__init__.py: Added "enrol_user" function which pulls down a user
    and also enrols them in the database.
Added script enrolallusers.py which scriptulously performs automatic
enrolments of all users in the system, similar to remakeallusers.

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
 
32
32
from subjecterror import SubjectError
33
33
import conf
 
34
import common.db
34
35
 
35
36
def get_subjects(login):
36
37
    """
44
45
            return result
45
46
    return []
46
47
 
 
48
def enrol_user(login, year=None):
 
49
    """
 
50
    Looks up the student in whatever modules are available.
 
51
    The pulldown does not tell us what year to enrol the student for, so the
 
52
    year may be specified (as a string). If unspecified, will enrol in the
 
53
    current year according to the system clock.
 
54
    If successful, enrols the student (in the database) in all subjects in the
 
55
    system. Subjects which the pulldown tells us the student is in, but which
 
56
    are not in the system are ignored.
 
57
    Does not unenrol the student from any subjects.
 
58
    Does not complain if the student is already enrolled in any subjects.
 
59
    Raises a SubjectError if the pulldown module says so.
 
60
 
 
61
    Returns the number of subjects the user was enrolled in (not including
 
62
    subjects outside the system, or subjects already enrolled).
 
63
    """
 
64
    count = 0
 
65
    db = common.db.DB()
 
66
    for subject, semester in get_subjects(login):
 
67
        count += db.add_enrolment(login, subject, semester, year)
 
68
    return count
 
69
 
47
70
# Allow imports to get files from this directory.
48
71
# Get the directory that this module (authenticate) is in
49
72
plugpath = os.path.split(sys.modules[__name__].__file__)[0]