Factorio: Fix 500 error on Factorio multi-tracker. (#3184)
* Factorio: Fix 500 error on Factorio multi-tracker. * Hopefully this also fixes the webhost test failures.
This commit is contained in:
parent
532cff1334
commit
a45fa84382
|
@ -1,7 +1,7 @@
|
||||||
import datetime
|
import datetime
|
||||||
import collections
|
import collections
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Any, Callable, Dict, List, Optional, Set, Tuple, NamedTuple
|
from typing import Any, Callable, Dict, List, Optional, Set, Tuple, NamedTuple, Counter
|
||||||
from uuid import UUID
|
from uuid import UUID
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
|
@ -422,11 +422,11 @@ from worlds import network_data_package
|
||||||
|
|
||||||
if "Factorio" in network_data_package["games"]:
|
if "Factorio" in network_data_package["games"]:
|
||||||
def render_Factorio_multiworld_tracker(tracker_data: TrackerData, enabled_trackers: List[str]):
|
def render_Factorio_multiworld_tracker(tracker_data: TrackerData, enabled_trackers: List[str]):
|
||||||
inventories: Dict[TeamPlayer, Dict[int, int]] = {
|
inventories: Dict[TeamPlayer, collections.Counter[str]] = {
|
||||||
(team, player): {
|
(team, player): collections.Counter({
|
||||||
tracker_data.item_id_to_name["Factorio"][item_id]: count
|
tracker_data.item_id_to_name["Factorio"][item_id]: count
|
||||||
for item_id, count in tracker_data.get_player_inventory_counts(team, player).items()
|
for item_id, count in tracker_data.get_player_inventory_counts(team, player).items()
|
||||||
} for team, players in tracker_data.get_all_slots().items() for player in players
|
}) for team, players in tracker_data.get_all_slots().items() for player in players
|
||||||
if tracker_data.get_player_game(team, player) == "Factorio"
|
if tracker_data.get_player_game(team, player) == "Factorio"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -501,7 +501,7 @@ if "A Link to the Past" in network_data_package["games"]:
|
||||||
total: int
|
total: int
|
||||||
checked: int
|
checked: int
|
||||||
|
|
||||||
def prepare_inventories(team: int, player: int, inventory: collections.Counter[str], tracker_data: TrackerData):
|
def prepare_inventories(team: int, player: int, inventory: Counter[str], tracker_data: TrackerData):
|
||||||
for item, (prog_item, level) in non_progressive_items.items():
|
for item, (prog_item, level) in non_progressive_items.items():
|
||||||
if item in inventory:
|
if item in inventory:
|
||||||
inventory[prog_item] = min(max(inventory[prog_item], level), progressive_item_max[prog_item])
|
inventory[prog_item] = min(max(inventory[prog_item], level), progressive_item_max[prog_item])
|
||||||
|
@ -525,7 +525,7 @@ if "A Link to the Past" in network_data_package["games"]:
|
||||||
inventory["Triforce"] = 1
|
inventory["Triforce"] = 1
|
||||||
|
|
||||||
def render_ALinkToThePast_multiworld_tracker(tracker_data: TrackerData, enabled_trackers: List[str]):
|
def render_ALinkToThePast_multiworld_tracker(tracker_data: TrackerData, enabled_trackers: List[str]):
|
||||||
inventories: Dict[Tuple[int, int], collections.Counter[str]] = {
|
inventories: Dict[Tuple[int, int], Counter[str]] = {
|
||||||
(team, player): collections.Counter({
|
(team, player): collections.Counter({
|
||||||
tracker_data.item_id_to_name["A Link to the Past"][code]: count
|
tracker_data.item_id_to_name["A Link to the Past"][code]: count
|
||||||
for code, count in tracker_data.get_player_inventory_counts(team, player).items()
|
for code, count in tracker_data.get_player_inventory_counts(team, player).items()
|
||||||
|
|
Loading…
Reference in New Issue