def answer_course_name(subject, course_num): try: # get subject and course_num from request subject = request.intent.slots.subject['value'] course_num = request.intent.slots.courseNum['value'] # store year into session session.attributes['subject'] = subject session.attributes['course_num'] = course_num # ask other not answered specs if 'year' not in session.attributes.keys(): ask_msg = render_template('ask-year') elif 'semester' not in session.attributes.keys(): ask_msg = render_template('ask-semester') elif 'section' not in session.attributes.keys(): link = make_prelink(year=session.attributes['year'], semester=session.attributes['semester'], subject=subject, courseIdx=course_num) sections = get_sections(link) ask_msg = render_template('ask-section', subject=subject, course_num=course_num, sections=sections) else: return answer_class_details() return question(ask_msg) except KeyError: err_msg = render_template("error-not-understand") return question(err_msg)
def answer_section(): try: # get course_num from request section = request.intent.slots.section.resolutions.resolutionsPerAuthority[ 0]['values'][0]['value']['name'] # store year into session session.attributes['section'] = section return answer_class_details() except KeyError: err_msg = render_template("error-not-understand") return question(err_msg)
def answer_semester(semester): try: # get semester from request semester = request.intent.slots.semester.resolutions.resolutionsPerAuthority[ 0]['values'][0]['value']['id'] # store year into session session.attributes['semester'] = semester # ask other not answered specs if 'year' not in session.attributes.keys(): ask_msg = render_template('ask-year') elif 'subject' not in session.attributes.keys(): ask_msg = render_template('ask-course') elif 'course_num' not in session.attributes.keys(): ask_msg = render_template('ask-course_num') elif 'section' not in session.attributes.keys(): ask_msg = render_template('ask-section') else: return answer_class_details() return question(ask_msg) except KeyError: ask_msg = render_template('error-not-understand') return question(ask_msg)