Esempio n. 1
0
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
Esempio n. 2
0
    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
Esempio n. 3
0
    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
Esempio n. 4
0
    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