-
Notifications
You must be signed in to change notification settings - Fork 12
fix(degreeworks-scraper): filter valid course unit requirements #286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
HwijungK
wants to merge
7
commits into
main
Choose a base branch
from
fix-unit-req
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…cking to see if course is possible when it can be taken for varying unit count
Member
|
send diff on what programs change requirements after this and why that's correct thank you very cool |
laggycomputer
requested changes
Jan 4, 2026
laggycomputer
requested changes
Jan 8, 2026
apps/data-pipeline/degreeworks-scraper/src/components/AuditParser.ts
Outdated
Show resolved
Hide resolved
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Processed the
withArrayproperty which may come with each course/course range when scraping DW. within the withArray may be a element specifying that the course must have a certain amount of units. TheAuditParserwill now filter out courses that will never meet the requirement. Courses that can be taken for variable units are included if the said course can theoretically be taken for a valid amount of units.Future Issues:
withArraycontains more specifications other than course units. specifications include:DWCREDIT(S) - number of units a class is taken for, used to modify ranges of courses or specify units chosen when a course can have varying units
DWTERM - taken before or after a certain term (i.e Fall 2025), probably used when degree requirements change, but people who have already taken a course that used to apply get a pass
DWTITLE - qualifiers for a course (com lit 107 with a focus in Middle East for Armenian Studies Minor or course in BME 1@@ that is “upper-div” in MechE (not sure why being > 100 doesn’t automatically mean upper div?)). Also, many east asian language/culture degrees have DWTITLE “<>” “[Placement@, Excempt@]”. Not sure what this means.
DWLOCATION - only found in upper div writing wher “DWLOCATION “<>” “T” - not sure what that means. Maybe its saying it has to be a upperdiv writing course corresponding to the major?
Full Log of which degrees are effected by a withArray
Most of these codes specify that a course may or may not be taken for a requirement, depending on certain conditions. We should find a way to convey this when returning degree requirements but this likely is breaking change
Related Issue
#270
Motivation and Context
our Degree Requirement endpoints were returning incorrect courses that cannot be used to fulfill a requirements.
How Has This Been Tested?
ran scraper locally and insured courses were being correctly filtered in requirements that contained withArray.
scraped and logged every major, minor, and specialization that had a
withArraywith aDWCREDIT/DWCREDITScode and tested that the correct courses were returned in requirements with varying operations (<, =, >, >=) from varying degrees (minor, major, spec). Additionally, had script to log all wrong courses found (not including those in exceptions, but theres only 1 of those and it was checked manually)Screenshots (if appropriate):
manual checking notes

some automated testing

Types of changes
Checklist: