def update_matches(self, match): matches = tr_api.matchList(self.activeRound) row_num = 0 if "rows" not in matches.keys(): messagebox.showerror("List Matches", "Database Communication Error") return elif len(matches["rows"]) > 0: match_list = matches["rows"] for i in range(0, len(match_list)): if match_list[i]["id"] == match: row_num = i + 1 # delete the previous matches for row in self.frame_matchList.grid_slaves(row=row_num): row.grid_forget() row.destroy() self.matchframeupdate(match_list, row_num) self.frame_matchList.update_idletasks()
def setUp(self): if done is False: setUpHelper(self) self.topdict = tr_api.matchList(3)
def main(): while True: # no do while in python :( result = None command = input(">") if len(command) == 0: continue command = command.split() try: if command[0].lower() == 'cp': # concatenate the command strings after a certain point together so # that first and last names can be added. name = concat_end(command, 2) if name == None: raise IndexError("No name") result = tr_api.createPlayer(int(command[1]), name) table_print(result) elif command[0].lower() == 'ct': # concatenate the command strings after a certain point together so # that first and last names can be added. name = concat_end(command, 2) if name == None: raise IndexError("No name") result = tr_api.createTournament(name, int(command[1])) table_print(result) elif command[0].lower() == 'sp': # concatenate the command strings after a certain point together so # that first and last names can be added. name = concat_end(command, 1) if name == None: raise IndexError("No name") result = tr_api.searchPlayers(name) table_print(result) elif command[0].lower() == 'ap': result = tr_api.addPlayer(int(command[1]),int(command[2])) table_print(result) elif command[0].lower() == 'rp': result = tr_api.removePlayer(int(command[1]),int(command[2])) table_print(result) elif command[0].lower() == 'lp': result = tr_api.listPlayers() table_print(result) elif command[0].lower() == 'lt': result = tr_api.listTournaments(None, None) table_print(result) elif command[0].lower() == 'ltp': result = tr_api.listTournamentPlayers(int(command[1])) table_print(result) elif command[0].lower() == 'latp': result = tr_api.listActiveTournamentPlayers(int(command[1])) table_print(result) elif command[0].lower() == 'fr': result = tr_api.finishRound(int(command[1])) table_print(result) elif command[0].lower() == 'genpairings': result = tr_api.generatePairings(int(command[1])) table_print(result) elif command[0].lower() == 'gtp': result = tr_api.getTournamentPlayer(int(command[1])) print(result) elif command[0].lower() == 'gp': result = tr_api.getPlayer(int(command[1])) player_print(result) elif command[0].lower() == 'lm': result = tr_api.matchList(int(command[1])) table_print(result) elif command[0].lower() == 'lr': result = tr_api.roundList(int(command[1])) table_print(result) elif command[0].lower() == 'st': result = tr_api.startTournament(int(command[1])) table_print(result) elif command[0].lower() == 'smr': result = tr_api.setMatchResults( int(command[1]), int(command[2]), int(command[3]), int(command[4])) table_print(result) elif command[0].lower() == 'help': print_help() continue elif command[0].lower() == 'exit': return else: print("Invalid command") continue except ValueError: print("Invalid parameter type") continue except IndexError: print("Invalid number of parameters") continue
def action_MatchViewer(self): """ creates a new window to submit results of a match. """ if (self.activeRound is None): messagebox.showerror("Match List", "No known round selected.") return self.win_listMatches = Tk() # create the new window self.win_listMatches.title("Match Viewer") # set the title of window Label(self.win_listMatches, text="Match Viewer", font=("Helvetica", 16)).pack() self.frame_matchList = Frame(self.win_listMatches) # create a frame self.frame_matchList.pack(side="top", padx=20, pady=20) # and place it on the top frame_playerFooter = Frame(self.win_listMatches) frame_playerFooter.pack(side="bottom") # create the labels that define what each input box is used for, and align them Label(self.frame_matchList, fg="blue", text="Matches").grid(row=0, column=0, sticky=W) Label(self.frame_matchList, fg="blue", text="Player 1").grid(row=0, column=1) Label(self.frame_matchList, fg="blue", text="Player 2").grid(row=0, column=2) Label(self.frame_matchList, fg="blue", text="Table Location").grid(row=0, column=3, sticky=W) Label(self.frame_matchList, fg="blue", text="Player 1 Wins").grid(row=0, column=4, sticky=W) Label(self.frame_matchList, fg="blue", text="Player 2 Wins").grid(row=0, column=5, sticky=W) Label(self.frame_matchList, fg="blue", text="Draws").grid(row=0, column=6, sticky=W) Label(self.frame_matchList, fg="blue", text="----").grid(row=0, column=7, sticky=W) matches = tr_api.matchList(self.activeRound) row_num = 0 if "rows" not in matches.keys(): messagebox.showerror("List Matches", "Database Communication Error") return elif len(matches["rows"]) > 0: match_list = matches["rows"] for i in range(0, len(match_list)): row_num = i + 1 self.matchframeupdate(match_list, row_num) # bind these keystrokes btn_addPlayer_cancel = Button( frame_playerFooter, text="Cancel", command=self.win_listMatches.destroy).grid(row=0, column=0, sticky=W)