Research: find a source for class rooms (SOC events only have the campus) #86

Open
opened 2026-10-03 19:44:45 +00:00 by jalenluorion · 0 comments
Member

What's wrong
Column 7 of the public SOC layout page is the campus, not the room, so every SOC event's location is a campus. In a Fall 2026 dry parse, 4,850 of 5,190 events say "Pittsburgh, Pennsylvania"; the rest are Doha, Kigali, San Jose, New York and DC.

How to reproduce
cd api && python -m scraper.scripts.export_soc --semester Fall_26 --dry-run, and print location for a few events from build_events_and_rrules().

Expected
This issue is research only. Write up in a comment whether a source with building and room exists, for example the SOC search results or a "with room" view, Stellic, or another ScottyLabs dataset. For each: is login needed, is it allowed to scrape, how often does it change, and what does it give for 10 sample courses.

Where to look

  • api/scraper/monitors/academic/schedule_of_classes.py L194-197 (where location comes from).
  • api/scraper/helpers/timezone.py: the timezone is derived from the campus string, so a room would need a separate campus field.
  • location is part of the event identity (events_unique_soc, api/scraper/helpers/event.py), so switching to rooms would insert new events instead of updating the old ones. Any plan must handle that.
  • Line numbers are from main at 2c5f2e9.

Done when

  • a comment here comparing the candidate sources, with a recommendation
  • if one works, a follow-up implementation issue that handles the identity change
**What's wrong** Column 7 of the public SOC layout page is the campus, not the room, so every SOC event's `location` is a campus. In a Fall 2026 dry parse, 4,850 of 5,190 events say "Pittsburgh, Pennsylvania"; the rest are Doha, Kigali, San Jose, New York and DC. **How to reproduce** `cd api && python -m scraper.scripts.export_soc --semester Fall_26 --dry-run`, and print `location` for a few events from `build_events_and_rrules()`. **Expected** This issue is research only. Write up in a comment whether a source with building and room exists, for example the SOC search results or a "with room" view, Stellic, or another ScottyLabs dataset. For each: is login needed, is it allowed to scrape, how often does it change, and what does it give for 10 sample courses. **Where to look** - `api/scraper/monitors/academic/schedule_of_classes.py` L194-197 (where location comes from). - `api/scraper/helpers/timezone.py`: the timezone is derived from the campus string, so a room would need a separate campus field. - `location` is part of the event identity (`events_unique_soc`, `api/scraper/helpers/event.py`), so switching to rooms would insert new events instead of updating the old ones. Any plan must handle that. - Line numbers are from main at 2c5f2e9. **Done when** - [ ] a comment here comparing the candidate sources, with a recommendation - [ ] if one works, a follow-up implementation issue that handles the identity change
jalenluorion added this to the CMUCal project 2026-10-03 19:45:09 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
ScottyLabs/cal#86
No description provided.