built in websockets for auto-reload
This commit is contained in:
@ -32,16 +32,27 @@ def index(req, resp):
|
||||
)
|
||||
|
||||
@api.route("/control/next_hand/")
|
||||
def start_next_hand(req, resp):
|
||||
async def start_next_hand(req, resp):
|
||||
the_game.next_hand()
|
||||
for ws in the_game.websockets:
|
||||
try:
|
||||
await ws.send_text("reload")
|
||||
except Exception as e:
|
||||
print("ws: got {}".format(e))
|
||||
api.redirect(resp, '/control/', status_code=303)
|
||||
|
||||
|
||||
@api.route("/control/next_trick/")
|
||||
def start_next_trick(req, resp):
|
||||
async def start_next_trick(req, resp):
|
||||
the_game.next_trick()
|
||||
for ws in the_game.websockets:
|
||||
try:
|
||||
await ws.send_text("reload")
|
||||
except Exception as e:
|
||||
print("ws: got {}".format(e))
|
||||
api.redirect(resp, '/control/', status_code=303)
|
||||
|
||||
@api.route("/control/deal/{cards}")
|
||||
def deal(req, resp, cards):
|
||||
the_game.deal_cards(int(cards))
|
||||
api.redirect(resp, '/control/', status_code=303)
|
||||
#@api.route("/control/deal/{cards}")
|
||||
#def deal(req, resp, cards):
|
||||
# the_game.deal_cards(int(cards))
|
||||
# api.redirect(resp, '/control/', status_code=303)
|
||||
|
@ -1,6 +1,7 @@
|
||||
from app_instance import api
|
||||
|
||||
from wiz_game import the_game
|
||||
from starlette.websockets import WebSocketDisconnect
|
||||
|
||||
|
||||
@api.route("/player/{player}")
|
||||
@ -29,16 +30,37 @@ def show(req, resp, player: str):
|
||||
|
||||
|
||||
@api.route("/player/{player}/play/{card}")
|
||||
def play(req, resp, player: str, card: str):
|
||||
async def play(req, resp, player: str, card: str):
|
||||
p = int(player)
|
||||
c = int(card)
|
||||
the_game.play_card(p, c)
|
||||
url = '/player/'+player
|
||||
for ws in the_game.websockets:
|
||||
try:
|
||||
await ws.send_text("reload")
|
||||
except Exception as e:
|
||||
print("ws: got {}".format(e))
|
||||
api.redirect(resp, url, status_code=303)
|
||||
|
||||
@api.route("/player/{player}/set_trump/{trump}")
|
||||
def set_trump_color(req, resp, player, trump):
|
||||
async def set_trump_color(req, resp, player, trump):
|
||||
p = int(player)
|
||||
the_game.set_trump_color(trump)
|
||||
url = '/player/'+player
|
||||
for ws in the_game.websockets:
|
||||
try:
|
||||
await ws.send_text("reload")
|
||||
except Exception as e:
|
||||
print("ws: got {}".format(e))
|
||||
api.redirect(resp, url, status_code=303)
|
||||
|
||||
|
||||
@api.route('/ws', websocket=True)
|
||||
async def websocket(ws):
|
||||
await ws.accept()
|
||||
the_game.websockets.append(ws)
|
||||
try:
|
||||
foo = await ws.receive_text()
|
||||
except WebSocketDisconnect:
|
||||
the_game.websockets.remove(ws)
|
||||
|
||||
|
Reference in New Issue
Block a user