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) |