A solution to Blackboard misery for college students and professors
Project description
Blackboard Unsucked
crummy name for a fix of crummy software
If you are a student or faculty at ODU I'm sure you're no stranger to wasting 2-3 hours a day trying to find or post assignments via BlackBoard.
I am concerned with the student's view, but I hope this experiment can prove useful for professors as well. The goal is to wrap around existing BlackBoard infrastructure and provide a CLI API to access all the important functions which usually are trapped behind 4-5 links and a total 20-30 second browser load time.
Specific Goals
- Login to BB
- List classes for the current semester only (hide irrelevant ones)
- List all announcements
- List assignments for a given class
- This will have to be sort of intelligent as professors put assignments in different places
- Submit files for assignments
- View/Post to discussion boards
- Caching and Daemon operation, to prevent having to hit the network for most data access
Dependencies
Python3 requests
, and BeautifulSoup
, both of which can be
installed via pip3
Usage
The fastest setup is to save a .har
file of a recent Blackboard session someplace,
then run
# Install the package
pip3 install --user bb_unsucked
# Read authentication details from .har
python3 -m bb_unsucked build-cache downloads/my-session.har
# use the __main__.py program to list all of your classes
python3 -m bb_unsucked ls
in a script
the file demo_usage_in_script.py
has more examples, but the hello world is:
import bb_unsucked
bb = bb_unsucked.BBUnsucked()
for my_class in bb.classes():
print(f"I am in {my_class.course_id}")
authentication
To perform the authentication step the most reliable method is to
save a .har
file of a recent blackboard session. bb_unsucked
is
capable of parsing authentication session cookies out of the file recent_request.har
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for bb_unsucked-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b51b8a8d866286fdba36b0b3c2eeb690c07583e2bc3a8f5b9359e42e2749e85 |
|
MD5 | f5c000924f04d95a79589ee0f86c575c |
|
BLAKE2b-256 | b5900372f0fe770f321ded4df14c5b9aed4599de3f383b9f5a37a5cb892e8602 |