IDEA9103 Marking Helper

Dependencies

Shell

  • unzip: for unzipping zip files

Python

  • flask
  • requests
  • Wow, I thought there were more than that
$ pip3 install --user flask requests

Setup

This script requires that you have the submissions downloaded as a zipfile from Canvas, and saved as submissions_idea.zip. You can find them here, under Download Submissions.

The server requires student files in the following format:

extracted_idea/
 ├─[extracted submission folder]
 │ └─[here be dragons]
 ├─[extracted submission folder]
 │ └─[here be dragons]

This can be generated by running the following command in terminal:

$ ./extract.sh

It also requires the following files:

  • sids: An optional list of SIDs to show, one SID per line. Paste your marking allocations in here, using your favourite text editor (Vim, of course).
  • token: Your Canvas token. Make one here and paste it into this file.

Usage

Once the submission file has been extracted start the server in terminal

$ python3 server.py

Navigate to localhost:5000. HTTPS isn't supported because Flask, this might cause annoyances with permissions on Firefox so best to use Chrome. You can enable HTTPS in Flask if any issues with it come up, so let me know if you want to do that.

Other stuff

Some submissions might not load. Probably best to have the console open, like, all the time, so you can see if something fails.

By default, all submissions have the following libraries enabled:

  • p5.js
  • p5.dom.js
  • p5.sound.js
  • dat.gui.min.js
  • p5.geolocation.js
  • p5.easycam.min.js

If you need more, edit the file fixed_index.html and add them there. This will likely require you to do pretty much the hardest reload you can do in your browser - open DevTools in Chrome, right click on the browsers' reload button, and hit Empty Cache and Hard Reload.

There's a list of every single unique script include in the file includes.html, so you can just copypaste them from there.