move networks commands to [str, Optional[dict]] across the board

and some other updates
PrintHTML is an experiment and is unlikely the solution I'll go with
This commit is contained in:
Fabian Dill
2021-01-21 23:37:58 +01:00
parent 670b8b4b11
commit c604dfe509
6 changed files with 246 additions and 177 deletions

View File

@@ -1,11 +1,24 @@
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):