Socket
Socket
Sign inDemoInstall

canvas-unzipper

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

canvas-unzipper

A CLI tool for unzipping Canvas submissions.


Version published
Weekly downloads
2
decreased by-66.67%
Maintainers
1
Weekly downloads
 
Created
Source

Canvas Unzipper

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
└── ...

Installation & Usage

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

Important Notes

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:

  • Two students have the same first name and last name.
  • A student has a "_" in their name.

FAQs

Package last updated on 05 Apr 2021

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc