 c604dfe509
			
		
	
	c604dfe509
	
	
	
		
			
			and some other updates PrintHTML is an experiment and is unlikely the solution I'll go with
		
			
				
	
	
		
			32 lines
		
	
	
		
			945 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			945 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from typing import NamedTuple, Union
 | |
| import logging
 | |
| 
 | |
| class PlandoItem(NamedTuple):
 | |
|     item: str
 | |
|     location: str
 | |
|     world: Union[bool, str] = False  # False -> own world, True -> not own world
 | |
|     from_pool: bool = True  # if item should be removed from item pool
 | |
|     force: str = 'silent'  # false -> warns if item not successfully placed. true -> errors out on failure to place item.
 | |
| 
 | |
|     def warn(self, warning: str):
 | |
|         if self.force in ['true', 'fail', 'failure', 'none', 'false', 'warn', 'warning']:
 | |
|             logging.warning(f'{warning}')
 | |
|         else:
 | |
|             logging.debug(f'{warning}')
 | |
| 
 | |
|     def failed(self, warning: str, exception=Exception):
 | |
|         if self.force in ['true', 'fail', 'failure']:
 | |
|             raise exception(warning)
 | |
|         else:
 | |
|             self.warn(warning)
 | |
| 
 | |
| 
 | |
| class PlandoConnection(NamedTuple):
 | |
|     entrance: str
 | |
|     exit: str
 | |
|     direction: str  # entrance, exit or both
 | |
| 
 | |
| 
 | |
| class World():
 | |
|     pass
 |