jyn514 / GradeForge

Courses available from my.sc.edu
GNU General Public License v3.0
1 stars 0 forks source link

organize registration dates by term, not semester #20

Closed jyn514 closed 6 years ago

jyn514 commented 6 years ago

this is the reason that parse_semester currently barfs all over the terminal; it assumes semesters are the same for each class and gives a (loud) warning if this is not true. it should instead assume terms are all the same.

example: first-semester fall 2013 is a unique term (where all fields are the same), but fall 2018 is not, because you could have either first- or second- half semester classes

jyn514 commented 6 years ago

reconsidering semesters at all, the only common attribute is registrationEnd, we may as well make it a part of term

jyn514 commented 6 years ago

aggggh - the term is not actually a part of the info sent by the server. We do have the semester, maybe we could have the first and last start dates as columns in the semester and infer terms from there? (i.e. starts on first day, must be first half; ends on last day, must be second half; does both, must be full term)

jyn514 commented 6 years ago

not on section link either

jyn514 commented 6 years ago

this will work. If we use a set instead of dictionary (i.e. no primary key), we just add every term from every section and hope that most are duplicates.

We need a primary key to link sections back to term. We'd have to make an arbitrary key, the same way SQLite does ROWID

jyn514 commented 6 years ago

As an alternative, the school separates by term internally, they just don't send the info over the web. We could download one class from each term and see what the dates are there, then download in bulk.

The downside to this is that

jyn514 commented 6 years ago

done in https://github.com/jyn514/GradeForge/commit/1169cc359a1b0b1a4354cea77c6133b13d335ff5