From 1d71409b22c08d3c1e50f3454ea13cf12d7ffb8c Mon Sep 17 00:00:00 2001 From: Bertrand Lanson Date: Mon, 11 Dec 2023 23:45:31 +0100 Subject: [PATCH] feat(template): do not print new lines if value of flag is None --- filter_plugins/docker_filters.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/filter_plugins/docker_filters.py b/filter_plugins/docker_filters.py index ee7e669..25c89b6 100644 --- a/filter_plugins/docker_filters.py +++ b/filter_plugins/docker_filters.py @@ -1,9 +1,11 @@ # filter_plugins/docker_filters.py - def create_docker_flags(flags): if flags: - return "\n".join([create_docker_flag(item) for item in flags]) + filtered_flags = [ + create_docker_flag(item) for item in flags if create_docker_flag(item) + ] + return "\n".join(filtered_flags) return None @@ -11,14 +13,16 @@ def create_docker_flag(item): if isinstance(item, dict): key = list(item.keys())[0] value = item[key] - if isinstance(value, list): - return "\n".join(['--{} "{}" \\'.format(key, val) for val in value]) - else: - return '--{} "{}" \\'.format(key, value) + if value is not None: + if isinstance(value, list): + flag_values = ['--{} "{}"'.format(key, val) for val in value] + joined_values = " \\\n".join(flag_values) + return f"{joined_values} \\" if joined_values else None + else: + return '--{} "{}" \\'.format(key, value) elif isinstance(item, str): return "--{} \\".format(item) - else: - return "" + return None class FilterModule(object):