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 collections
 | 
			
		||||
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 flask import render_template
 | 
			
		||||
| 
						 | 
				
			
			@ -422,11 +422,11 @@ from worlds import network_data_package
 | 
			
		|||
 | 
			
		||||
if "Factorio" in network_data_package["games"]:
 | 
			
		||||
    def render_Factorio_multiworld_tracker(tracker_data: TrackerData, enabled_trackers: List[str]):
 | 
			
		||||
        inventories: Dict[TeamPlayer, Dict[int, int]] = {
 | 
			
		||||
            (team, player): {
 | 
			
		||||
        inventories: Dict[TeamPlayer, collections.Counter[str]] = {
 | 
			
		||||
            (team, player): collections.Counter({
 | 
			
		||||
                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 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"
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -501,7 +501,7 @@ if "A Link to the Past" in network_data_package["games"]:
 | 
			
		|||
        total: 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():
 | 
			
		||||
            if item in inventory:
 | 
			
		||||
                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
 | 
			
		||||
 | 
			
		||||
    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({
 | 
			
		||||
                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()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue