How scwizard/jiangsu-safety-platform-skip works
This is a Python command-line script that automates the Jiangsu university safety education workflow: select a school, log in, complete unfinished course units, take the exam using answers from a local SQLite question bank, and retrieve a completion certificate. The README documents the question-bank approach; sampled code also shows optional usage-stat reporting. Main.py orchestrates the workflow and calls utilities in utils.py. Some utility implementations and the remainder of main.py were not sampled, so only documented or excerpt-visible relationships are shown.
Main entry points: main.py Workflow runner · utils.py HTTP session · database.db Question bank
Components 16
Learning workflow
- Workflow runner
main.py - Course status
main.py - Course completion
main.py - Learning platform
- Certificate retrieval
main.py
Exam and answers
- Exam setup
utils.py - Exam questions
utils.py - Answer matching
main.py - Question bank
database.db - Exam submission
utils.py
Session and reporting
- School selection
utils.py - Account login
utils.py - HTTP session
utils.py - Usage statistics
utils.py - Statistics service
Other components
- Student
Connections 24
- Student → Workflow runner: provides credentials
main.py - Workflow runner → School selection: requests school
main.py - Workflow runner → Account login: authenticates
main.py - Workflow runner → Course status: checks progress
main.py - Course status → Learning platform: requests status
main.py - Workflow runner → Course completion: dispatches unfinished
main.py - Course completion → Learning platform: submits unit work
main.py - Course completion → HTTP session: uses session
main.py - Workflow runner → Exam setup: creates exam
main.py - Workflow runner → Exam questions: fetches questions
main.py - Exam questions → Learning platform: requests exam
- Workflow runner → Answer matching: matches answers
main.py - Answer matching → Question bank: looks up answers
main.py - Workflow runner → Exam submission: submits answers
main.py - Exam submission → Learning platform: posts exam
- Workflow runner → Certificate retrieval: downloads on success
main.py - Certificate retrieval → Learning platform: requests certificate
main.py - Workflow runner → Usage statistics: reports result
main.py - Usage statistics → Statistics service: uploads score
utils.py - School selection → HTTP session: uses session
utils.py - Account login → HTTP session: posts login
utils.py - Exam setup → HTTP session: uses session
utils.py - Exam questions → HTTP session: uses session
utils.py - Exam submission → HTTP session: posts answers
utils.py