%global _empty_manifest_terminate_build 0 Name: python-fosslight-util Version: 1.4.25 Release: 1 Summary: FOSSLight Util License: Apache-2.0 URL: https://github.com/fosslight/fosslight_util Source0: https://mirrors.aliyun.com/pypi/web/packages/33/6b/d92f9ecdbe8610a9a18a1990cc1400f3335c37fefb419ed01b7b2a238841/fosslight_util-1.4.25.tar.gz BuildArch: noarch Requires: python3-XlsxWriter Requires: python3-pandas Requires: python3-xlrd Requires: python3-openpyxl Requires: python3-progress Requires: python3-PyYAML Requires: python3-lastversion Requires: python3-coloredlogs Requires: python3-python3-wget Requires: python3-beautifulsoup4 Requires: python3-jsonmerge Requires: python3-spdx-tools Requires: python3-pygit2 Requires: python3-pygit2 %description # FOSSLight Util FOSSLight Util is released under the Apache-2.0. Current python package version. [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_util)](https://api.reuse.software/info/github.com/fosslight/fosslight_util) It is a package that supports common utils used by FOSSLight Scanner. ## Features 1. It simplifies the logger setup. 2. It provides a simple function to create a output file. 3. It provides a spdx license list with json format. 4. It defines common constant variables. 5. It provides a thread that prints the spinner. 6. Download source code. [or]: http://collab.lge.com/main/x/xDHlFg ## Contents - [Prerequisite](#-prerequisite) - [How to install](#-how-to-install) - [How to run](#-how-to-run) - [How to report issue](#-how-to-report-issue) - [License](#-license) ## 📋 Prerequisite FOSSLight Util needs a Python 3.6+. ## 🎉 How to install It can be installed using pip3. ``` $ pip3 install fosslight_util ``` ## 🚀 How to use Three modules can be called. Please refer to each file for detailed calling method. ### 1. Setup logger (tests/test_log.py) ``` from fosslight_util.set_log import init_log # 1st param : log file path # 2nd param : create file (True/False) # 3rd param : stream log level # 4th param : file log level # =>log level(CRITICAL:50, ERROR:40, WARNING:30, INFO:20, DEBUG:10, NOTSET:0) # 5th param : package name of fosslight scanners (fosslight_source / fosslight_dependency / fosslight_reuse) # 6th param : path to analyze # # 1st return value : a logger # 2nd return value : log items to print def test(): logger, log_item = init_log("test_result/log_file1.txt", True, 30, 20) logger.warning("TESTING - Print log") ``` ### 2. Write result files (tests/test_output_format.py) ``` from fosslight_util.output_format import write_output_file # 2nd param : output file format # => file format(excel: .xlsx, csv: .csv, opossum: .json) def test(): sheet_contents = {'SRC':[['run_scancode.py', 'fosslight_source', '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_source', 'https://github.com/LGE-OSS/fosslight_source', 'Copyright (c) 2021 LG Electronics, Inc.', 'Exclude', 'Comment message'], ['dependency_unified.py', 'fosslight_dependency', '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_dependency', 'https://github.com/LGE-OSS/fosslight_dependency', 'Copyright (c) 2020 LG Electronics, Inc.', '', '']], 'BIN':[['askalono.exe', 'askalono', '0.4.3', 'Apache-2.0', 'https://github.com/jpeddicord/askalono', '', 'Copyright (c) 2018 Amazon.com, Inc. or its affiliates.', '', '']]} success, msg = write_output_file('test_result/excel/FOSSLight-Report', '.xlsx', sheet_contents) ``` ### 3. Get spdx licenses (tests/test_spdx_licenses.py) ``` from fosslight_util.spdx_licenses import get_spdx_licenses_json def test(): success, error_msg, licenses = get_spdx_licenses_json() ``` ### 4. Load common constant (tests/_print_log_with_another_logger.py) ``` import fosslight_util.constant as constant logger = logging.getLogger(constant.LOGGER_NAME) logger.warning("Get a logger after init_log is called once.") ``` ### 5. Call a spinner (tests/test_timer.py) ``` from fosslight_util.timer_thread import TimerThread timer = TimerThread() timer.setDaemon(True) timer.start() ``` ### 6. Download the source code (tests/test_download.py) If you give a link, the source is downloaded to the target directory through git clone or wget. #### How it works 1. Try git clone. 2. If git clone fails, download it with wget and extract the compressed file. 3. After extracting the compressed file, delete the compressed file. #### Parameters | Parameter | Argument | Description | | ------------- | ------------- | ------------- | | h | None | Print help message. | | s | String | Link to download. | | t | String | Path to download and extract. | | d | String | Path to save a log file. | #### How to run ``` $ fosslight_download -s "https://github.com/LGE-OSS/example" -t target_dir/ ``` ## 👏 How to report issue Please report any ideas or bugs to improve by creating an issue in [fosslight_util repository][cl]. Then there will be quick bug fixes and upgrades. Ideas to improve are always welcome. [cl]: https://github.com/fosslight/fosslight_util/issues ## 📄 License FOSSLight Util is released under [Apache-2.0][l]. [l]: https://github.com/fosslight/fosslight_util/blob/main/LICENSE %package -n python3-fosslight-util Summary: FOSSLight Util Provides: python-fosslight-util BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-fosslight-util # FOSSLight Util FOSSLight Util is released under the Apache-2.0. Current python package version. [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_util)](https://api.reuse.software/info/github.com/fosslight/fosslight_util) It is a package that supports common utils used by FOSSLight Scanner. ## Features 1. It simplifies the logger setup. 2. It provides a simple function to create a output file. 3. It provides a spdx license list with json format. 4. It defines common constant variables. 5. It provides a thread that prints the spinner. 6. Download source code. [or]: http://collab.lge.com/main/x/xDHlFg ## Contents - [Prerequisite](#-prerequisite) - [How to install](#-how-to-install) - [How to run](#-how-to-run) - [How to report issue](#-how-to-report-issue) - [License](#-license) ## 📋 Prerequisite FOSSLight Util needs a Python 3.6+. ## 🎉 How to install It can be installed using pip3. ``` $ pip3 install fosslight_util ``` ## 🚀 How to use Three modules can be called. Please refer to each file for detailed calling method. ### 1. Setup logger (tests/test_log.py) ``` from fosslight_util.set_log import init_log # 1st param : log file path # 2nd param : create file (True/False) # 3rd param : stream log level # 4th param : file log level # =>log level(CRITICAL:50, ERROR:40, WARNING:30, INFO:20, DEBUG:10, NOTSET:0) # 5th param : package name of fosslight scanners (fosslight_source / fosslight_dependency / fosslight_reuse) # 6th param : path to analyze # # 1st return value : a logger # 2nd return value : log items to print def test(): logger, log_item = init_log("test_result/log_file1.txt", True, 30, 20) logger.warning("TESTING - Print log") ``` ### 2. Write result files (tests/test_output_format.py) ``` from fosslight_util.output_format import write_output_file # 2nd param : output file format # => file format(excel: .xlsx, csv: .csv, opossum: .json) def test(): sheet_contents = {'SRC':[['run_scancode.py', 'fosslight_source', '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_source', 'https://github.com/LGE-OSS/fosslight_source', 'Copyright (c) 2021 LG Electronics, Inc.', 'Exclude', 'Comment message'], ['dependency_unified.py', 'fosslight_dependency', '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_dependency', 'https://github.com/LGE-OSS/fosslight_dependency', 'Copyright (c) 2020 LG Electronics, Inc.', '', '']], 'BIN':[['askalono.exe', 'askalono', '0.4.3', 'Apache-2.0', 'https://github.com/jpeddicord/askalono', '', 'Copyright (c) 2018 Amazon.com, Inc. or its affiliates.', '', '']]} success, msg = write_output_file('test_result/excel/FOSSLight-Report', '.xlsx', sheet_contents) ``` ### 3. Get spdx licenses (tests/test_spdx_licenses.py) ``` from fosslight_util.spdx_licenses import get_spdx_licenses_json def test(): success, error_msg, licenses = get_spdx_licenses_json() ``` ### 4. Load common constant (tests/_print_log_with_another_logger.py) ``` import fosslight_util.constant as constant logger = logging.getLogger(constant.LOGGER_NAME) logger.warning("Get a logger after init_log is called once.") ``` ### 5. Call a spinner (tests/test_timer.py) ``` from fosslight_util.timer_thread import TimerThread timer = TimerThread() timer.setDaemon(True) timer.start() ``` ### 6. Download the source code (tests/test_download.py) If you give a link, the source is downloaded to the target directory through git clone or wget. #### How it works 1. Try git clone. 2. If git clone fails, download it with wget and extract the compressed file. 3. After extracting the compressed file, delete the compressed file. #### Parameters | Parameter | Argument | Description | | ------------- | ------------- | ------------- | | h | None | Print help message. | | s | String | Link to download. | | t | String | Path to download and extract. | | d | String | Path to save a log file. | #### How to run ``` $ fosslight_download -s "https://github.com/LGE-OSS/example" -t target_dir/ ``` ## 👏 How to report issue Please report any ideas or bugs to improve by creating an issue in [fosslight_util repository][cl]. Then there will be quick bug fixes and upgrades. Ideas to improve are always welcome. [cl]: https://github.com/fosslight/fosslight_util/issues ## 📄 License FOSSLight Util is released under [Apache-2.0][l]. [l]: https://github.com/fosslight/fosslight_util/blob/main/LICENSE %package help Summary: Development documents and examples for fosslight-util Provides: python3-fosslight-util-doc %description help # FOSSLight Util FOSSLight Util is released under the Apache-2.0. Current python package version. [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_util)](https://api.reuse.software/info/github.com/fosslight/fosslight_util) It is a package that supports common utils used by FOSSLight Scanner. ## Features 1. It simplifies the logger setup. 2. It provides a simple function to create a output file. 3. It provides a spdx license list with json format. 4. It defines common constant variables. 5. It provides a thread that prints the spinner. 6. Download source code. [or]: http://collab.lge.com/main/x/xDHlFg ## Contents - [Prerequisite](#-prerequisite) - [How to install](#-how-to-install) - [How to run](#-how-to-run) - [How to report issue](#-how-to-report-issue) - [License](#-license) ## 📋 Prerequisite FOSSLight Util needs a Python 3.6+. ## 🎉 How to install It can be installed using pip3. ``` $ pip3 install fosslight_util ``` ## 🚀 How to use Three modules can be called. Please refer to each file for detailed calling method. ### 1. Setup logger (tests/test_log.py) ``` from fosslight_util.set_log import init_log # 1st param : log file path # 2nd param : create file (True/False) # 3rd param : stream log level # 4th param : file log level # =>log level(CRITICAL:50, ERROR:40, WARNING:30, INFO:20, DEBUG:10, NOTSET:0) # 5th param : package name of fosslight scanners (fosslight_source / fosslight_dependency / fosslight_reuse) # 6th param : path to analyze # # 1st return value : a logger # 2nd return value : log items to print def test(): logger, log_item = init_log("test_result/log_file1.txt", True, 30, 20) logger.warning("TESTING - Print log") ``` ### 2. Write result files (tests/test_output_format.py) ``` from fosslight_util.output_format import write_output_file # 2nd param : output file format # => file format(excel: .xlsx, csv: .csv, opossum: .json) def test(): sheet_contents = {'SRC':[['run_scancode.py', 'fosslight_source', '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_source', 'https://github.com/LGE-OSS/fosslight_source', 'Copyright (c) 2021 LG Electronics, Inc.', 'Exclude', 'Comment message'], ['dependency_unified.py', 'fosslight_dependency', '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_dependency', 'https://github.com/LGE-OSS/fosslight_dependency', 'Copyright (c) 2020 LG Electronics, Inc.', '', '']], 'BIN':[['askalono.exe', 'askalono', '0.4.3', 'Apache-2.0', 'https://github.com/jpeddicord/askalono', '', 'Copyright (c) 2018 Amazon.com, Inc. or its affiliates.', '', '']]} success, msg = write_output_file('test_result/excel/FOSSLight-Report', '.xlsx', sheet_contents) ``` ### 3. Get spdx licenses (tests/test_spdx_licenses.py) ``` from fosslight_util.spdx_licenses import get_spdx_licenses_json def test(): success, error_msg, licenses = get_spdx_licenses_json() ``` ### 4. Load common constant (tests/_print_log_with_another_logger.py) ``` import fosslight_util.constant as constant logger = logging.getLogger(constant.LOGGER_NAME) logger.warning("Get a logger after init_log is called once.") ``` ### 5. Call a spinner (tests/test_timer.py) ``` from fosslight_util.timer_thread import TimerThread timer = TimerThread() timer.setDaemon(True) timer.start() ``` ### 6. Download the source code (tests/test_download.py) If you give a link, the source is downloaded to the target directory through git clone or wget. #### How it works 1. Try git clone. 2. If git clone fails, download it with wget and extract the compressed file. 3. After extracting the compressed file, delete the compressed file. #### Parameters | Parameter | Argument | Description | | ------------- | ------------- | ------------- | | h | None | Print help message. | | s | String | Link to download. | | t | String | Path to download and extract. | | d | String | Path to save a log file. | #### How to run ``` $ fosslight_download -s "https://github.com/LGE-OSS/example" -t target_dir/ ``` ## 👏 How to report issue Please report any ideas or bugs to improve by creating an issue in [fosslight_util repository][cl]. Then there will be quick bug fixes and upgrades. Ideas to improve are always welcome. [cl]: https://github.com/fosslight/fosslight_util/issues ## 📄 License FOSSLight Util is released under [Apache-2.0][l]. [l]: https://github.com/fosslight/fosslight_util/blob/main/LICENSE %prep %autosetup -n fosslight_util-1.4.25 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-fosslight-util -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 1.4.25-1 - Package Spec generated