Import club events from TartanConnect #70
Labels
No labels
bug
chore
data
feature
frontend
good first issue
intermediate
needs/docs
needs/research
needs/upstream
type/bug
type/external
type/feature
type/refactor
urgency
high
urgency
immediate
urgency
low
urgency
medium
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
ScottyLabs/cal#70
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Most club events live on TartanConnect. Importing them puts club life on the same calendar as classes, which is the core of the vision.
Current state
api/scraper/monitors/career_club/tartanconnect.py(TartanConnectScraper). It callsmobile_ws/v17/mobile_events_list, which needs no login (checked Oct 3: HTTP 200, 860 events listed).limit=300only, parses the JSON by string splitting instead ofjson.loads, and builds the RSVP link but throws it away. Many locations come back as "Private Location (sign in to display)".scrape()writes through the legacyupdate_database, andscrape_data_only()duplicates all of it.api/scraper/exporters/tartanconnect_export_to_excel.py), with no Supabase export script.Scope
json.loads, skip separator rows (listingSeparator == "true"), and page throughrangeuntil all events are fetched.eventId, the RSVP URL (source_url), host club, categories and times (America/New_York).api/scraper/scripts/export_tartanconnect.pymodeled onexport_soc.py:--dry-run, agent run, upsert oneCLUBorg per host (upsert_orgs, conflict on name), one category per org,insert_eventswithevent_typeCLUB, then regenerate occurrences. Factorregenerate_occurrencesout ofexport_soc.pyinstead of copying it.tartanconnectto thescrape.ymlsource choices.api/tests/scraper_monitors/.Done when
Notes
Club orgs match on name, so pilot clubs created by hand will merge with their TartanConnect org. Check spelling before the prod run.