-
Notifications
You must be signed in to change notification settings - Fork 0
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
Eric / Implemented Script For Automating Email Outreach Information #923
Conversation
[diff-counting] Significant lines: 434. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making such a speedy PR, it looks really good so far and the formatting for the csv seems to work out for most cases! I think other filter ideas could be setting the location to Ithaca instead of Cornell Tech, and some of the class levels could probably be lower since the 4000s tend to be research/project courses.
One other small note, in general when making branches, I'd suggest naming them like 'eric/"your task here"'
…taught by same Prof - Implemented filters for academic support, project, research, independent studies - Compiled only courses at Cornell Ithaca Campus - Combined courses taught by same professor to prevent duplicate emailing - Lowered class level to below 4k
- Added blacklist courses - Added documentations to methods
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Logic + csv file looks good, great work finishing up this PR! Before merging, just add INFO/CS 4152 to the blacklisted courses and the word "Thesis" to irrelevant_courses, I think that'd be useful for one last filtering edit
Summary
UPDATE 2:
Added the additional column 'Has course/professor use QMI before' to the output CSV file
scripts/tracker
folder calledpast_semester.csv
As documented the code for the status of columns are as follows:
Implementation Logic:
Return -1 if the course is not tracked in spreadsheet.

UPDATE:
Additional Filtering Logic implemented:
I still kept the bar for class level for <5000 because some 4k classes still has high demand for OH. Filtered out the Independent Research and PRJ instead.
From Nidhi's Comment regarding the Professor teaching multiple courses, it would happen under 2 cases:
A check is implemented to combine these courses into one like below:
This PR focuses on implementing a script to automate and compile all the course informations (Course Number, Professors, Emails, etc) into a csv file. The data are fetched from the class roster API to retrieve the JSON files for all the relevant courses that QMI is tracking.
API URL: https://classes.cornell.edu/api/2.0/config/rosters.json

Note: The semester rosters are sorted in chronological order with the last element being the most recent SP25
Supply the appropriate URL parameters to get the corresponding data (e.g specify the subject)


NOTE: Class roster API does not supply the total class size of the course, so we are unable to filter with this property. Researched Course-Grab github repo, but its seems like they are only fetching the status code (open, closed, waitlist) of the courses instead of class sizes. Thus, course grab does not apply to our use case. An alternative is to webscrape from Student Center, but this is extremely difficult to implement as I had experimented already.
This only compiles the csv with the subjects courses we discussed, did not implement much of the filtering logic (only filtered out some graduate courses)
Test Plan
Tested locally via the terminal and verified that contents are written to the output csv file

Notes
Breaking Changes
None