How trinity808/tt-scheduler works
Trinity Dropbox Scheduler processes incoming appointment PDFs into reports and an updated daily schedule, then uploads the schedule and moves the source PDFs. Google Sheets helpers form a separate, apparently optional workflow; the excerpts do not show them being called by the scheduler entry point. The README documents operational alerts and overlap protection, while sampled source confirms startup checks, Dropbox operations, extraction, and document generation; unsampled wiring is not inferred.
Main entry points: main.py Scheduler entry · dropbox_api.py Dropbox operations · ongoing_row_mapper.py Ongoing row mapping · template_filler.py Report generation
Components 14
Run control
- Scheduler entry
main.py - Runtime configuration
app/config_loader.py - Health and alerts
app/health_monitor.py
Dropbox exchange
- Dropbox operations
apis/dropbox_api.py - Dropbox
Appointment documents
- PDF data extraction
app/pdf_extractor.py - Report generation
app/template_filler.py - Daily schedule
app/schedule_generator.py - Local DOCX files
Sheets workflow
- Ongoing row mapping
app/ongoing_row_mapper.py - Sheets client
app/sheet_client.py - Google Sheets
- Comment shorthand parser
app/comment_parser.py
Other components
- Run operator
Connections 18
- Run operator → Scheduler entry: starts run
- Scheduler entry → Runtime configuration: loads settings
- Scheduler entry → Health and alerts: checks and alerts
- Scheduler entry → Dropbox operations: lists and downloads
- Dropbox operations → Dropbox: reads files
- Scheduler entry → PDF data extraction: extracts fields
- Scheduler entry → Report generation: fills template
- Report generation → Local DOCX files: writes report
- Scheduler entry → Dropbox operations: checks schedule
- Scheduler entry → Daily schedule: creates or updates
- Daily schedule → Local DOCX files: writes schedule
- Scheduler entry → Dropbox operations: uploads schedule
- Dropbox operations → Dropbox: writes schedule
- Scheduler entry → Dropbox operations: moves processed PDF
- Dropbox operations → Dropbox: moves file
- Ongoing row mapping → PDF data extraction: extracts case data
- Ongoing row mapping → Sheets client: finds and updates rows
- Sheets client → Google Sheets: reads and writes