mirror of
https://github.com/netinvent/npbackup.git
synced 2024-09-22 07:46:21 +08:00
Make sure multiline variables from yaml config are lists
This commit is contained in:
parent
b8cc4962ae
commit
b868b74125
|
@ -61,6 +61,8 @@ def metric_writer(config_dict: dict, restic_result: bool, result_string: str):
|
||||||
prometheus_additional_labels = config_dict["prometheus"][
|
prometheus_additional_labels = config_dict["prometheus"][
|
||||||
"additional_labels"
|
"additional_labels"
|
||||||
]
|
]
|
||||||
|
if not isinstance(prometheus_additional_labels, list):
|
||||||
|
prometheus_additional_labels = [prometheus_additional_labels]
|
||||||
except (KeyError, AttributeError):
|
except (KeyError, AttributeError):
|
||||||
prometheus_additional_labels = None
|
prometheus_additional_labels = None
|
||||||
|
|
||||||
|
@ -69,10 +71,7 @@ def metric_writer(config_dict: dict, restic_result: bool, result_string: str):
|
||||||
[f'{key}="{value}"' for key, value in labels.items() if value]
|
[f'{key}="{value}"' for key, value in labels.items() if value]
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
# Make sure we convert prometheus_additional_labels to list if only one label is given
|
|
||||||
if prometheus_additional_labels:
|
if prometheus_additional_labels:
|
||||||
if not isinstance(prometheus_additional_labels, list):
|
|
||||||
prometheus_additional_labels = [prometheus_additional_labels]
|
|
||||||
for additional_label in prometheus_additional_labels:
|
for additional_label in prometheus_additional_labels:
|
||||||
label, value = additional_label.split("=")
|
label, value = additional_label.split("=")
|
||||||
label_string += ',{}="{}"'.format(label.strip(), value.strip())
|
label_string += ',{}="{}"'.format(label.strip(), value.strip())
|
||||||
|
@ -321,15 +320,14 @@ class NPBackupRunner:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
env_variables = self.config_dict["env"]["variables"]
|
env_variables = self.config_dict["env"]["variables"]
|
||||||
|
if not isinstance(env_variables, list):
|
||||||
|
env_variables = [env_variables]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
env_variables = None
|
env_variables = None
|
||||||
|
|
||||||
expanded_env_vars = {}
|
expanded_env_vars = {}
|
||||||
try:
|
try:
|
||||||
if env_variables:
|
if env_variables:
|
||||||
# Make sure we convert env_variables to list if only one label is given
|
|
||||||
if not isinstance(env_variables, list):
|
|
||||||
env_variables = [env_variables]
|
|
||||||
for env_variable in env_variables:
|
for env_variable in env_variables:
|
||||||
key, value = env_variable.split("=")
|
key, value = env_variable.split("=")
|
||||||
expanded_env_vars[key.strip()] = value.strip()
|
expanded_env_vars[key.strip()] = value.strip()
|
||||||
|
@ -438,10 +436,14 @@ class NPBackupRunner:
|
||||||
# MSWindows does not support one-file-system option
|
# MSWindows does not support one-file-system option
|
||||||
try:
|
try:
|
||||||
exclude_patterns = self.config_dict["backup"]["exclude_patterns"]
|
exclude_patterns = self.config_dict["backup"]["exclude_patterns"]
|
||||||
|
if not isinstance(exclude_patterns, list):
|
||||||
|
exclude_patterns = [exclude_patterns]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
exclude_patterns = []
|
exclude_patterns = []
|
||||||
try:
|
try:
|
||||||
exclude_files = self.config_dict["backup"]["exclude_files"]
|
exclude_files = self.config_dict["backup"]["exclude_files"]
|
||||||
|
if not isinstance(exclude_files, list):
|
||||||
|
exclude_files = [exclude_files]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
exclude_files = []
|
exclude_files = []
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in a new issue