totalem.py
totalem.py is a batch script for collecting a students *.grd
files and generating an email file for each student.
Actual mailing is done by mailem.py,
thereby providing an opportunity to review and revise the grading.
totalem.py takes as arguments a list of student directory names.
Typical usage is:
totalem.py *
or
totalem.py userid
where userid is a student"s userid.
Notes
- If no arguments are given, a usage message is printed and the
script exits.
- If any argument is not a directory name in the current working
directory, it is skipped.
- To determine grading categories, the script reads the
configuration file key.cfg; if the file does not
exist, the script prints an error message and quits.
- The
*.grd files are collected for each student, in the order
determined by the key.cfg file. Not all such files
need be present. For example, the testing script may generate
a late file only if late penalties are to be incurred.
- The
*.grd files are converted to HTML sections with headers
at the start of each category. The last section contains the students
grade.
- Each mark is replaced by the point deduction and explanation as
it exists in the key.cfg file, not as it exists in
the graded work; this is an instance of late binding. It allows the
point deduction and explanation to be freely changed without remarking
students work. Only the file to be graded (category) and tag are used.
- If no errors occur, the students file userid/userid.html
is generated. Otherwise, an error message is written.
- Lastly, a file named userid/userid.grd is constructed
containing: the students grade and a list of marks applied.
Robert Noonan
Mar 7, 2006