diff options
Diffstat (limited to 'src/pybind/mgr/telegraf/utils.py')
-rw-r--r-- | src/pybind/mgr/telegraf/utils.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/pybind/mgr/telegraf/utils.py b/src/pybind/mgr/telegraf/utils.py new file mode 100644 index 000000000..783e9edc7 --- /dev/null +++ b/src/pybind/mgr/telegraf/utils.py @@ -0,0 +1,26 @@ +from typing import Union + +ValueType = Union[str, bool, int, float] + + +def format_string(key: ValueType) -> str: + if isinstance(key, str): + return key.replace(',', r'\,') \ + .replace(' ', r'\ ') \ + .replace('=', r'\=') + else: + return str(key) + + +def format_value(value: ValueType) -> str: + if isinstance(value, str): + value = value.replace('"', '\"') + return f'"{value}"' + elif isinstance(value, bool): + return str(value) + elif isinstance(value, int): + return f"{value}i" + elif isinstance(value, float): + return str(value) + else: + raise ValueError() |