fosslight-dependency 4.1.2__tar.gz → 4.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/PKG-INFO +2 -2
  2. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/README.md +1 -1
  3. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/requirements.txt +1 -1
  4. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/setup.py +1 -1
  5. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/run_dependency_scanner.py +43 -14
  6. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency.egg-info/PKG-INFO +2 -2
  7. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency.egg-info/requires.txt +1 -1
  8. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/LICENSE +0 -0
  9. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/LICENSES/Apache-2.0.txt +0 -0
  10. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/LICENSES/LicenseRef-3rd_party_licenses.txt +0 -0
  11. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/LICENSES/MIT.txt +0 -0
  12. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/MANIFEST.in +0 -0
  13. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/setup.cfg +0 -0
  14. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/__init__.py +0 -0
  15. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/_analyze_dependency.py +0 -0
  16. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/_graph_convertor.py +0 -0
  17. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/_help.py +0 -0
  18. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/_package_manager.py +0 -0
  19. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/constant.py +0 -0
  20. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/dependency_item.py +0 -0
  21. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Android.py +0 -0
  22. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Cargo.py +0 -0
  23. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Carthage.py +0 -0
  24. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Cocoapods.py +0 -0
  25. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Go.py +0 -0
  26. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Gradle.py +0 -0
  27. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Helm.py +0 -0
  28. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Maven.py +0 -0
  29. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Npm.py +0 -0
  30. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Nuget.py +0 -0
  31. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Pub.py +0 -0
  32. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Pypi.py +0 -0
  33. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Swift.py +0 -0
  34. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/Unity.py +0 -0
  35. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency/package_manager/__init__.py +0 -0
  36. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency.egg-info/SOURCES.txt +0 -0
  37. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency.egg-info/dependency_links.txt +0 -0
  38. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency.egg-info/entry_points.txt +0 -0
  39. {fosslight_dependency-4.1.2 → fosslight_dependency-4.1.4}/src/fosslight_dependency.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fosslight_dependency
3
- Version: 4.1.2
3
+ Version: 4.1.4
4
4
  Summary: FOSSLight Dependency Scanner
5
5
  Home-page: https://github.com/fosslight/fosslight_dependency_scanner
6
6
  Author: LG Electronics
@@ -13,7 +13,7 @@ Description: <!--
13
13
 
14
14
  # FOSSLight Dependency Scanner
15
15
 
