Bart Massey 2023
These are janky half-finished tools for downloading an assignment from Canvas that is presumed to be one ZIP file per submission, unpacking that locally, then allowing local grading. At the end, the grade results are uploaded to Canvas.
Thus is SpeedGrader avoided.
- https://canvas.pdx.edu/profile/settings to generate Canvas API token
- Store Canvas API token in ~/.canvastoken
- Clone
canvasgrader
fork http://github.com/BartMassey-upstream/canvasgrader (for now) and runpip install .
-
Go to https://canvas.pdx.edu//students and copy-paste the JSON found there into
students.json
(gross, will fix later) -
Download a zipball of the HW from Canvas.
-
Run
unpack-hw.py --hw <assignment name> <zipball>
-
For each directory in
staged/
:- Edit
GRADING.txt
. Make sure to replace the-
with a score. - Move directory from
staged/
tograded/
- Edit
- Find course ID in course URL
- Find assignment ID in assignment URL
- Run
upload-grades.py <courseid> <asgid>
Thanks to the authors of the Python canvasgrader
package
for making this all possible.
This work is licensed under the "MIT License". Please see the file
LICENSE.txt
in this distribution for license terms.