recalapp / recal

First a COS 333 project, now a very popular tool at Princeton for course selection
http://recal.io
MIT License
12 stars 3 forks source link

Scraper bugfix to update (see issue #323) #324

Closed maximz closed 7 years ago

maximz commented 7 years ago

This is incomplete. Meetings:sections are not 1:1. See e.g. https://registrar.princeton.edu/course-offerings/course_details.xml?courseid=007223&term=1174 -- sections can have multiple meetings.

We need to specify criteria for choosing the object to update. The webfeed has a meeting_number parameter:

<class>
<class_number>42172</class_number>
<section>U01</section>
<status>Open</status>
<type_name>Studio</type_name>
<capacity>12</capacity>
<enrollment>0</enrollment>
<schedule>
<start_date>2017-02-06</start_date>
<end_date>2017-05-16</end_date>
<meetings>
<meeting>
<meeting_number>1</meeting_number>
<start_time>07:30 PM</start_time>
<end_time>09:40 PM</end_time>
<days>
<day>T</day>
</days>
</meeting>
<meeting>
<meeting_number>2</meeting_number>
<start_time>01:30 PM</start_time>
<end_time>04:20 PM</end_time>
<days>
<day>T</day>
</days>
</meeting>
</meetings>
</schedule>
</class>

Will need to also remove meetings that no longer exist.

Alternatively, we can remove all meetings and re-add them. Section enrollment should persist?

maximz commented 7 years ago

We already remove all meetings and re-add. So this PR is not the way. Instead, why has scraper failed to update this particular course?