def __init__(self, parent_course, xml): self.xml = xml self.main_attrib_dict, self.meeting_dict_list, self.requirement_dict_list = self.get_dictionaries( ) self.section = self.main_attrib_dict.get("section") self.title = self.main_attrib_dict.get("title") self.call_number = self.main_attrib_dict.get("call_number") self.activity = str( Functions.find_first_occurrence_in_dicts("activity", *self.meeting_dict_list)) self.room = Functions.find_first_occurrence_in_dicts( "room", *self.meeting_dict_list) self.min_credit = self.main_attrib_dict.get("min_credit") self.max_credit = self.main_attrib_dict.get("max_credit") self.subject_id, self.course_id, self.id = self.get_subject_course_section_id_list( ) self.parent_course = parent_course self.day_list = Functions.find_first_occurrence_in_dicts( "day", *self.meeting_dict_list) self.start_time, self.end_time = self.get_times() self.time_dict = self.get_time_dict()
def get_times(self): start_time = Functions.find_first_occurrence_in_dicts( "start_time", *self.meeting_dict_list) end_time = Functions.find_first_occurrence_in_dicts( "end_time", *self.meeting_dict_list) if (self.subject_id + self.course_id).replace( " ", "").lower() in ScheduleTests.test_schedule_0: print("{}: \t{} - {}\t{}".format( (self.subject_id + self.course_id + self.id).replace( " ", "").lower(), start_time, end_time, self.day_list)) if type(start_time) == str and type(end_time) == str: split_start_time = str(start_time).split(":") split_end_time = str(end_time).split(":") start_time = [int(split_start_time[0]), int(split_start_time[1])] end_time = [int(split_end_time[0]), int(split_end_time[1])] if start_time[0] < Constants.minimum_section_start: start_time[0] += 12 end_time[0] += 12 if (self.subject_id + self.course_id).replace( " ", "").lower() in ScheduleTests.test_schedule_0: print("\t", start_time[0], start_time[1], "\t | ", end_time[0], end_time[1]) if start_time[0] > 24: start_time[0] -= 12 if (self.subject_id + self.course_id).replace( " ", "").lower() in ScheduleTests.test_schedule_0: print("\ttime changed") if end_time[0] > 24: end_time[0] -= 12 if (self.subject_id + self.course_id).replace( " ", "").lower() in ScheduleTests.test_schedule_0: print("\ttime changed") start_time = datetime.time(start_time[0], start_time[1]) end_time = datetime.time(end_time[0], end_time[1]) if (self.subject_id + self.course_id).replace( " ", "").lower() in ScheduleTests.test_schedule_0: print("\t", start_time.strftime('%I:%M %p'), " | ", end_time.strftime('%I:%M %p')) return start_time, end_time