Compare commits
2 Commits
0b4beea491
...
59045a199d
Author | SHA1 | Date | |
---|---|---|---|
59045a199d | |||
b55883452e |
|
@ -392,9 +392,10 @@
|
||||||
statusObj = data;
|
statusObj = data;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {})
|
.then(checkStatus)
|
||||||
.then(() => {
|
.catch(() => {
|
||||||
checkStatus();
|
// If something went wrong, wait a few seconds before retrying.
|
||||||
|
setTimeout(checkStatus, 5000);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
checkStatus();
|
checkStatus();
|
||||||
|
|
|
@ -159,12 +159,6 @@ def game_status_object(game, current_phase=None, players_with_fear=None):
|
||||||
status_hash = h.hexdigest()
|
status_hash = h.hexdigest()
|
||||||
status_obj['hash'] = status_hash
|
status_obj['hash'] = status_hash
|
||||||
|
|
||||||
async_to_sync(get_channel_layer().group_send)(
|
|
||||||
"%s_status" % game.access_code, {
|
|
||||||
"type": "fear_tracker.hashcode_seen",
|
|
||||||
"hashcode": status_hash,
|
|
||||||
})
|
|
||||||
|
|
||||||
return status_obj
|
return status_obj
|
||||||
|
|
||||||
|
|
||||||
|
@ -290,10 +284,6 @@ def handle_game_request(request, game, update):
|
||||||
for player in players.values():
|
for player in players.values():
|
||||||
player.ready = True
|
player.ready = True
|
||||||
|
|
||||||
async_to_sync(get_channel_layer().group_send)(
|
|
||||||
"%s_status" % game.access_code,
|
|
||||||
{"type": "fear_tracker.invalidate_status"})
|
|
||||||
|
|
||||||
if update:
|
if update:
|
||||||
if errors:
|
if errors:
|
||||||
res = {
|
res = {
|
||||||
|
@ -304,12 +294,22 @@ def handle_game_request(request, game, update):
|
||||||
res['value'] = current_value
|
res['value'] = current_value
|
||||||
else:
|
else:
|
||||||
res = {'success': True}
|
res = {'success': True}
|
||||||
|
async_to_sync(get_channel_layer().group_send)(
|
||||||
|
"%s_status" % game.access_code,
|
||||||
|
{"type": "fear_tracker.invalidate_status"})
|
||||||
return HttpResponse(json.dumps(res))
|
return HttpResponse(json.dumps(res))
|
||||||
|
|
||||||
players = get_players_with_fear(game, current_phase, players)
|
players = get_players_with_fear(game, current_phase, players)
|
||||||
status_obj = game_status_object(game, current_phase, players)
|
status_obj = game_status_object(game, current_phase, players)
|
||||||
status_string = json.dumps(status_obj)
|
status_string = json.dumps(status_obj)
|
||||||
|
|
||||||
|
async_to_sync(get_channel_layer().group_send)(
|
||||||
|
"%s_status" % game.access_code, {
|
||||||
|
"type": "fear_tracker.hashcode_seen",
|
||||||
|
"hashcode": status_obj['hash'],
|
||||||
|
"status_string": status_string,
|
||||||
|
})
|
||||||
|
|
||||||
for player in players.values():
|
for player in players.values():
|
||||||
info = player.fear
|
info = player.fear
|
||||||
if not info:
|
if not info:
|
||||||
|
@ -340,6 +340,12 @@ def status(request, game, hashcode=None):
|
||||||
return HttpResponse(status=HTTPStatus.NOT_MODIFIED)
|
return HttpResponse(status=HTTPStatus.NOT_MODIFIED)
|
||||||
else:
|
else:
|
||||||
status_string = json.dumps(status_obj)
|
status_string = json.dumps(status_obj)
|
||||||
|
async_to_sync(get_channel_layer().group_send)(
|
||||||
|
"%s_status" % game.access_code, {
|
||||||
|
"type": "fear_tracker.hashcode_seen",
|
||||||
|
"hashcode": status_obj['hash'],
|
||||||
|
"status_string": status_string,
|
||||||
|
})
|
||||||
return HttpResponse(status_string)
|
return HttpResponse(status_string)
|
||||||
|
|
||||||
|
|
||||||
|
@ -372,6 +378,10 @@ class StatusLongPollConsumer(AsyncHttpConsumer):
|
||||||
|
|
||||||
async def fear_tracker_hashcode_seen(self, event):
|
async def fear_tracker_hashcode_seen(self, event):
|
||||||
if self.hashcode != event["hashcode"]:
|
if self.hashcode != event["hashcode"]:
|
||||||
|
if event["status_string"]:
|
||||||
|
body = event["status_string"].encode('utf-8')
|
||||||
|
await self.send_response(200, body)
|
||||||
|
await self.disconnect()
|
||||||
await self.channel_layer.group_send(
|
await self.channel_layer.group_send(
|
||||||
"%s_status" % self.access_code, {
|
"%s_status" % self.access_code, {
|
||||||
"type": "fear_tracker.invalidate_status",
|
"type": "fear_tracker.invalidate_status",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user