예제 #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
예제 #2
0
파일: utils.py 프로젝트: ksh/gpitraining
    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