def _compute_score(self): for record in self: if record.physical_proof_param_id.measure == 'time': if record.cantidad: match = time_value_pattern.match(record.cantidad) #if int(record.cantidad) >=int(record.hysical_proof_param_id.value): #record.score = 100 #else: #record.score = =SI((N7*60+O7)<=746,150,SI((N7*60+O7)>=746,150-(((N7*60+O7)-746)*150/505))) if not match: raise ValidationError('Error ' + record.physical_proofpy_param_id.name) else: minutes, seconds = record.physical_proof_param_id.value.split(',') total_seconds_param = int(minutes) * 60 + int(seconds) minutes, seconds = record.cantidad.split(',') total_seconds = int(minutes) * 60 + int(seconds) if total_seconds <= total_seconds_param: #record.score=150 record.score = record.physical_proof_param_id.test_id.score else: record.score = record.physical_proof_param_id.test_id.score - ((total_seconds - total_seconds_param) * record.physical_proof_param_id.test_id.score / 505) else: if int(record.cantidad) >= int(record.physical_proof_param_id.value): record.score = record.physical_proof_param_id.test_id.score else: record.score = record.physical_proof_param_id.test_id.score-((int(record.physical_proof_param_id.value)-int(record.cantidad))*101/int(record.physical_proof_param_id.value))
def _check_value(self): match = False if self.measure == 'time': match = time_value_pattern.match(self.value) else: match = number_value_pattern.match(self.value) if not match: raise ValidationError('Value is not valid')
def _check_value(self): if self.value: match = False if self.measure == 'time': match = time_value_pattern.match(self.value) else: match = number_value_pattern.match(self.value) if not match: raise ValidationError('Valor con error')
def _check_swimming(self): for record in self: if record.swimming: match = time_value_pattern.match(self.swimming) if not match: self.swimming = 'error!'
def _check_climb(self): for record in self: if record.climb: match = time_value_pattern.match(self.climb) if not match: self.climb = 'error!'
def _check_race(self): for record in self: if record.race: match = time_value_pattern.match(self.race) if not match: self.race = 'error!'
def _check_flotation(self): match = time_value_pattern.match(self.flotation) if not match: self.flotation = 'error!'
def _check_climb(self): match = time_value_pattern.match(self.climb) if not match: self.climb = 'error!'
def _check_race(self): match = time_value_pattern.match(self.race) if not match: self.race = 'error!'
def _check_run(self): match = time_value_pattern.match(self.run) if not match: self.run = 'error!'