Skip to content

Conversation

@alfredzimmer
Copy link

I've refactored the parsing system to correctly handle cases where a single lecture has multiple rooms.

Note on Database Changes:
Since this PR includes a schema migration and I don't have extensive experience with database changes, I’ve opened this as a draft PR to proceed with caution. I would appreciate a thorough review of the SQL and migration files to ensure there are no issues.

@alfredzimmer
Copy link
Author

Links to #171

@AD1938 AD1938 self-requested a review January 13, 2026 18:35
@AD1938
Copy link
Member

AD1938 commented Jan 13, 2026

Please include information about:

  1. a brief overview of what the code is doing
  2. how you tested your changes (so that I can test on my side), with some evidence (screenshots / logs / screen recordings)

This will make it easier to review, thanks :)

@alfredzimmer
Copy link
Author

This PR fixes an issue where classes with multiple locations were not being parsed and also adds the feature that the generated ics file would contain location information for respective classes.

Changes

  1. Updated parse.go to handle multiple locations for a single class.
  2. Added a location column to the user_schedule table to persist the data.
  3. Updated the export logic to extract location from database to ics file.
  4. Added script/test_calendar_export.sh to generate ics file for testing.

Testing

  1. Run make test to see unit test for parse_test.go.
  2. Run script/test_calendar_export.sh after dev env is set. And try loading the ics file at the working directory into arbitrary calendar software.

@alfredzimmer
Copy link
Author

Screenshot 2026-01-20 at 9 50 51 PM

On my side, the imported ics file would look like this in the screenshot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants