This is a simple script that helps automate the mindbogglingly dull and error-prone process of verifying the submission of student results at the University of Melbourne.
- You have Python 3+ installed on your computer.
- You have access to a terminal emulator on your computer.
- You have the CSV file with the marks that you submitted (a fictitious example is provided in this repository).
- You have copied-and-pasted into a plain text file the student rows from the result confirmation webpage, starting just before the student id of the first student row and ending at the end of the last student row (a fictitious example of this is also provided).
- (Not really under your control) Melbourne Uni has not changed too drastically the format of the CSV files for submitting results, nor the format of the result confirmation webpage. This version of the script has last been checked to work for semester 1, 2024.
If you have successfully verified assumptions 1-4 listed above, you proceed as follows.
- Clone this repository onto your computer, or simply download only confirm.py from this link.
- Copy the file
confirm.py
, your CSV file with the marks, and the copied-and-pasted text file, into the same directory. - In the terminal and the directory with these files, run
python confirm.py -l NAME_OF_LOCAL_CSV_FILE -r NAME_OF_REMOTE_TXT_FILE
Optionally, add a -v
argument to have the script print all the rows as it checks them (otherwise, default behaviour is to only print conflicts, if any exist).
- No news is good news: if there is no output then the two files contain the same information.
- Conflicts (where a student appears on both lists but with different marks) are reported.
- Students on the remote list that are missing from the local list are reported.
- Students on the local list that are missing from the remote list are reported.
That's all.
I tested this on some Linux machines and a MacBook. The code is not using anything operating-system-specific though, so it should work on anything capable of running Python.