1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
"""Utility functions for the python-ecobee-api library."""
import os
from typing import Optional
try:
import simplejson as json
except ImportError:
import json
from .const import _LOGGER
def config_from_file(filename: str, config: dict = None) -> Optional[str]:
"""Reads/writes json from/to a filename."""
if config:
# We're writing configuration
try:
with open(filename, "w") as fdesc:
fdesc.write(json.dumps(config))
return True
except IOError as error:
_LOGGER.exception(error)
return False
else:
# We're reading config
if os.path.isfile(filename):
try:
with open(filename, "r") as fdesc:
return json.loads(fdesc.read())
except IOError as error:
_LOGGER.exception(error)
return False
else:
return {}
def convert_to_bool(input) -> bool:
return str(input).lower() in ["true", "1", "t", "y", "yes"]
|