summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/telegraf/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/pybind/mgr/telegraf/utils.py')
-rw-r--r--src/pybind/mgr/telegraf/utils.py26
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()