From 23c9f5cbb8d1112a3415c5e5ab589fd1522cd6f0 Mon Sep 17 00:00:00 2001 From: Wonjae Park Date: Fri, 17 May 2024 16:01:26 +0900 Subject: [PATCH 1/2] Enable multiple input for -f and -o option Signed-off-by: Wonjae Park --- src/fosslight_util/output_format.py | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/fosslight_util/output_format.py b/src/fosslight_util/output_format.py index 4cb5fe4..d484627 100644 --- a/src/fosslight_util/output_format.py +++ b/src/fosslight_util/output_format.py @@ -56,6 +56,53 @@ def check_output_format(output='', format='', customized_format={}): return success, msg, output_path, output_file, output_extension +def check_output_formats(output='', formats=[], customized_format={}): + success = True + msg = '' + output_path = '' + output_files = [] + output_extensions = [] + + if customized_format: + support_format = customized_format + else: + support_format = SUPPORT_FORMAT + + if formats: + # If -f option exist + formats = [format.lower() for format in formats] + for format in formats: + if format not in list(support_format.keys()): + success = False + msg = 'Enter the supported format with -f option: ' + ', '.join(list(support_format.keys())) + else: + output_extensions.append(support_format[format]) + + if success: + if output != '': + basename_extension = '' + if not os.path.isdir(output): + output_path = os.path.dirname(output) + + basename = os.path.basename(output) + basename_file, basename_extension = os.path.splitext(basename) + if basename_extension: + if formats: + if basename_extension not in output_extensions: + success = False + msg = f"The format of output file(-o:'{output}') should be in the format list(-f:'{formats}')." + else: + if basename_extension not in support_format.values(): + success = False + msg = 'Enter the supported file extension: ' + ', '.join(list(support_format.values())) + output_extensions.append(basename_extension) + output_files.append(basename_file) + else: + output_path = output + + return success, msg, output_path, output_files, output_extensions + + def write_output_file(output_file_without_ext, file_extension, sheet_list, extended_header={}, hide_header={}, cover=""): success = True msg = '' From 49b3d1f720ae47949c852e469d6315bcc52c5e19 Mon Sep 17 00:00:00 2001 From: Wonjae Park Date: Wed, 10 Jul 2024 14:17:13 +0900 Subject: [PATCH 2/2] Temp Signed-off-by: Wonjae Park --- src/fosslight_util/output_format.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fosslight_util/output_format.py b/src/fosslight_util/output_format.py index d484627..a0d2c04 100644 --- a/src/fosslight_util/output_format.py +++ b/src/fosslight_util/output_format.py @@ -96,7 +96,7 @@ def check_output_formats(output='', formats=[], customized_format={}): success = False msg = 'Enter the supported file extension: ' + ', '.join(list(support_format.values())) output_extensions.append(basename_extension) - output_files.append(basename_file) + output_files = [basename_file for _ in range(len(output_extensions))] else: output_path = output