Giter Club home page Giter Club logo

blackboard-course-downloader's Introduction

BlackBoard Course Downloader

GitHub release GitHub issues GitHub stars

Python script to navigate a Black Board Learn sites API.

Currently only supports basic Black Board Course, Content and Attachment navigation


Features

  • Download Course Content

Setup

Using Source (All Commands are Executed in the Command Line or Terminal)
  1. Clone this repository.
  2. Have Python 3 installed
  3. Install required modules using pip install -r requirements.txt or python -m pip install -r requirements.txt
  4. Navigate to downloaded repository and run command python main.py
Using Release (Windows Only)
  1. Download the Latest Release
  2. Run downloaded executable

Launch Arguments

-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               (Not Implemented)
-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)

Using The Program

When you launch the program it will prompt you for your login credentials for your Institution:

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

  2. The next prompt will be for your password. (This will not show input when you enter a character)

    Input Password: < Enter Password Here >

  3. 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 ]:

  4. If you are successfully logged in you will then be shown a list of courses to chose from.

    Sample Output (Layout is still a work in progress) image

    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

    Sample Output (Layout is still a work in progress) image

    1. If Get Content is selected the console will output a sub-selection of the child elements of the course

      image

      When 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)

      image

      1. 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)

      2. Selecting Get Attachments will output a sub-selection of all possible attached files to download.

        image

        When an attachment is selected the console will once again clear and show two options:

        1. Download which will download the attachment then navigate back to the parent element
        2. Back which will just go back to the parent element

        image

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


License

Full license here

This project is licensed under the terms of the MIT license.

blackboard-course-downloader's People

Contributors

kraftbar avatar timenglart avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.