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.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 584cb2a5c0ee658346f3d341931e187f59fba95c4cca2d72e062689bc80620c9 |
|
MD5 | 313cf9ba811c8a0e89a66c3240abd54d |
|
BLAKE2b-256 | 92eeb0b358f92734768440ceb122f2b3515038b3028390c6b6fecc0d367449cc |