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!'