Overview
Comment: | Send SMS updates to players with phone numbers (closes [245ddedf96]) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
341cdc9adcc2a27d7d7db8e69044e712 |
User & Date: | joel on 2018-11-22 22:26:42 |
Original Comment: | Send SMS updates to players with phone numbers (closes [30cde4e9a1]) |
Other Links: | manifest | tags |
References
2018-11-22
| ||
22:28 | • Closed ticket [245dde]: Ability to send SMS to players with results of each round plus 4 other changes artifact: 7d4abe user: joel | |
Context
2018-11-23
| ||
20:29 | Ignore archive folder check-in: d0bc5a user: joel tags: trunk | |
2018-11-22
| ||
22:26 | Send SMS updates to players with phone numbers (closes [245ddedf96]) check-in: 341cdc user: joel tags: trunk | |
17:49 | Update ignore-glob check-in: a1e1f8 user: joel tags: trunk | |
Changes
Modified bunco.py from [bbae10] to [a97ef9].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | + + - + + | # Test import csv, random, sqlite3 from statistics import median teammate_lookup = { 0: 2, 1: 3, 2: 0, 3: 1 } fuzzydie_holder = 'x' table_move_callback = None def TurnInProgress(): return -1 def roll_dice(): dice = [] for _ in range(3): dice.append(random.randint(1,6)) return dice class Player: |
︙ | |||
269 270 271 272 273 274 275 | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | - + | def load_players(filename): players = [] with open(filename) as tsvfile: tsvreader = csv.reader(tsvfile) for line in tsvreader: |
︙ | |||
349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 | 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 | + + + + + + + + + | return median(all_scores) def prep_next_round(self): # losers from head table move to next table headtable_losers = self.tables[0].losers() log_table_move(headtable_losers, "lost", self.tables[0], self.tables[1]) if callable(table_move_callback): for player in headtable_losers: table_move_callback(player, "lost", self.tables[0], self.tables[1]) round_winners = self.tables[1].swap_for_winners(headtable_losers) # winners from other tables move to next table for n in range(2, len(self.tables)): log_table_move(round_winners, "won", self.tables[n-1], self.tables[n]) if callable(table_move_callback): for player in round_winners: table_move_callback(player, "won", self.tables[n-1], self.tables[n]) round_winners = self.tables[n].swap_for_winners(round_winners) # last set of winners moves to head table log_table_move(round_winners, "won", self.tables[-1], self.tables[0]) if callable(table_move_callback): for player in round_winners: table_move_callback(player, "won", self.tables[-1], self.tables[0]) self.tables[0].swap_for_losers(round_winners) for table in self.tables: table.prep_new_round() self.increment_round() |
︙ |
Modified bunco_app.py from [36d781] to [4468a7].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | + + + + + + + + + + + + + + | import bunco import xlsxwriter import creds # local from blessings import Terminal from twilio.rest import Client t = Terminal() g = bunco.Game("players.csv") enable_sms = False last_status = 'Off to a great start!' def plural(str,n,suffix="s"): return str + suffix if n > 1 else str def print_center(before, string, after): col = int((t.width - len(string)) / 2) - 1 print(f"{t.move_x(col)}{before}{string}{after}") def status(text): global last_status row = 6 + (len(g.tables) * 5) print(t.move(row, 0), end='') print(t.clear_eol, end='') print_center(f"{t.bold_green}",f"[ {text} ]", t.normal) print(t.clear_eos) last_status = text def display_dashboard(): print(t.clear,t.move(0,0)) print_center(t.bold_red,"B U N C O S I M U L A T O R", t.normal) print(f"{t.red}{'-'*t.width}{t.normal}\n") # Print column headings for rounds rounds = [str(n + 1).rjust(4) for n in range(g.current_round())] |
︙ | |||
29 30 31 32 33 34 35 36 | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | + + - - - + + + + + + + + - - + - + + + + + | if player is bunco.fuzzydie_holder: print(f"🎲",end='') print(f"{t.move_x(3)}{t.cyan}{player}{t.normal}",end='') for n in range(g.current_round()): print(t.move_x(18+(4*n)),end='') print(str(player.round_scores[n]).rjust(4),end='') print('') status(last_status) def do1(): |
︙ | |||
67 68 69 70 71 72 73 74 75 76 77 78 79 80 | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | + + + + + + + | ts = [f"Round {g.current_round()} @ {curtable} with {sitch['teammate']}:", f"You made {player.round_roll_counts[g.current_round()-1]} rolls,", f"adding {player.personal_roll_scores[g.current_round()-1]} pts{buncos}", f"to your team score of {player.round_scores[g.current_round()-1]},", f"{winloss} {foe_names}’s score of {sitch['opponent_score']}."] return " ".join(ts) def sms_table_move(player, wonlost, table_from, table_to): if player.smsnumber: message = f"Having {wonlost} the last round, you move from {table_from} to {table_to}." sms(player.smsnumber, message) bunco.table_move_callback = sms_table_move def excel_sheet(title): wb = xlsxwriter.Workbook('bunco.xlsx') ws = wb.add_worksheet('Overview') style = {} col_heading = wb.add_format({'font_name': 'Back Issues BB', |
︙ |