Fill: fix type-crash on unfilled having either str or Location

Fill: speed up Counter creation by skipping intermediary list creation
This commit is contained in:
Fabian Dill 2022-05-18 14:54:13 +02:00 committed by Fabian Dill
parent 45bca78e75
commit 90d506ee7c
1 changed files with 5 additions and 5 deletions

10
Fill.py
View File

@ -220,15 +220,15 @@ def distribute_items_restrictive(world: MultiWorld) -> None:
restitempool, defaultlocations = fast_fill(
world, restitempool, defaultlocations)
unplaced = progitempool + restitempool
unfilled = [location.name for location in defaultlocations]
unfilled = defaultlocations
if unplaced or unfilled:
logging.warning(
f'Unplaced items({len(unplaced)}): {unplaced} - Unfilled Locations({len(unfilled)}): {unfilled}')
items_counter = Counter([location.item.player for location in world.get_locations() if location.item])
locations_counter = Counter([location.player for location in world.get_locations()])
items_counter.update([item.player for item in unplaced])
locations_counter.update([location.player for location in unfilled])
items_counter = Counter(location.item.player for location in world.get_locations() if location.item)
locations_counter = Counter(location.player for location in world.get_locations())
items_counter.update(item.player for item in unplaced)
locations_counter.update(location.player for location in unfilled)
print_data = {"items": items_counter, "locations": locations_counter}
logging.info(f'Per-Player counts: {print_data})')