How diwan233/gzvtc-course-grab works
This is a command-line course-registration retry script for Guangzhou Vocational College, not a general platform. The principal workflow loads settings, restores or creates a session, waits for the selection window, fetches courses, builds a keyword-rotated pool, and repeatedly submits selections until the configured success condition is met. The single runtime file also contains HTTP/retry and pool-policy layers. The tree and sampled source expose only main.py as runtime code; capability-level nodes reflect README documentation, so uncertain internal call wiring is omitted.
Main entry points: main.py Run loop
Components 17
Registration workflow
- CLI entry
main.py - Run loop
main.py - Settings
main.py - Window probe
main.py - Selection attempts
main.py - Target progress
main.py - Selection check
main.py
Portal client
- Session setup
main.py - Cookie cache
- Course loading
main.py - Welcome gate
main.py
Pool policy
- Pool builder
main.py - Vacancy ranking
main.py - Response policy
main.py
Other components
- Student
- Student portal
- CLI output
Connections 22
- Student → CLI entry: runs
- CLI entry → Settings: loads
- CLI entry → Run loop: starts
- Run loop → Session setup: ensures session
- Session setup → Cookie cache: reads/writes
- Session setup → Student portal: logs in
- Run loop → Window probe: checks window
- Window probe → Student portal: probes page
- Run loop → Course loading: loads courses
- Course loading → Student portal: requests list
- Course loading → Welcome gate: detects gate
- Welcome gate → Student portal: passes gate
- Run loop → Pool builder: builds pool
- Pool builder → Vacancy ranking: ranks classes
- Run loop → Selection attempts: attempts classes
- Selection attempts → Student portal: submits selection
- Selection attempts → Response policy: classifies response
- Run loop → Target progress: updates targets
- Selection attempts → Selection check: checks success
- Selection check → Student portal: refreshes list
- Run loop → CLI output: reports status
- CLI entry → CLI output: prints results