16
- `<img src="https://img.shields.io/pypi/l/fosslight_dependency" alt="License" />` `<a href="https://pypi.org/project/fosslight-dependency/"><img src="https://img.shields.io/pypi/v/fosslight_dependency" alt="Current python package version." />``</a>` `<img src="https://img.shields.io/pypi/pyversions/fosslight_dependency" />` [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_dependency_scanner)](https://api.reuse.software/info/github.com/fosslight/fosslight_dependency_scanner)
16
+ <img src="https://img.shields.io/pypi/l/fosslight_dependency" alt="License" /> <a href="https://pypi.org/project/fosslight-dependency/"><img src="https://img.shields.io/pypi/v/fosslight_dependency" alt="Current python package version." /></a> <img src="https://img.shields.io/pypi/pyversions/fosslight_dependency" /> [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_dependency_scanner)](https://api.reuse.software/info/github.com/fosslight/fosslight_dependency_scanner)
17
17
 
18
18
  ## 💡 Introduction
19
19
 
@@ -5,7 +5,7 @@ SPDX-License-Identifier: Apache-2.0
5
5
 
6
6
  # FOSSLight Dependency Scanner
7
7
 
8
- `<img src="https://img.shields.io/pypi/l/fosslight_dependency" alt="License" />` `<a href="https://pypi.org/project/fosslight-dependency/"><img src="https://img.shields.io/pypi/v/fosslight_dependency" alt="Current python package version." />``</a>` `<img src="https://img.shields.io/pypi/pyversions/fosslight_dependency" />` [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_dependency_scanner)](https://api.reuse.software/info/github.com/fosslight/fosslight_dependency_scanner)
8
+ <img src="https://img.shields.io/pypi/l/fosslight_dependency" alt="License" /> <a href="https://pypi.org/project/fosslight-dependency/"><img src="https://img.shields.io/pypi/v/fosslight_dependency" alt="Current python package version." /></a> <img src="https://img.shields.io/pypi/pyversions/fosslight_dependency" /> [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_dependency_scanner)](https://api.reuse.software/info/github.com/fosslight/fosslight_dependency_scanner)
9
9
 
10
10
  ## 💡 Introduction
11
11
 
@@ -4,7 +4,7 @@ lxml
4
4
  virtualenv
5
5
  pyyaml
6
6
  lastversion
7
- fosslight_util>=2.1.0
7
+ fosslight_util>=2.1.6
8
8
  PyGithub
9
9
  requirements-parser
10
10
  defusedxml
@@ -35,7 +35,7 @@ if __name__ == "__main__":
35
35
 
36
36
  setup(
37
37
  name=_PACKAEG_NAME,
38
- version='4.1.2',
38
+ version='4.1.4',
39
39
  package_dir={"": "src"},
40
40
  packages=find_namespace_packages(where='src'),
41
41
  description='FOSSLight Dependency Scanner',
@@ -11,6 +11,7 @@ import pkg_resources
11
11
  import warnings
12
12
  from datetime import datetime
13
13
  import logging
14
+ import shutil
14
15
  import fosslight_dependency.constant as const
15
16
  from collections import defaultdict
16
17
  from fosslight_util.set_log import init_log
@@ -30,12 +31,26 @@ EXTENDED_HEADER = {_sheet_name: ['ID', 'Package URL', 'OSS Name',
30
31
  'OSS Version', 'License', 'Download Location',
31
32
  'Homepage', 'Copyright Text', 'Exclude',
32
33
  'Comment', 'Depends On']}
33
- CUSTOMIZED_FORMAT = {'excel': '.xlsx', 'csv': '.csv', 'opossum': '.json', 'yaml': '.yaml',
34
- 'spdx-yaml': '.yaml', 'spdx-json': '.json', 'spdx-xml': '.xml',
35
- 'spdx-tag': '.tag'}
36
34
  _exclude_dir = ['node_moduels', 'venv']
37
35
 
38
36
 
37
+ def get_terminal_size():
38
+ size = shutil.get_terminal_size()
39
+ return size.lines
40
+
41
+
42
+ def paginate_file(file_path):
43
+ lines_per_page = get_terminal_size() - 1
44
+ with open(file_path, 'r', encoding='utf8') as file:
45
+ lines = file.readlines()
46
+
47
+ for i in range(0, len(lines), lines_per_page):
48
+ os.system('clear' if os.name == 'posix' else 'cls')
49
+ print(''.join(lines[i: i + lines_per_page]))
50
+ if i + lines_per_page < len(lines):
51
+ input("Press Enter to see the next page...")
52
+
53
+
39
54
  def find_package_manager(input_dir, abs_path_to_exclude=[]):
40
55
  ret = True
41
56
  manifest_file_name = []
@@ -113,12 +128,15 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
113
128
  to_remove = [] # elements of spdx format on windows that should be removed
114
129
  for i, output_extension in enumerate(output_extensions):
115
130
  if formats:
116
- if formats[i].startswith('spdx'):
117
- if platform.system() != 'Windows':
118
- output_files[i] = f"fosslight_spdx_dep_{_start_time}"
119
- else:
120
- logger.warning('spdx format is not supported on Windows. Please remove spdx from format.')
131
+ if formats[i].startswith('spdx') or formats[i].startswith('cyclonedx'):
132
+ if platform.system() == 'Windows':
133
+ logger.warning(f'{formats[i]} is not supported on Windows.Please remove {formats[i]} from format.')
121
134
  to_remove.append(i)
135
+ else:
136
+ if formats[i].startswith('spdx'):
137
+ output_files[i] = f"fosslight_spdx_dep_{_start_time}"
138
+ elif formats[i].startswith('cyclonedx'):
139
+ output_files[i] = f'fosslight_cyclonedx_dep_{_start_time}'
122
140
  else:
123
141
  if output_extension == _json_ext:
124
142
  output_files[i] = f"fosslight_opossum_dep_{_start_time}"
@@ -220,7 +238,8 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
220
238
  if len(success_pm) > 0:
221
239
  scan_item.set_cover_comment(f"Analyzed Package manager: {', '.join(success_pm)}")
222
240
  if len(fail_pm) > 0:
223
- info_msg = 'Check https://fosslight.org/fosslight-guide-en/scanner/3_dependency.html#-prerequisite.'
241
+ info_msg = 'Check log file(fosslight_log*.txt) ' \
242
+ 'and https://fosslight.org/fosslight-guide-en/scanner/3_dependency.html#-prerequisite.'
224
243
  scan_item.set_cover_comment(f"Analysis failed Package manager: {', '.join(fail_pm)} ({info_msg})")
225
244
  else:
226
245
  scan_item.set_cover_comment("No Package manager detected.")
@@ -229,7 +248,15 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
229
248
  graph_path = os.path.abspath(graph_path)
230
249
  try:
231
250
  converter = GraphConvertor(scan_item.file_items[_PKG_NAME])
232
- converter.save(graph_path, graph_size)
251
+ growth_factor_per_node = 10
252
+ node_count_threshold = 20
253
+ node_count = len(scan_item.file_items[_PKG_NAME])
254
+ if node_count > node_count_threshold:
255
+ new_size = tuple(x + (node_count * growth_factor_per_node) for x in graph_size)
256
+ else:
257
+ new_size = graph_size
258
+ new_size = tuple((((x + 99) // 100) * 100) for x in new_size)
259
+ converter.save(graph_path, new_size)
233
260
  logger.info(f"Output graph image file: {graph_path}")
234
261
  except Exception as e:
235
262
  logger.error(f'Fail to make graph image: {e}')
@@ -326,9 +353,9 @@ def main():
326
353
  if args.graph_size:
327
354
  graph_size = args.graph_size
328
355
  if args.direct: # --direct option
329
- if args.direct == 'true':
356
+ if args.direct == 'true' or args.direct == 'True':
330
357
  direct = True
331
- elif args.direct == 'false':
358
+ elif args.direct == 'false' or args.direct == 'False':
332
359
  direct = False
333
360
  if args.notice: # --notice option
334
361
  try:
@@ -339,8 +366,10 @@ def main():
339
366
  data_path = os.path.join(base_path, 'LICENSES')
340
367
  print(f"*** {_PKG_NAME} open source license notice ***")
341
368
  for ff in os.listdir(data_path):
342
- f = open(os.path.join(data_path, ff), 'r', encoding='utf8')
343
- print(f.read())
369
+ source_file = os.path.join(data_path, ff)
370
+ destination_file = os.path.join(base_path, ff)
371
+ paginate_file(source_file)
372
+ shutil.copyfile(source_file, destination_file)
344
373
  sys.exit(0)
345
374
 
346
375
  run_dependency_scanner(package_manager, input_dir, output_dir, pip_activate_cmd, pip_deactivate_cmd,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fosslight-dependency
3
- Version: 4.1.2
3
+ Version: 4.1.4
4
4
  Summary: FOSSLight Dependency Scanner
5
5
  Home-page: https://github.com/fosslight/fosslight_dependency_scanner
6
6
  Author: LG Electronics
@@ -13,7 +13,7 @@ Description: <!--
13
13
 
14
14
  # FOSSLight Dependency Scanner
15
15
 
16
- `<img src="https://img.shields.io/pypi/l/fosslight_dependency" alt="License" />` `<a href="https://pypi.org/project/fosslight-dependency/"><img src="https://img.shields.io/pypi/v/fosslight_dependency" alt="Current python package version." />``</a>` `<img src="https://img.shields.io/pypi/pyversions/fosslight_dependency" />` [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_dependency_scanner)](https://api.reuse.software/info/github.com/fosslight/fosslight_dependency_scanner)
16
+ <img src="https://img.shields.io/pypi/l/fosslight_dependency" alt="License" /> <a href="https://pypi.org/project/fosslight-dependency/"><img src="https://img.shields.io/pypi/v/fosslight_dependency" alt="Current python package version." /></a> <img src="https://img.shields.io/pypi/pyversions/fosslight_dependency" /> [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_dependency_scanner)](https://api.reuse.software/info/github.com/fosslight/fosslight_dependency_scanner)
17
17
 
18
18
  ## 💡 Introduction
19
19
 
@@ -4,7 +4,7 @@ lxml
4
4
  virtualenv
5
5
  pyyaml
6
6
  lastversion
7
- fosslight_util>=2.1.0
7
+ fosslight_util>=2.1.6
8
8
  PyGithub
9
9
  requirements-parser
10
10
  defusedxml