From ea38d092cc7807005c871c3e6453d1a2ac652a7e Mon Sep 17 00:00:00 2001 From: Soim Date: Mon, 29 Jan 2024 16:55:13 +0900 Subject: [PATCH 1/2] Check the return value when downloading --- src/fosslight_util/download.py | 4 +++- tests/test_download.py | 14 ++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/fosslight_util/download.py b/src/fosslight_util/download.py index 684aa38..5181566 100755 --- a/src/fosslight_util/download.py +++ b/src/fosslight_util/download.py @@ -25,6 +25,7 @@ import platform import subprocess import re +from typing import Tuple logger = logging.getLogger(constant.LOGGER_NAME) compression_extension = {".tar.bz2", ".tar.gz", ".tar.xz", ".tgz", ".tar", ".zip", ".jar", ".bz2"} @@ -111,7 +112,8 @@ def main(): cli_download_and_extract(src_link, target_dir, log_dir) -def cli_download_and_extract(link, target_dir, log_dir, checkout_to="", compressed_only=False): +def cli_download_and_extract(link: str, target_dir: str, log_dir: str, checkout_to: str = "", + compressed_only: bool = False) -> Tuple[bool, str, str, str]: global logger success = True diff --git a/tests/test_download.py b/tests/test_download.py index 78a4ae0..b7a6b95 100755 --- a/tests/test_download.py +++ b/tests/test_download.py @@ -6,10 +6,16 @@ def main(): - cli_download_and_extract("https://github.com/LGE-OSS/example", - "test_result/download/example", "test_result/download_log/example") - cli_download_and_extract("https://pypi.org/project/filelock/3.4.1", - "test_result/download/filelock", "test_result/download_log/filelock") + success, msg, _, _ = cli_download_and_extract("https://github.com/LGE-OSS/example", + "test_result/download/example", + "test_result/download_log/example") + if not success: + raise Exception(f"Download failed with git:{msg}") + success, msg, _, _ = cli_download_and_extract("https://pypi.org/project/filelock/3.4.1", + "test_result/download/filelock", + "test_result/download_log/filelock") + if not success: + raise Exception(f"Download failed with wget:{msg}") if __name__ == '__main__': From 8d4184c75e4a153d97a7f4d9046b66e287e18f6d Mon Sep 17 00:00:00 2001 From: Jaekwon Bang Date: Fri, 15 Mar 2024 22:44:08 +0900 Subject: [PATCH 2/2] Hide specific column if writing excel --- src/fosslight_util/output_format.py | 4 ++-- src/fosslight_util/write_excel.py | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/fosslight_util/output_format.py b/src/fosslight_util/output_format.py index a7a8bf8..5699a60 100644 --- a/src/fosslight_util/output_format.py +++ b/src/fosslight_util/output_format.py @@ -56,7 +56,7 @@ def check_output_format(output='', format='', customized_format={}): return success, msg, output_path, output_file, output_extension -def write_output_file(output_file_without_ext, file_extension, sheet_list, extended_header={}): +def write_output_file(output_file_without_ext, file_extension, sheet_list, extended_header={}, hide_header={}): success = True msg = '' @@ -67,7 +67,7 @@ def write_output_file(output_file_without_ext, file_extension, sheet_list, exten result_file = output_file_without_ext + file_extension if file_extension == '.xlsx': - success, msg = write_result_to_excel(result_file, sheet_list, extended_header) + success, msg = write_result_to_excel(result_file, sheet_list, extended_header, hide_header) elif file_extension == '.csv': success, msg, result_file = write_result_to_csv(result_file, sheet_list) elif file_extension == '.json': diff --git a/src/fosslight_util/write_excel.py b/src/fosslight_util/write_excel.py index 486dde0..5ede129 100755 --- a/src/fosslight_util/write_excel.py +++ b/src/fosslight_util/write_excel.py @@ -33,7 +33,7 @@ logger = logging.getLogger(constant.LOGGER_NAME) -def write_excel_and_csv(filename_without_extension, sheet_list, ignore_os=False, extended_header={}): +def write_excel_and_csv(filename_without_extension, sheet_list, ignore_os=False, extended_header={}, hide_header={}): success = True error_msg = "" success_csv = True @@ -47,7 +47,10 @@ def write_excel_and_csv(filename_without_extension, sheet_list, ignore_os=False, output_dir = os.path.dirname(filename_without_extension) Path(output_dir).mkdir(parents=True, exist_ok=True) - success, error_msg = write_result_to_excel(f"{filename_without_extension}.xlsx", sheet_list, extended_header) + success, error_msg = write_result_to_excel(f"{filename_without_extension}.xlsx", + sheet_list, + extended_header, + hide_header) if ignore_os or platform.system() != "Windows": success_csv, error_msg_csv, output_csv = write_result_to_csv(f"{filename_without_extension}.csv", @@ -163,7 +166,7 @@ def write_result_to_csv(output_file, sheet_list_origin, separate_sheet=False, ex return success, error_msg, output -def write_result_to_excel(out_file_name, sheet_list, extended_header={}): +def write_result_to_excel(out_file_name, sheet_list, extended_header={}, hide_header={}): success = True error_msg = "" @@ -182,6 +185,9 @@ def write_result_to_excel(out_file_name, sheet_list, extended_header={}): pass worksheet = create_worksheet(workbook, sheet_name, selected_header) write_result_to_sheet(worksheet, sheet_content_without_header) + + if hide_header: + hide_column(worksheet, selected_header, hide_header) workbook.close() except Exception as ex: error_msg = str(ex) @@ -198,6 +204,13 @@ def write_result_to_sheet(worksheet, sheet_contents): row += 1 +def hide_column(worksheet, selected_header, hide_header): + for col_idx, sel_hd in enumerate(selected_header): + for hide_hd in hide_header: + if sel_hd == hide_hd: + worksheet.set_column(col_idx, col_idx, None, None, {"hidden": True}) + + def create_worksheet(workbook, sheet_name, header_row): if len(sheet_name) > 31: current_time = str(time.time())