Python script to navigate a Black Board Learn sites API.
Currently only supports basic Black Board Course, Content and Attachment navigation
- Download Course Content
- Clone this repository.
- Have Python 3 installed
- Install required modules using
pip install -r requirements.txt
orpython -m pip install -r requirements.txt
- Navigate to downloaded repository and run command
python main.py
-v, --version Displays Application Version Default: False
-g, --gui Use GUI instead of CLI Default: False (Not Implemented)
-m, --mass-download Download All Course Documents Default: False
-u, --username Username to Login With Default: None
-p, --password Password to Login With Default: None
-s, --site Base Website Where Institute Black Board is Located Default: None
-l, --location Local Path To Save Content Default: './'
-c, --course Course ID to Download Default: None
-r, --record Create A Manifest For Downloaded Data Default: True
-b, --backup Keep Local Copy of Outdated Files Default: False
-V, --verbose Print Program Runtime Information Default: False (Not Implemented)
-C, --config Location of Configuration File Default: './config.json'
-i, --ignore-input Ignore Input at Runtime Default: False (Not Implemented)
-t, --threaded Allows For Mass Downloads to Run in Multiple Threads Default: False
-n, --num-threads Sets the Maximum Number of Threads to Download With Default: 4 (4 Concurrent Downloads)
When you launch the program it will prompt you for your login credentials for your Institution:
-
The first prompt is your your username. This will be what you usually use to login to your account. (The square brackets indicate what will be placed in the field if left blank) > Input Username [ ]: < Enter Username Here >
-
The next prompt will be for your password. (This will not show input when you enter a character)
Input Password: < Enter Password Here >
-
The final login prompt will be for your Institutes base learn URL. If you are unsure about the URl enter 'c' to search for your institute.
Enter Black Board Host Website [ [ ] or 'c' to Search ]:
-
If you are successfully logged in you will then be shown a list of courses to chose from.
By entering a number shown within the square brackets the program will then attempt to get the given course data from either the Rest API (or BlackBoardMobile API). This will then output a new selection asking whether you want to get the child contents of the course or download all attachments within the course
-
If
Get Content
is selected the console will output a sub-selection of the child elements of the courseWhen a child element is selected the console will clear and show all of the child elements of the course (similar to the the child content output)
-
Selecting
Get Child Attachments
will output a sub-selection similar to the previous menu listing all possible child elements to access (Will show error message and navigate back if not child content is found) -
Selecting
Get Attachments
will output a sub-selection of all possible attached files to download.When an attachment is selected the console will once again clear and show two options:
-
-
If
Download All Content
is selected the program will then iterate through all the elements of the course and its children and download all attachments (while Emulating the Blackboard Folder Structure) and print the filename when the download of that file is finished
-
Full license here
This project is licensed under the terms of the MIT license.