WebHost: add Status to MultiTracker
This commit is contained in:
parent
cd9d0bebc8
commit
012e6ba24c
|
@ -36,6 +36,7 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
<th class="center-column">Checks</th>
|
<th class="center-column">Checks</th>
|
||||||
<th class="center-column">%</th>
|
<th class="center-column">%</th>
|
||||||
|
<th class="center-column">Status</th>
|
||||||
<th class="center-column hours">Last<br>Activity</th>
|
<th class="center-column hours">Last<br>Activity</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -51,8 +52,10 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
<td class="center-column">{{ checks["Total"] }}/{{ checks_in_area[player]["Total"] }}</td>
|
<td class="center-column">{{ checks["Total"] }}/{{ checks_in_area[player]["Total"] }}</td>
|
||||||
<td class="center-column">{{ percent_total_checks_done[team][player] }}</td>
|
<td class="center-column">{{ percent_total_checks_done[team][player] }}</td>
|
||||||
{%- if activity_timers[(team, player)] -%}
|
<td>{{ {0: "Disconnected", 5: "Connected", 10: "Ready", 20: "Playing",
|
||||||
<td class="center-column">{{ activity_timers[(team, player)].total_seconds() }}</td>
|
"30": "Goal Completed"}.get(states[team, player], "Unknown State") }}</td>
|
||||||
|
{%- if activity_timers[team, player] -%}
|
||||||
|
<td class="center-column">{{ activity_timers[team, player].total_seconds() }}</td>
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
<td class="center-column">None</td>
|
<td class="center-column">None</td>
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
|
@ -1384,24 +1384,26 @@ def _get_multiworld_tracker_data(tracker: UUID) -> typing.Optional[typing.Dict[s
|
||||||
activity_timers[team, player] = now - datetime.datetime.utcfromtimestamp(timestamp)
|
activity_timers[team, player] = now - datetime.datetime.utcfromtimestamp(timestamp)
|
||||||
|
|
||||||
player_names = {}
|
player_names = {}
|
||||||
|
states: typing.Dict[typing.Tuple[int, int], int] = {}
|
||||||
for team, names in enumerate(names):
|
for team, names in enumerate(names):
|
||||||
for player, name in enumerate(names, 1):
|
for player, name in enumerate(names, 1):
|
||||||
player_names[(team, player)] = name
|
player_names[team, player] = name
|
||||||
|
states[team, player] = multisave.get("client_game_state", {}).get((team, player), 0)
|
||||||
long_player_names = player_names.copy()
|
long_player_names = player_names.copy()
|
||||||
for (team, player), alias in multisave.get("name_aliases", {}).items():
|
for (team, player), alias in multisave.get("name_aliases", {}).items():
|
||||||
player_names[(team, player)] = alias
|
player_names[team, player] = alias
|
||||||
long_player_names[(team, player)] = f"{alias} ({long_player_names[(team, player)]})"
|
long_player_names[(team, player)] = f"{alias} ({long_player_names[team, player]})"
|
||||||
|
|
||||||
video = {}
|
video = {}
|
||||||
for (team, player), data in multisave.get("video", []):
|
for (team, player), data in multisave.get("video", []):
|
||||||
video[(team, player)] = data
|
video[team, player] = data
|
||||||
|
|
||||||
return dict(player_names=player_names, room=room, checks_done=checks_done,
|
return dict(player_names=player_names, room=room, checks_done=checks_done,
|
||||||
percent_total_checks_done=percent_total_checks_done, checks_in_area=checks_in_area,
|
percent_total_checks_done=percent_total_checks_done, checks_in_area=checks_in_area,
|
||||||
activity_timers=activity_timers, video=video, hints=hints,
|
activity_timers=activity_timers, video=video, hints=hints,
|
||||||
long_player_names=long_player_names,
|
long_player_names=long_player_names,
|
||||||
multisave=multisave, precollected_items=precollected_items, groups=groups,
|
multisave=multisave, precollected_items=precollected_items, groups=groups,
|
||||||
locations=locations, games=games)
|
locations=locations, games=games, states=states)
|
||||||
|
|
||||||
|
|
||||||
def _get_inventory_data(data: typing.Dict[str, typing.Any]) -> typing.Dict[int, typing.Dict[int, int]]:
|
def _get_inventory_data(data: typing.Dict[str, typing.Any]) -> typing.Dict[int, typing.Dict[int, int]]:
|
||||||
|
|
Loading…
Reference in New Issue