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