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