Hotfix: Add params parsing

When favoriting from `show_basic` for courses, the parameters `number`
and `semester` are not passed to the underlying function. Instead, the
`detail_url` is passed, which has to be parsed to get the `number` and
`semester`.
This commit is contained in:
Tobias Eidelpes 2020-05-29 10:57:18 +02:00
parent cbcc7c3d25
commit a6a866d357

View File

@ -51,6 +51,12 @@ class Crawlers::CoursesCrawlerController < Crawlers::TissCrawlerController
def add_to_fav def add_to_fav
params[:api] = '/api/course/' params[:api] = '/api/course/'
if (params[:number] || params[:semester]) == nil
regex = params[:detail_url].match(/courseNr=(?<number>\S{6})/)
params[:number] = regex[:number]
regex = params[:detail_url].match(/semester=(?<semester>\d{4}[SW])/)
params[:semester] = regex[:semester]
end
@course = TissCrawler.get_course_details(params) @course = TissCrawler.get_course_details(params)