Viewing file: loaders.py (1.02 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# -*- coding: utf-8 -*- # Description: # Author: Ilya Mashchenko (ilyam8) # SPDX-License-Identifier: GPL-3.0-or-later
from sys import version_info
PY_VERSION = version_info[:2]
try: if PY_VERSION > (3, 1): from pyyaml3 import SafeLoader as YamlSafeLoader else: from pyyaml2 import SafeLoader as YamlSafeLoader except ImportError: from yaml import SafeLoader as YamlSafeLoader
try: from collections import OrderedDict except ImportError: from third_party.ordereddict import OrderedDict
DEFAULT_MAPPING_TAG = 'tag:yaml.org,2002:map' if PY_VERSION > (3, 1) else u'tag:yaml.org,2002:map'
def dict_constructor(loader, node): return OrderedDict(loader.construct_pairs(node))
YamlSafeLoader.add_constructor(DEFAULT_MAPPING_TAG, dict_constructor)
def load_yaml(stream): loader = YamlSafeLoader(stream) try: return loader.get_single_data() finally: loader.dispose()
def load_config(file_name): with open(file_name, 'r') as stream: return load_yaml(stream)
|