From 003ba4c311dae98249d5d8db45f59848c283298d Mon Sep 17 00:00:00 2001 From: Soim Kim Date: Wed, 12 May 2021 12:20:24 +0900 Subject: [PATCH 1/3] Add returning item parameter --- setup.py | 2 +- src/fosslight_source/run_scancode.py | 9 ++++-- test/cli_test.py | 42 ++++++++++++++++++++++++++++ tox.ini | 1 + 4 files changed, 50 insertions(+), 4 deletions(-) create mode 100755 test/cli_test.py diff --git a/setup.py b/setup.py index 052eeef..2bcb3a7 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ if __name__ == "__main__": setup( name='fosslight_source', - version='1.4.4', + version='1.4.5', package_dir={"": "src"}, packages=find_packages(where='src'), description='FOSSLight Source', diff --git a/src/fosslight_source/run_scancode.py b/src/fosslight_source/run_scancode.py index fd0b3d4..711ebe5 100755 --- a/src/fosslight_source/run_scancode.py +++ b/src/fosslight_source/run_scancode.py @@ -56,17 +56,18 @@ def main(): timer = TimerThread() timer.setDaemon(True) timer.start() - success, result_log = run_scan(_path_to_scan, _output_file, _write_json_file, -1) + run_scan(_path_to_scan, _output_file, _write_json_file, -1, False) def run_scan(path_to_scan, output_file_name="", - _write_json_file=False, num_cores=-1): + _write_json_file=False, num_cores=-1, return_results=False): global logger success = True msg = "" _str_final_result_log = "" _result_log = {} + results = {} _windows = platform.system() == "Windows" start_time = datetime.now().strftime('%Y-%m-%d_%H-%M-%S') @@ -128,6 +129,8 @@ def run_scan(path_to_scan, output_file_name="", success = False msg = _ERROR_PREFIX+"Check the path to scan. :" + path_to_scan+"\n" + if not return_results: + results = {} scan_result_msg = str(success)+" "+msg _result_log["Scan Result"] = scan_result_msg.strip() _result_log["Output Directory"] = output_dir @@ -136,7 +139,7 @@ def run_scan(path_to_scan, output_file_name="", logger.warn("\n"+_str_final_result_log) except Exception as ex: logger.warn(_ERROR_PREFIX+"Failed to print result log. "+ str(ex)) - return success, _str_final_result_log + return success, _str_final_result_log, results if __name__ == '__main__': diff --git a/test/cli_test.py b/test/cli_test.py new file mode 100755 index 0000000..ec72ba5 --- /dev/null +++ b/test/cli_test.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (c) 2020 LG Electronics Inc. +# SPDX-License-Identifier: Apache-2.0 + +import getopt +import os +import sys +import json +from datetime import datetime +import logging +import fosslight_util.constant as constant +from fosslight_util.set_log import init_log +from fosslight_source.run_scancode import run_scan + +logger = logging.getLogger(constant.LOGGER_NAME) + + +def main(): + global logger + + argv = sys.argv[1:] + path_to_find_bin = os.path.abspath("test/test") + start_time = datetime.now().strftime('%Y-%m-%d_%H-%M-%S') + output_file_name = "" + + oss_report_name = "test_result_func_call/result" + output_dir = os.path.dirname(os.path.abspath(output_file_name)) + + logger = init_log(os.path.join(output_dir, "fosslight_src_log_"+start_time+".txt")) + + ret = run_scan(path_to_find_bin, oss_report_name, True, -1, True) + + logger.warn("[Scan] Result: %s" % (ret[0])) + logger.warn("[Scan] Result_msg: %s" % (ret[1])) + + if len(ret) > 2: + logger.warn("[Scan] Result_items: %s" % (str(ret[2]))) + + +if __name__ == '__main__': + main() diff --git a/tox.ini b/tox.ini index 2490d16..d920799 100644 --- a/tox.ini +++ b/tox.ini @@ -16,3 +16,4 @@ commands = cat test_scan/scan_result.csv fosslight_convert -p test_scan/scan_result.json -o test_convert/convert_result cat test_convert/convert_result.csv + python test/cli_test.py From ded1c8604a5767aa41e3a05631093cc7aa47d737 Mon Sep 17 00:00:00 2001 From: Soim Kim Date: Wed, 12 May 2021 14:12:19 +0900 Subject: [PATCH 2/3] Return the parsed result --- src/fosslight_source/run_scancode.py | 6 +++--- test/cli_test.py | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/fosslight_source/run_scancode.py b/src/fosslight_source/run_scancode.py index 711ebe5..62e1a04 100755 --- a/src/fosslight_source/run_scancode.py +++ b/src/fosslight_source/run_scancode.py @@ -67,7 +67,7 @@ def run_scan(path_to_scan, output_file_name="", msg = "" _str_final_result_log = "" _result_log = {} - results = {} + result_list = [] _windows = platform.system() == "Windows" start_time = datetime.now().strftime('%Y-%m-%d_%H-%M-%S') @@ -130,7 +130,7 @@ def run_scan(path_to_scan, output_file_name="", msg = _ERROR_PREFIX+"Check the path to scan. :" + path_to_scan+"\n" if not return_results: - results = {} + result_list = [] scan_result_msg = str(success)+" "+msg _result_log["Scan Result"] = scan_result_msg.strip() _result_log["Output Directory"] = output_dir @@ -139,7 +139,7 @@ def run_scan(path_to_scan, output_file_name="", logger.warn("\n"+_str_final_result_log) except Exception as ex: logger.warn(_ERROR_PREFIX+"Failed to print result log. "+ str(ex)) - return success, _str_final_result_log, results + return success, _str_final_result_log, result_list if __name__ == '__main__': diff --git a/test/cli_test.py b/test/cli_test.py index ec72ba5..10cf2e6 100755 --- a/test/cli_test.py +++ b/test/cli_test.py @@ -35,7 +35,11 @@ def main(): logger.warn("[Scan] Result_msg: %s" % (ret[1])) if len(ret) > 2: - logger.warn("[Scan] Result_items: %s" % (str(ret[2]))) + try: + for scan_item in ret[2]: + logger.warn(scan_item.get_row_to_print()) + except Exception as ex: + logger.error("Error:"+str(ex)) if __name__ == '__main__': From 5de6ffcdebe1b900e691054d042b47aaa1cdd003 Mon Sep 17 00:00:00 2001 From: dd-jy Date: Thu, 13 May 2021 16:06:54 +0900 Subject: [PATCH 3/3] Add click in requirements.txt --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index dca2c8b..cb90d38 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ +click==6.7 scancode-toolkit<=21.3.31 typecode_libmagic XlsxWriter fosslight_util -PyYAML \ No newline at end of file +PyYAML