summaryrefslogtreecommitdiffstats
path: root/collectors/python.d.plugin/python_modules/bases/loaders.py
diff options
context:
space:
mode:
Diffstat (limited to 'collectors/python.d.plugin/python_modules/bases/loaders.py')
-rw-r--r--collectors/python.d.plugin/python_modules/bases/loaders.py57
1 files changed, 10 insertions, 47 deletions
diff --git a/collectors/python.d.plugin/python_modules/bases/loaders.py b/collectors/python.d.plugin/python_modules/bases/loaders.py
index 9eb268ce7..d8b2ec815 100644
--- a/collectors/python.d.plugin/python_modules/bases/loaders.py
+++ b/collectors/python.d.plugin/python_modules/bases/loaders.py
@@ -3,7 +3,6 @@
# Author: Ilya Mashchenko (l2isbad)
# SPDX-License-Identifier: GPL-3.0-or-later
-import types
from sys import version_info
@@ -18,24 +17,23 @@ except ImportError:
from yaml import SafeLoader as YamlSafeLoader
-if PY_VERSION > (3, 1):
- from importlib.machinery import SourceFileLoader
- DEFAULT_MAPPING_TAG = 'tag:yaml.org,2002:map'
-else:
- from imp import load_source as SourceFileLoader
- DEFAULT_MAPPING_TAG = u'tag:yaml.org,2002:map'
-
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))
-def safe_load(stream):
+YamlSafeLoader.add_constructor(DEFAULT_MAPPING_TAG, dict_constructor)
+
+
+def load_yaml(stream):
loader = YamlSafeLoader(stream)
try:
return loader.get_single_data()
@@ -43,41 +41,6 @@ def safe_load(stream):
loader.dispose()
-YamlSafeLoader.add_constructor(DEFAULT_MAPPING_TAG, dict_constructor)
-
-
-class YamlOrderedLoader:
- @staticmethod
- def load_config_from_file(file_name):
- opened, loaded = False, False
- try:
- stream = open(file_name, 'r')
- opened = True
- loader = YamlSafeLoader(stream)
- loaded = True
- parsed = loader.get_single_data() or dict()
- except Exception as error:
- return dict(), error
- else:
- return parsed, None
- finally:
- if opened:
- stream.close()
- if loaded:
- loader.dispose()
-
-
-class SourceLoader:
- @staticmethod
- def load_module_from_file(name, path):
- try:
- loaded = SourceFileLoader(name, path)
- if isinstance(loaded, types.ModuleType):
- return loaded, None
- return loaded.load_module(), None
- except Exception as error:
- return None, error
-
-
-class ModuleAndConfigLoader(YamlOrderedLoader, SourceLoader):
- pass
+def load_config(file_name):
+ with open(file_name, 'r') as stream:
+ return load_yaml(stream)