def on_actionLoad_Players_triggered(self, state): if not self.yes_no_dialog("Load players?", "This will reset the tournament state. Continue?"): return import csv_worker self.tournament.clear() self.__guiclear() for p in csv_worker.read_players(): uid = self.ui.t_players.rowCount()+1 p = Player(uid = uid, **p) self.tournament.add_player(p) self.t_players_add_player(p) self.tournament.tables = len(self.tournament.players) / 2 # Mark that there are changes to be saved self.changes_to_save = True
tB = set(pB.tables_played) if t - tA: t = t - tA if t - tB: t = t - tB elif t - tB: t = t - tB selected_table = random.choice(list(t)) tables -= set([selected_table]) table_to_pair[selected_table] = (pA, pB) pA.tables_played.append(selected_table) pB.tables_played.append(selected_table) pA.opponents_played.append(pB) pB.opponents_played.append(pA) return table_to_pair if __name__ == "__main__": import csv_worker data = csv_worker.read_players() players = [] for i, line in enumerate(data): players.append(Player(uid = i, **line)) t = Tournament(players, len(players)/2) debug(t.create_pairings())