grocy-cli/grocy/util.py

31 lines
855 B
Python
Raw Normal View History

import yaml
import logging
def _yaml_constructor(loader, node):
return node.value
class Util(object):
def __init__(self, cfg):
self.cfg = cfg
yaml.SafeLoader.add_constructor("tag:yaml.org,2002:python/unicode", _yaml_constructor)
def load_yaml(self, data):
generator = yaml.safe_load_all(data)
data_list = list(generator)
return data_list
def verify_integrity(new_data, schema):
logger = logging.getLogger('util.verify_integrity')
try:
# Verify that updated fields exist
schema_keys = schema['properties'].keys()
for prop in new_data.keys():
if prop not in schema_keys:
raise Exception('{} is not a valid field'.format(prop))
except Exception as e:
logger.error(e)
raise e