mark-sim / learnCLI

Command Line Interface of University of Waterloo's Desire2Learn LMS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LearnCLI : A command line tool for Learn

LearnCLI is a python application that allows you to access Learn from a command line. It's easy to view your grades (including feedbacks) and you can also download course contents. Additionally, LearnCLI can be used to automatically download course contents and drop it to your Dropbox.

LearnCLI was inspired by Stephen Holiday's Desire2Download

Requirements

Installation

Clone this repository then run

python setup.py install

from the root repository or,

pip install dropbox
pip install selenium

Configuration

There are some required configuration if you want to use the Dropbox feature.

Dropbox Access Token

  • Go to Dropbox Developers and get your access token. More information can be found here
  • Copy and paste the access token to /d2d.auth

Download Directory

  • Set download.default_directory = AnyDownloadDirectoryFullPath in /d2d.config

Usage

Go to /src/ directory then run:

python -W ignore __main__.py -u username -p password

List of Available Commands in CLI

Parameters Description
h help
q quit
ls list all files in current directory
cd change directory
d2d downloads specified file and drops it to your dropbox (Regex supported)

d2d Command Example

d2d command supports regex which allows you to easily upload files to your Dropbox without having to specify each files one by one.

d2d *: Download and upload all files

d2d ^S*: Download and upload all files starting with S

d2d lecture: Download and upload all files containing "lecture"

d2d lecture1, lecture2: Download and upload all files containing "lecture1" and "lecture2"

More information on regex can be found here

Example

python -W ignore __main__.py -u username -p password

Logging in to https://learn.uwaterloo.ca
Logged in.

List of available commands:
- h: help
- q: quit
- ls: list all files in current directory
- cd: change directory
- d2d: downloads specified file and drops it to your dropbox (Regex supported)
       
List of all the courses:
- Math Undergraduate Students
- PD 8 Online - Spring 2018 – 081/082/083
- WKRPT 300M - Spring 2018

>>> cd PD 8 Online - Spring 2018 – 081/082/083
>>> ls

Files in current directory:
- Content
- Grades

>>> cd Grades
-------------------------------------------------
Assignment 1
18 / 20
18 / 20
90 %
Individual Feedback
Good start Sung! You included some important factors contributing to intercultural 
differences and biases. However, you needed to include more detail and explanation 
to make your response stronger. Be sure to include references where needed, Step 1
in this case, to relate to the course content. For step 2, you pointed out some 
very relevant assumption made through cultural biases. Including more detail to 
your response would of the methods to avoid these biases would have made your
answers more wholesome.
-------------------------------------------------
Assignment 2
16 / 20
16 / 20
80 %
Individual Feedback
Great start Sung! You included some interesting aspects of your family values which
needed to be elaborated upn in Part 1 of your response. You included a good example 
for Question 3 in part 1 but more detail was required to receive full marks. 
For part 2, you included some relevant ideas and concepts but a stronger explanation 
and connection to the course content was required. Also you did not mention which two 
questions you were answering to.
-------------------------------------------------
...
>>> cd ..
>>> cd ..
>>> cd Math Undergraduate Students
>>> cd Content
>>> ls

Files in current directory:
- ACTSC Waitlist
- 201213PROGRAMBrochure-1-acting
- SuccessCoachingWorkshopsWinter2014
- TutorConnectPoster-2
- StudySessionsPosterWinter2014
- exam drop-in Math TC

>>> d2d ^S*
Dropping C:/Users/USER/Desktop/temp/SuccessCoachingWorkshopsWinter2014.pdf to Dropbox
Dropped C:/Users/USER/Desktop/temp/SuccessCoachingWorkshopsWinter2014.pdf to Dropbox
Dropping C:/Users/USER/Desktop/temp/StudySessionsPosterWinter2014.pdf to Dropbox
Dropped C:/Users/USER/Desktop/temp/StudySessionsPosterWinter2014.pdf to Dropbox

Future Updates in mind

  • Implement another command to download files every 12 hours (time can be configurable)
  • Implement another command to export Learn calendar to a .ics file.

Also LearnCLI hasn't been tested extensively. If you find a bug or have a feature you'd like, please let me know

About

Command Line Interface of University of Waterloo's Desire2Learn LMS


Languages

Language:Python 100.0%