Skip to main content

Motivation

It’s frustrating dealing with the zip files full of assignment submissions that you get from D2L.

  • Merging all of a student’s submissions into a single folder is tedious.

  • Navigating submissions on the command line sucks, because each directory name starts with a long number.

  • Extracting all the zip files, tar archives, and 7z archives that students submit adds a needless extra step to marking.

I’ve found this tool useful for eliminating those annoyances, and I hope you will too.

How to Use

This is the most common command I use:

d2lmf extract -R "Assignment 1 Download Oct 11, 2015 803 PM.zip" A1/T01

It extracts the submissions from the zip folder into the directory A1/T01. The -R option makes it run all the recommended cleanup actions on the submissions, and is equivalent to using -x, -j, -c and -m.

The -x specifies that we want to extract any zip, rar, tar, or 7z archives that students submitted. The -j deletes ‘junk’ like .DS_Store. The -c collapses needlessly nested directories. Finally, the -m merges all submitted files into a single directory for each student.

On Windows, you may need to invoke d2lmf as a Python module, like so:

python -m d2lmf extract -R "Assignment 1 Download Oct 11, 2015 803 PM.zip" A1/T01

How to Install

Ubuntu

sudo apt-get install python-pip
sudo pip install d2lmf

OSX

curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
sudo python get-pip.py
sudo pip install d2lmf

Windows

First, download and install Python from https://www.python.org/downloads/

Then, install d2lmf with the command below:

python -m pip install d2lmf

Dependencies

The extraction of rar and 7z archives depends on external tools. If you do not have a rar or 7z utility installed, those archives will be skipped.

On Windows, I suggest installing 7-Zip. On Ubuntu, p7zip is the equivalent, and it can be installed with sudo apt-get install p7zip-full. p7zip is also available for OSX, and can be installed from homebrew with brew install p7zip.

Metadata

Release files for d2lmf 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for d2lmf 1.0.0
File Size Uploaded
d2lmf-1.0.0.tar.gz 19.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for d2lmf 1.0.0
File Interpreter ABI Platform
d2lmf-1.0.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 28.2 kB

Release files / d2lmf-1.0.0.tar.gz

Download URL d2lmf-1.0.0.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
532d8bab219bbfc2f435e5734e40c03765494e95a687458d577d6c4a42830c6b
BLAKE2b-256 checksum
How to use checksums
816903a4a71c89da89b7e9a1edbeb9533e56367e17f73b01ab15e8ca591959b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / d2lmf-1.0.0-py2.py3-none-any.whl

Download URL d2lmf-1.0.0-py2.py3-none-any.whl
Size 9.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
5e4ccf5274776f1dd916b4f31e2c1e2a7103d53bfb758d05c98c268436ca3a43
BLAKE2b-256 checksum
How to use checksums
820a1b674c054186060071e67b3344d204111c160965bdceae81a68e91ec4f21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page