fosslight-util 2.1.13__tar.gz → 2.1.15__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_util-2.1.13 → fosslight_util-2.1.15}/PKG-INFO +1 -1
  2. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/setup.py +1 -1
  3. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/_get_downloadable_url.py +48 -6
  4. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/help.py +8 -2
  5. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/set_log.py +8 -2
  6. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/PKG-INFO +1 -1
  7. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/LICENSE +0 -0
  8. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/MANIFEST.in +0 -0
  9. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/README.md +0 -0
  10. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/requirements.txt +0 -0
  11. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/setup.cfg +0 -0
  12. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/__init__.py +0 -0
  13. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/compare_yaml.py +0 -0
  14. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/constant.py +0 -0
  15. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/correct.py +0 -0
  16. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/cover.py +0 -0
  17. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/download.py +0 -0
  18. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/exclude.py +0 -0
  19. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/oss_item.py +0 -0
  20. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/output_format.py +0 -0
  21. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/parsing_yaml.py +0 -0
  22. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/read_excel.py +0 -0
  23. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/resources/frequentLicenselist.json +0 -0
  24. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/resources/frequent_license_nick_list.json +0 -0
  25. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/resources/licenses.json +0 -0
  26. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/spdx_licenses.py +0 -0
  27. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/timer_thread.py +0 -0
  28. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_cyclonedx.py +0 -0
  29. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_excel.py +0 -0
  30. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_opossum.py +0 -0
  31. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_scancodejson.py +0 -0
  32. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_spdx.py +0 -0
  33. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_txt.py +0 -0
  34. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_yaml.py +0 -0
  35. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/SOURCES.txt +0 -0
  36. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/dependency_links.txt +0 -0
  37. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/entry_points.txt +0 -0
  38. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/requires.txt +0 -0
  39. {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fosslight_util
3
- Version: 2.1.13
3
+ Version: 2.1.15
4
4
  Summary: FOSSLight Util
5
5
  Home-page: https://github.com/fosslight/fosslight_util
6
6
  Author: LG Electronics
@@ -14,7 +14,7 @@ with open('requirements.txt', 'r', 'utf-8') as f:
14
14
  if __name__ == "__main__":
15
15
  setup(
16
16
  name='fosslight_util',
17
- version='2.1.13',
17
+ version='2.1.15',
18
18
  package_dir={"": "src"},
19
19
  packages=find_packages(where='src'),
20
20
  description='FOSSLight Util',
@@ -27,7 +27,7 @@ def extract_name_version_from_link(link):
27
27
  origin_name = match.group(1)
28
28
  if (key == "pypi") or (key == "pypi2"):
29
29
  oss_name = f"pypi:{origin_name}"
30
- oss_name = re.sub(r"[-_.]+", "-", oss_name).lower()
30
+ oss_name = re.sub(r"[-_.]+", "-", oss_name)
31
31
  oss_version = match.group(2)
32
32
  elif key == "maven":
33
33
  artifact = match.group(2)
@@ -42,12 +42,17 @@ def extract_name_version_from_link(link):
42
42
  oss_version = match.group(2)
43
43
  elif key == "cocoapods":
44
44
  oss_name = f"cocoapods:{origin_name}"
45
+ elif key == "go":
46
+ if origin_name.endswith('/'):
47
+ origin_name = origin_name[:-1]
48
+ oss_name = f"go:{origin_name}"
49
+ oss_version = match.group(2)
45
50
  except Exception as ex:
46
51
  logger.info(f"extract_name_version_from_link {key}:{ex}")
47
52
  if oss_name and (not oss_version):
48
- if key in ["pypi", "maven", "npm", "npm2", "pub"]:
53
+ if key in ["pypi", "maven", "npm", "npm2", "pub", "go"]:
49
54
  oss_version, link = get_latest_package_version(link, key, origin_name)
50
- logger.debug(f'Try to download with the latest version:{link}')
55
+ logger.info(f'Try to download with the latest version:{link}')
51
56
  break
52
57
  return oss_name, oss_version, link, key
53
58
 
@@ -76,8 +81,13 @@ def get_latest_package_version(link, pkg_type, oss_name):
76
81
  if pub_response.status_code == 200:
77
82
  find_version = pub_response.json().get('latest').get('version')
78
83
  link_with_version = f'https://pub.dev/packages/{oss_name}/versions/{find_version}'
84
+ elif pkg_type == 'go':
85
+ go_response = requests.get(f'https://proxy.golang.org/{oss_name}/@latest')
86
+ if go_response.status_code == 200:
87
+ find_version = go_response.json().get('Version')
88
+ link_with_version = f'https://pkg.go.dev/{oss_name}@{find_version}'
79
89
  except Exception as e:
80
- logger.debug(f'Fail to get latest package version({link}:{e})')
90
+ logger.info(f'Fail to get latest package version({link}:{e})')
81
91
  return find_version, link_with_version
82
92
 
83
93
 
@@ -98,10 +108,42 @@ def get_downloadable_url(link):
98
108
  ret, result_link = get_download_location_for_npm(new_link)
99
109
  elif pkg_type == "pub":
100
110
  ret, result_link = get_download_location_for_pub(new_link)
111
+ elif pkg_type == "go":
112
+ ret, result_link = get_download_location_for_go(new_link)
101
113
 
102
114
  return ret, result_link, oss_name, oss_version
103
115
 
104
116
 
117
+ def get_download_location_for_go(link):
118
+ # get the url for downloading source file: https://proxy.golang.org/<module>/@v/VERSION.zip
119
+ ret = False
120
+ new_link = ''
121
+ host = 'https://proxy.golang.org'
122
+
123
+ try:
124
+ dn_loc_re = re.findall(r'pkg.go.dev\/([^\@]+)\@?([^\/]*)', link)
125
+ if dn_loc_re:
126
+ oss_name = dn_loc_re[0][0]
127
+ if oss_name.endswith('/'):
128
+ oss_name = oss_name[:-1]
129
+ oss_version = dn_loc_re[0][1]
130
+
131
+ new_link = f'{host}/{oss_name}/@v/{oss_version}.zip'
132
+ try:
133
+ res = urlopen(new_link)
134
+ if res.getcode() == 200:
135
+ ret = True
136
+ else:
137
+ logger.warning(f'Cannot find the valid link for go (url:{new_link}')
138
+ except Exception as e:
139
+ logger.warning(f'Fail to find the valid link for go (url:{new_link}: {e}')
140
+ except Exception as error:
141
+ ret = False
142
+ logger.warning(f'Cannot find the link for go (url:{link}({(new_link)})): {error}')
143
+
144
+ return ret, new_link
145
+
146
+
105
147
  def get_download_location_for_pypi(link):
106
148
  # get the url for downloading source file: https://docs.pypi.org/api/ Predictable URLs
107
149
  ret = False
@@ -111,7 +153,7 @@ def get_download_location_for_pypi(link):
111
153
  try:
112
154
  dn_loc_re = re.findall(r'pypi.org\/project\/?([^\/]*)\/?([^\/]*)', link)
113
155
  oss_name = dn_loc_re[0][0]
114
- oss_name = re.sub(r"[-_.]+", "-", oss_name).lower()
156
+ oss_name = re.sub(r"[-_.]+", "-", oss_name)
115
157
  oss_version = dn_loc_re[0][1]
116
158
 
117
159
  new_link = f'{host}/packages/source/{oss_name[0]}/{oss_name}/{oss_name}-{oss_version}.tar.gz'
@@ -122,7 +164,7 @@ def get_download_location_for_pypi(link):
122
164
  else:
123
165
  logger.warning(f'Cannot find the valid link for pypi (url:{new_link}')
124
166
  except Exception:
125
- oss_name = re.sub(r"[-]+", "_", oss_name).lower()
167
+ oss_name = re.sub(r"[-]+", "_", oss_name)
126
168
  new_link = f'{host}/packages/source/{oss_name[0]}/{oss_name}/{oss_name}-{oss_version}.tar.gz'
127
169
  res = urlopen(new_link)
128
170
  if res.getcode() == 200:
@@ -3,7 +3,10 @@
3
3
  # Copyright (c) 2021 LG Electronics Inc.
4
4
  # SPDX-License-Identifier: Apache-2.0
5
5
  import sys
6
- import pkg_resources
6
+ try:
7
+ from importlib.metadata import version, PackageNotFoundError
8
+ except ImportError:
9
+ from importlib_metadata import version, PackageNotFoundError # Python <3.8
7
10
 
8
11
  _HELP_MESSAGE_COMMON = """
9
12
  _______ _______ _______ _______ ___ ___ __
@@ -50,7 +53,10 @@ class PrintHelpMsg():
50
53
  def print_package_version(pkg_name: str, msg: str = "", exitopt: bool = True) -> str:
51
54
  if msg == "":
52
55
  msg = f"{pkg_name} Version:"
53
- cur_version = pkg_resources.get_distribution(pkg_name).version
56
+ try:
57
+ cur_version = version(pkg_name)
58
+ except PackageNotFoundError:
59
+ cur_version = "unknown"
54
60
 
55
61
  if exitopt:
56
62
  print(f'{msg} {cur_version}')
@@ -6,7 +6,6 @@
6
6
  import logging
7
7
  import os
8
8
  from pathlib import Path
9
- import pkg_resources
10
9
  import sys
11
10
  import platform
12
11
  from . import constant as constant
@@ -15,6 +14,11 @@ import coloredlogs
15
14
  from typing import Tuple
16
15
  from logging import Logger
17
16
 
17
+ try:
18
+ from importlib.metadata import version, PackageNotFoundError
19
+ except ImportError:
20
+ from importlib_metadata import version, PackageNotFoundError # Python <3.8
21
+
18
22
 
19
23
  def init_check_latest_version(pkg_version="", main_package_name=""):
20
24
 
@@ -92,9 +96,11 @@ def init_log(log_file: str, create_file: bool = True, stream_log_level: int = lo
92
96
  if main_package_name != "":
93
97
  pkg_info = main_package_name
94
98
  try:
95
- pkg_version = pkg_resources.get_distribution(main_package_name).version
99
+ pkg_version = version(main_package_name)
96
100
  init_check_latest_version(pkg_version, main_package_name)
97
101
  pkg_info = main_package_name + " v" + pkg_version
102
+ except PackageNotFoundError:
103
+ logger.debug('Cannot check the version: Package not found')
98
104
  except Exception as error:
99
105
  logger.debug('Cannot check the version:' + str(error))
100
106
  _result_log["Tool Info"] = pkg_info
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fosslight-util
3
- Version: 2.1.13
3
+ Version: 2.1.15
4
4
  Summary: FOSSLight Util
5
5
  Home-page: https://github.com/fosslight/fosslight_util
6
6
  Author: LG Electronics
File without changes