Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
canvas-unzipper
Advanced tools
When you download a zip of student work submissions for an assignment on Canvas, it gives you a zip that contains student work as a bunch of loose files. I have my students turn in a zip and a screenshot for most projects, so I get something like:
submissions.zip
├── smithbob_340934_208490284_BobsWork.zip
├── smithbob_340934_208490284_BobsScreenshot.png
├── wellslane_334244_394803489_MyAssignment.zip
├── wellslane_334244_394803489_MyAssignment.png
├── wellslane_334244_394803489_MyAssignment1.png
├── wellslane_334244_394803489_MyAssignment2.png
└── ...
This tool unzips the submissions and places each student's work into a directory. If a student submitted a zip, it will also unzip that students work. The previous example would be turned into:
output/
├── smithbob
│ ├── smithbob_340934_208490284_BobsWork
│ │ ├── file1.html
│ │ ├── file2.html
│ │ └── ...
│ └── smithbob_340934_208490284_BobsScreenshot.png
├── wellslane
│ ├── wellslane_334244_394803489_MyAssignment
│ │ ├── file1.cs
│ │ ├── file2.txt
│ │ └── ...
│ ├── wellslane_334244_394803489_MyAssignment.png
│ ├── wellslane_334244_394803489_MyAssignment1.png
│ └── wellslane_334244_394803489_MyAssignment2.png
└── ...
Make sure you have node & npm installed, and then run:
npm install -g canvas-unzipper
Alternatively, you can run the command without installing globally. Just use npx canvas-unzipper
in place of canvas-unzipper
in the instructions below.
If you've got a zip download from Canvas, you can run:
canvas-unzipper path/to/submissions.zip path/to/desired/output
Help info:
canvas-unzipper [options] <pathToStudentWorkZip> <pathToOutputUnzippedWork>
canvas-unzipper
Arguments:
pathToStudentWorkZip Path to a downloaded submissions zip from Canvas
pathToOutputUnzippedWork Path to output the unzipped and organized student work
Options:
-V, --version output the version number
-v, --verbose Output extra verbose information while unzipping student work.
-h, --help display help for command
This tool looks at the files in the download and tries to identify students from the file names. In a zip download from canvas, the files are named like this:
wellslane_334244_394803489_MyAssignment2.png
Where the convention is:
[LastNameFirstName]_[SomeID]_[SomeOtherID]_[StudentOriginalFileName]
This tool simply splits the file on "_" and uses the first part as their name. This will likely not work correctly if:
FAQs
A CLI tool for unzipping Canvas submissions.
The npm package canvas-unzipper receives a total of 1 weekly downloads. As such, canvas-unzipper popularity was classified as not popular.
We found that canvas-unzipper demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.