def calc_total_score(student): # mn = MODULE_QUESTIONS # mm = MANDATORY_MODULES # overall_score = -1 ms = [] for i in range(1,MAX_MODULES+1): course = 'a'+str(i)+'course' ms.append(utils.get_score(student, course)) # get profile for this user - mandatary modules valid = ValidStudent.get_valid(student.key().name()) prof = Profile.get_by_key_name(valid.profile) auth = eval(prof.auth) # complete = mandatory modules are done (have scores) complete = True i = 0 for score in ms[:MAX_MODULES]: if auth[i]: complete = complete and (score <> None) i += 1 # compute overall score after mandatory modules are done if complete: part_score = 0 tq = 0 for i in range(MAX_MODULES): if ms[i] <> None: part_score += mn[i] * ms[i] tq += mn[i] # todo - somar 0.5 antes do int? overall_score = int((part_score/tq)+0.5) return overall_score
def visit(self, student): if student.scores: scores = json.loads(student.scores) valid = ValidStudent.get_valid(student.key().name()) chave= student.user_id+","+student.name+","+valid.profile # chave= student.user_id+","+student.name # for key in scores.keys(): # lista.append(key) # lista.append(scores[key]) self.name_to_tuple[chave]=scores
def visit(self, student): if student.scores: logging.error('student : %s dados : %s ', student.key(),student.key().name()) scores = transforms.loads(student.scores) valid = ValidStudent.get_valid(student.key().name()) chave= student.user_id+","+student.name+","+valid.profile # chave= student.user_id+","+student.name # for key in scores.keys(): # lista.append(key) # lista.append(scores[key]) self.name_to_tuple[chave]=scores
def personalize_page_and_get_enrolled(self): """If the user is enrolled, add personalized fields to the navbar.""" user = self.personalize_page_and_get_user() if not user: self.redirect(users.create_login_url(self.request.uri)) return None student = Student.get_enrolled_student_by_email(user.email()) if not student: self.redirect('/preview') return None valid = ValidStudent.get_valid(user.email()) prof = Profile.get_by_key_name(valid.profile) student.profile = eval(prof.auth) return student