示例#1
0
 def updateRotationArray(action, array):
     if action == 'add':
         if len(array) % 2 == 0:
             array.append(MiscFunctions.modAdd(array[-1]-1, 2, team_num))
         else:
             array.append(array[len(array)-1])
         return array
     elif action == 'delete':
         array.pop()
         return array
示例#2
0
 def updateIndividualRotation(individual_rotation):
     if action == AuthenticationActionType.ADD:
         if not len(individual_rotation) % 2:
             individual_rotation.append(
                 MiscFunctions.modAdd(individual_rotation[-1] - 1, 2,
                                      self.event.event_team_number))
         else:
             individual_rotation.append(individual_rotation[-1])
         return individual_rotation
     elif action == AuthenticationActionType.DELETE:
         return individual_rotation[:-1]
示例#3
0
 def __rotationGenerator(self, tag_dict, team_dict, event_race_number,
                         event_team_number):
     rand_array = random.sample(range(1, event_team_number + 1),
                                event_team_number)
     result_dict = dict()
     for shift, tag in enumerate(tag_dict):
         team_sequence = dict()
         for team_num, team_id in enumerate(team_dict[tag]):
             team_sequence[team_id] = [
                 MiscFunctions.modAdd(rand_array[team_num] + shift,
                                      (race - race % 2), event_team_number)
                 for race in range(event_race_number)
             ]
         result_dict[tag_dict[tag]] = team_sequence
     return result_dict
示例#4
0
 def regenerateRotation(self):
     rotation = dict()
     permutation = random.sample(range(1, self.event.event_team_number + 1),
                                 self.event.event_team_number)
     event_tags = EventTagAPI(self.request).verifySelf(
         legacy=False, event_tag_event_id=self.event.id)
     for boat_shift, tag in enumerate(event_tags):
         teams = TeamAPI(self.request).filterSelf(team_tag_id=tag.id)
         team_sequence = {
             team.id: [
                 MiscFunctions.modAdd(permutation[idx] + boat_shift,
                                      (race - race % 2),
                                      self.event.event_team_number)
                 for race in range(self.event.event_race_number)
             ]
             for idx, team in enumerate(teams)
         }
         rotation[tag.id] = team_sequence
     return rotation