Metadata-Version: 2.0
Name: d2lmf
Version: 0.0.6
Summary: A command-line tool to help mark assignments submitted to D2L.
Home-page: https://github.com/cgmb/d2lmf
Author: Cordell Bloor
Author-email: cgbloor@ucalgary.ca
License: GPLv3+
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: End Users/Desktop
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Education
Requires-Dist: patool (>=1.9)

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:

.. code:: bash

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

This extracts the submissions from the zip folder into the directory
``A1/T01``. 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. Cool!

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

.. code:: bash

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

How to Install
--------------

Ubuntu
~~~~~~

.. code:: bash

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

OSX
~~~

.. code:: bash

    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 2.7 from
https://www.python.org/downloads/

Then, install d2lmf with the command below:

.. code:: bash

    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 <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``.

Release Status
--------------

This software is in beta. There may be bugs, and the interface may
undergo significant changes between releases.


