Skip to content

Add 2025 grade data#1221

Merged
Jay-Lalwani merged 10 commits intodevfrom
fix_gpa_data
Feb 15, 2026
Merged

Add 2025 grade data#1221
Jay-Lalwani merged 10 commits intodevfrom
fix_gpa_data

Conversation

@jackrhoa
Copy link
Collaborator

@jackrhoa jackrhoa commented Feb 3, 2026

What I did

  • Add grade data for 2025 (Spring, Fall, January, and Summer)
  • Update semester data for 2025 (Spring, Fall, January, and Summer)
  • Update semester data for Spring 2026
  • Modify grade loading script to manually modify first names for specific professors to match first names in SIS to match their grade data to their profiles

Screenshots

  • Before (APMA 2130 profs have no GPA data)
Screenshot 2026-02-05 at 12 58 55 PM Screenshot 2026-02-05 at 12 56 47 PM
  • After (GPA data shown)
Screenshot 2026-02-05 at 12 54 49 PM Screenshot 2026-02-05 at 12 56 23 PM

Specific Professors Modified

  • Before (Robbie Hott has no grade data)
Screenshot 2026-02-03 at 1 16 41 PM Screenshot 2026-02-03 at 1 17 20 PM
  • After
Screenshot 2026-02-05 at 1 00 30 PM

Testing

  • First, load the new semester data (docker exec -it tcf_django bash to access interactive terminal with Docker backend):
    • python3 manage.py load_semester 2025_january
    • python3 manage.py load_semester 2025_spring
    • python3 manage.py load_semester 2025_summer
    • python3 manage.py load_semester 2025_fall
    • python3 manage.py load_semester 2026_spring

Verifying Data Updated

  • After running this command to load 2026 classes, the course MATH 3000 should list the instructors as David Sherman and Roan Luikart. If this page includes To Be Announced, the command was not successful
Screenshot 2026-02-09 at 9 58 13 AM
  • Then, load grade data:

    • python3 manage.py load_grades ALL_DANGEROUS
  • In a local environment, the grade data might not appear if the tcf docker container is not restarted

Questions/Discussions/Notes

  • It is not strictly necessary to update the semester data to use the grade data, but doing so will fix the frequent problem where professors are not listed as having taught a course because their section was added after the initial tcf data was uploaded.
  • This change removes grade data listed under John Hott (Robbie Hott before his name was updated on SIS), but those courses are mostly no longer taught as his name changed 5 years ago. Rich Nguyen has no classes under Nhat, the name listed in grade data.

Summary by CodeRabbit

  • Bug Fixes

    • Improved instructor name normalization to ensure more consistent display of instructor names.
  • Chores

    • Semester data loader now clears existing semester records before reloading and emits progress messages.
    • Container startup now runs semester and grade data loading commands during startup for automated data refresh.
  • Documentation

    • Added a semester-data guide; revised grade-data and useful-commands docs with consolidated fetching/loading instructions and links.

@jackrhoa jackrhoa requested a review from Jay-Lalwani February 3, 2026 18:40
@jackrhoa jackrhoa self-assigned this Feb 3, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 3, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Added two hard-coded instructor name normalization rules in the grade loader; the semester loader now deletes all existing Section records for the target semester before importing; documentation for grade and semester data was added or reorganized.

Changes

Cohort / File(s) Summary
Grade loader
tcf_website/management/commands/load_grades.py
Inserted two hard-coded name normalization rules overriding parsed instructor first names for specific last/first combinations (applied after name extraction, before existing error handling).
Semester loader
tcf_website/management/commands/load_semester.py
Now deletes all existing Section records for the specified semester prior to loading new data; adds console prints indicating deletion and loading.
Startup script
scripts/container-startup.sh
Uncommented/added startup commands to run load_semester for 2026_spring and load_grades with ALL_DANGEROUS during container startup.
Documentation
doc/grade-data.md, doc/semester-data.md, doc/useful-commands.md
Added semester-data.md; expanded and reorganized grade-data.md (fetching, splitting, FOIA notes, link updates); replaced explicit fetch/load blocks in useful-commands.md with a link to the new semester doc and adjusted wording.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐇 I hop through rows and tidy names,
Two gentle tweaks to fix small claims,
I clear old sections, make room to grow,
A startup hum, the pipelines flow—
—signed, your cheerful data rabbit.

🚥 Pre-merge checks | ✅ 1 | ❌ 3
❌ Failed checks (3 warnings)
Check name Status Explanation Resolution
Title check ⚠️ Warning The title 'Add 2025 grade data' is partially related to the changeset but misleading, as the PR also updates 2026 semester data and modifies name normalization logic in the grade loading script—changes not reflected in the title. Revise the title to be more comprehensive, such as 'Add 2025 grade data and update 2026 semester data with name normalization' or similar, to accurately reflect all major changes.
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Merge Conflict Detection ⚠️ Warning ❌ Merge conflicts detected (19 files):

⚔️ doc/grade-data.md (content)
⚔️ doc/useful-commands.md (content)
⚔️ tcf_website/management/commands/load_grades.py (content)
⚔️ tcf_website/management/commands/load_semester.py (content)
⚔️ tcf_website/management/commands/semester_data/csv/2026_spring.csv (content)
⚔️ tcf_website/static/course/course_professor.css (content)
⚔️ tcf_website/static/reviews/new_review.css (content)
⚔️ tcf_website/templates/base/index.html (content)
⚔️ tcf_website/templates/course/course_professor.html (content)
⚔️ tcf_website/templates/qa/qa.html (content)
⚔️ tcf_website/templates/reviews/new_review.html (content)
⚔️ tcf_website/templates/reviews/review.html (content)
⚔️ tcf_website/tests/test_course.py (content)
⚔️ tcf_website/tests/test_review.py (content)
⚔️ tcf_website/urls.py (content)
⚔️ tcf_website/views/__init__.py (content)
⚔️ tcf_website/views/browse.py (content)
⚔️ tcf_website/views/review.py (content)
⚔️ tcf_website/views/team_info.json (content)

These conflicts must be resolved before merging into dev.
Resolve conflicts locally and push changes to this branch.
✅ Passed checks (1 passed)
Check name Status Explanation
Description check ✅ Passed The description includes comprehensive details: objectives (grade data for 2025, semester data updates, professor name modifications), testing steps, before/after screenshots, and notes. However, it lacks the 'GitHub Issues addressed' section from the template.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix_gpa_data

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jackrhoa jackrhoa changed the title Match specific profs in grade loading script Add 2025 grade data Feb 5, 2026
@Jay-Lalwani Jay-Lalwani merged commit 2ef2974 into dev Feb 15, 2026
3 of 4 checks passed
@Jay-Lalwani Jay-Lalwani deleted the fix_gpa_data branch February 15, 2026 19:55
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.

2 participants