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):