summaryrefslogtreecommitdiffstats
path: root/collectors/python.d.plugin/python_modules/bases/collection.py
diff options
context:
space:
mode:
Diffstat (limited to 'collectors/python.d.plugin/python_modules/bases/collection.py')
-rw-r--r--collectors/python.d.plugin/python_modules/bases/collection.py117
1 files changed, 0 insertions, 117 deletions
diff --git a/collectors/python.d.plugin/python_modules/bases/collection.py b/collectors/python.d.plugin/python_modules/bases/collection.py
deleted file mode 100644
index 93bf8cf05..000000000
--- a/collectors/python.d.plugin/python_modules/bases/collection.py
+++ /dev/null
@@ -1,117 +0,0 @@
-# -*- coding: utf-8 -*-
-# Description:
-# Author: Ilya Mashchenko (ilyam8)
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-import os
-
-from threading import Lock
-
-PATH = os.getenv('PATH', '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin').split(':')
-
-CHART_BEGIN = 'BEGIN {0} {1}\n'
-CHART_CREATE = "CHART {0} '{1}' '{2}' '{3}' '{4}' '{5}' {6} {7} {8}\n"
-DIMENSION_CREATE = "DIMENSION '{0}' '{1}' {2} {3} {4} '{5}'\n"
-DIMENSION_SET = "SET '{0}' = {1}\n"
-
-print_lock = Lock()
-
-
-def setdefault_values(config, base_dict):
- for key, value in base_dict.items():
- config.setdefault(key, value)
- return config
-
-
-def run_and_exit(func):
- def wrapper(*args, **kwargs):
- func(*args, **kwargs)
- exit(1)
-
- return wrapper
-
-
-def on_try_except_finally(on_except=(None,), on_finally=(None,)):
- except_func = on_except[0]
- finally_func = on_finally[0]
-
- def decorator(func):
- def wrapper(*args, **kwargs):
- try:
- func(*args, **kwargs)
- except Exception:
- if except_func:
- except_func(*on_except[1:])
- finally:
- if finally_func:
- finally_func(*on_finally[1:])
-
- return wrapper
-
- return decorator
-
-
-def static_vars(**kwargs):
- def decorate(func):
- for k in kwargs:
- setattr(func, k, kwargs[k])
- return func
-
- return decorate
-
-
-@on_try_except_finally(on_except=(exit, 1))
-def safe_print(*msg):
- """
- :param msg:
- :return:
- """
- print_lock.acquire()
- print(''.join(msg))
- print_lock.release()
-
-
-def find_binary(binary):
- """
- :param binary: <str>
- :return:
- """
- for directory in PATH:
- binary_name = os.path.join(directory, binary)
- if os.path.isfile(binary_name) and os.access(binary_name, os.X_OK):
- return binary_name
- return None
-
-
-def read_last_line(f):
- with open(f, 'rb') as opened:
- opened.seek(-2, 2)
- while opened.read(1) != b'\n':
- opened.seek(-2, 1)
- if opened.tell() == 0:
- break
- result = opened.readline()
- return result.decode()
-
-
-def unicode_str(arg):
- """Return the argument as a unicode string.
-
- The `unicode` function has been removed from Python3 and `str` takes its
- place. This function is a helper which will try using Python 2's `unicode`
- and if it doesn't exist, assume we're using Python 3 and use `str`.
-
- :param arg:
- :return: <str>
- """
- # TODO: fix
- try:
- # https://github.com/netdata/netdata/issues/7613
- if isinstance(arg, unicode):
- return arg
- return unicode(arg, errors='ignore')
- # https://github.com/netdata/netdata/issues/7642
- except TypeError:
- return unicode(arg)
- except NameError:
- return str(arg)