Code Monkey home page Code Monkey logo

unimelb-confirm-results's Introduction

confirm.py

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.

Assumptions and prerequisites

  1. You have Python 3+ installed on your computer.
  2. You have access to a terminal emulator on your computer.
  3. You have the CSV file with the marks that you submitted (a fictitious example is provided in this repository).
  4. 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).
  5. (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.

What to do

If you have successfully verified assumptions 1-4 listed above, you proceed as follows.

  1. Clone this repository onto your computer, or simply download only confirm.py from this link.
  2. Copy the file confirm.py, your CSV file with the marks, and the copied-and-pasted text file, into the same directory.
  3. 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).

How to interpret the output

  • 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.

unimelb-confirm-results's People

Contributors

aghitza avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.