mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
![]() |
from typing import Dict, List, Optional
|
||
|
|
||
|
from .Data import get_progressive_districts_data
|
||
|
|
||
|
_flat_progressive_districts: Optional[Dict[str, str]] = {}
|
||
|
|
||
|
|
||
|
def get_flat_progressive_districts() -> Dict[str, str]:
|
||
|
"""Returns a dictionary of all items that are associated with a progressive item.
|
||
|
Key is the item name ("TECH_WRITING") and the value is the associated progressive
|
||
|
item ("PROGRESSIVE_CAMPUS")"""
|
||
|
if _flat_progressive_districts:
|
||
|
return _flat_progressive_districts
|
||
|
|
||
|
progressive_districts = get_progressive_districts_data()
|
||
|
flat_progressive_districts: Dict[str, str] = {}
|
||
|
for key, value in progressive_districts.items():
|
||
|
for item in value:
|
||
|
flat_progressive_districts[item] = key
|
||
|
return flat_progressive_districts
|
||
|
|
||
|
|
||
|
def convert_items_to_progressive_items(items: List[str]):
|
||
|
"""converts a list of items to instead be their associated progressive item if
|
||
|
they have one. ["TECH_MINING", "TECH_WRITING"] -> ["TECH_MINING", "PROGRESSIVE_CAMPUS]
|
||
|
"""
|
||
|
flat_progressive_districts = get_flat_progressive_districts()
|
||
|
return [flat_progressive_districts.get(item, item) for item in items]
|
||
|
|
||
|
|
||
|
def convert_item_to_progressive_item(item: str):
|
||
|
"""converts an items to instead be its associated progressive item if
|
||
|
it has one. "TECH_WRITING" -> "PROGRESSIVE_CAMPUS"""
|
||
|
flat_progressive_districts = get_flat_progressive_districts()
|
||
|
return flat_progressive_districts.get(item, item)
|