Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cgmb/d2lmf
A command-line tool to help mark assignments submitted to D2L
https://github.com/cgmb/d2lmf
Last synced: 3 months ago
JSON representation
A command-line tool to help mark assignments submitted to D2L
- Host: GitHub
- URL: https://github.com/cgmb/d2lmf
- Owner: cgmb
- License: gpl-3.0
- Created: 2015-10-06T22:58:50.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-01-30T01:03:23.000Z (almost 7 years ago)
- Last Synced: 2024-08-09T03:53:00.571Z (5 months ago)
- Language: Python
- Size: 57.6 KB
- Stars: 8
- Watchers: 5
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# d2lmf
A command-line tool to help mark assignments submitted to D2L## 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:
```bash
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.If you haven't added your local Python bin directory to your path, you may need
to invoke d2lmf as a module, like so:
```bash
python -m d2lmf extract -R "Assignment 1 Download Oct 11, 2015 803 PM.zip" A1/T01
```## How to Install
d2lmf is available through [pip](https://docs.python.org/3/installing/index.html).
If you're running a recent version of Python, you probably already have pip
installed. If not, that's the first step in each of the commands below.After installing, you may want to follow [the instructions](docs/path.md) to
add your local Python bin directory to your PATH.### Ubuntu
```bash
sudo apt-get install python-pip
pip install --user d2lmf
```### OSX
```bash
sudo easy_install pip
pip install --user d2lmf
```### Windows
First, download and install Python from https://www.python.org/downloads/Then, install d2lmf:
```bash
python -m pip install --user 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](http://www.7-zip.org/).
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](http://brew.sh/) with `brew install p7zip`.