def get(self, sps_id, cc_id, req_id): success, message = reqs.checkStatusForCourseInBox(sps_id, cc_id, req_id) print json.dumps(dict(success=success,message=message)) self.response.write(json.dumps(dict(success=success,message=message)))
def getSpsDict(sps, sps_key): sps_dict = {} sps_dict['ps_name'] = sps.program_sheet.get().ps_name sps_dict['sps_key'] = sps_key rect_box_array = [] for req_box_key in sps.program_sheet.get().req_boxes: req_box = req_box_key.get() req_box_dict = {} req_box_dict['req_box_name'] = req_box.req_box_name req_box_dict['req_box_key'] = req_box_key.urlsafe() req_box_dict['min_total_units'] = req_box.min_total_units req_box_dict['min_num_courses'] = req_box.min_num_courses req_course_array = [] numCourses = 0 totalUnits = 0 for req_course_key in req_box.req_courses: req_course_dict = {} req_course = req_course_key.get() req_course_dict['req_course_name'] = req_course.req_course_name req_course_dict['req_course_info'] = req_course.req_course_info req_course_dict['req_course_key'] = req_course_key.urlsafe() req_cc = None for cc_key in sps.cand_courses: cc = cc_key.get() if cc == None or cc.reqs_fulfilled == None: continue for req_f_key in cc.reqs_fulfilled: req_f = req_f_key.get() if req_f == None: continue if req_f.req_course.urlsafe() == req_course_key.urlsafe(): req_cc = cc break if req_cc != None: break; if req_cc != None: numCourses += 1 totalUnits += req_cc.units valid, message = reqs.checkStatusForCourseInBox(sps_key, req_cc.key.urlsafe(), req_course_key.urlsafe()) req_course_dict['cand_course_name'] = req_cc.course.get().course_num if req_cc != None else "" req_course_dict['cand_course_key'] = req_cc.key.urlsafe() if req_cc != None else "" req_course_dict['fulfilling'] = {} if req_cc != None else None if req_course_dict['fulfilling'] != None: req_course_dict['fulfilling']['course_num'] = req_course_dict['cand_course_name'] req_course_dict['fulfilling']['cand_course_key'] = req_course_dict['cand_course_key'] req_course_dict['cand_course_units'] = req_cc.units if req_cc != None else 0 req_course_dict['cand_course_gpa'] = req_cc.grade if req_cc != None else 0 req_course_dict['cand_course_valid'] = valid if req_cc != None else False req_course_dict['cand_course_error'] = message if req_cc != None else "" req_course_dict['course_key'] = req_cc.course.urlsafe() if req_cc != None else "" req_course_array.append(req_course_dict) req_box_dict['total_units'] = totalUnits req_box_dict['num_courses'] = numCourses req_box_dict['req_courses'] = req_course_array rect_box_array.append(req_box_dict) sps_dict['req_boxes'] = rect_box_array totalGrade = 0 totalUnits = 0 for box in sps_dict['req_boxes']: for course in box['req_courses']: units = course['cand_course_units'] if course['cand_course_gpa'] > 0: totalGrade += units * course['cand_course_gpa'] totalUnits += units if totalUnits == 0: gpa = 0.0 else: gpa = totalGrade/totalUnits sps_dict['ps_gpa'] = int(gpa * 100) / 100.0 return sps_dict
def getSpsDict(sps, sps_key): sps_dict = {} sps_dict['ps_name'] = sps.program_sheet.get().ps_name sps_dict['sps_key'] = sps_key rect_box_array = [] for req_box_key in sps.program_sheet.get().req_boxes: req_box = req_box_key.get() req_box_dict = {} req_box_dict['req_box_name'] = req_box.req_box_name req_box_dict['req_box_key'] = req_box_key.urlsafe() req_box_dict['min_total_units'] = req_box.min_total_units req_box_dict['min_num_courses'] = req_box.min_num_courses req_course_array = [] numCourses = 0 totalUnits = 0 for req_course_key in req_box.req_courses: req_course_dict = {} req_course = req_course_key.get() req_course_dict['req_course_name'] = req_course.req_course_name req_course_dict['req_course_info'] = req_course.req_course_info req_course_dict['req_course_key'] = req_course_key.urlsafe() req_cc = None for cc_key in sps.cand_courses: cc = cc_key.get() if cc == None or cc.reqs_fulfilled == None: continue for req_f_key in cc.reqs_fulfilled: req_f = req_f_key.get() if req_f == None: continue if req_f.req_course.urlsafe() == req_course_key.urlsafe(): req_cc = cc break if req_cc != None: break if req_cc != None: numCourses += 1 totalUnits += req_cc.units valid, message = reqs.checkStatusForCourseInBox( sps_key, req_cc.key.urlsafe(), req_course_key.urlsafe()) req_course_dict['cand_course_name'] = req_cc.course.get( ).course_num if req_cc != None else "" req_course_dict['cand_course_key'] = req_cc.key.urlsafe( ) if req_cc != None else "" req_course_dict['fulfilling'] = {} if req_cc != None else None if req_course_dict['fulfilling'] != None: req_course_dict['fulfilling']['course_num'] = req_course_dict[ 'cand_course_name'] req_course_dict['fulfilling'][ 'cand_course_key'] = req_course_dict['cand_course_key'] req_course_dict[ 'cand_course_units'] = req_cc.units if req_cc != None else 0 req_course_dict[ 'cand_course_gpa'] = req_cc.grade if req_cc != None else 0 req_course_dict[ 'cand_course_valid'] = valid if req_cc != None else False req_course_dict[ 'cand_course_error'] = message if req_cc != None else "" req_course_dict['course_key'] = req_cc.course.urlsafe( ) if req_cc != None else "" req_course_array.append(req_course_dict) req_box_dict['total_units'] = totalUnits req_box_dict['num_courses'] = numCourses req_box_dict['req_courses'] = req_course_array rect_box_array.append(req_box_dict) sps_dict['req_boxes'] = rect_box_array totalGrade = 0 totalUnits = 0 for box in sps_dict['req_boxes']: for course in box['req_courses']: units = course['cand_course_units'] if course['cand_course_gpa'] > 0: totalGrade += units * course['cand_course_gpa'] totalUnits += units if totalUnits == 0: gpa = 0.0 else: gpa = totalGrade / totalUnits sps_dict['ps_gpa'] = int(gpa * 100) / 100.0 return sps_dict
def get(self, sps_id, cc_id, req_id): success, message = reqs.checkStatusForCourseInBox( sps_id, cc_id, req_id) print json.dumps(dict(success=success, message=message)) self.response.write(json.dumps(dict(success=success, message=message)))