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.
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/PKG-INFO +1 -1
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/setup.py +1 -1
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/_get_downloadable_url.py +48 -6
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/help.py +8 -2
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/set_log.py +8 -2
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/PKG-INFO +1 -1
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/LICENSE +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/MANIFEST.in +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/README.md +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/requirements.txt +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/setup.cfg +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/__init__.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/compare_yaml.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/constant.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/correct.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/cover.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/download.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/exclude.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/oss_item.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/output_format.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/parsing_yaml.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/read_excel.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/resources/frequentLicenselist.json +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/resources/frequent_license_nick_list.json +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/resources/licenses.json +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/spdx_licenses.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/timer_thread.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_cyclonedx.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_excel.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_opossum.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_scancodejson.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_spdx.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_txt.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util/write_yaml.py +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/SOURCES.txt +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/dependency_links.txt +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/entry_points.txt +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/requires.txt +0 -0
- {fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/top_level.txt +0 -0
|
@@ -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)
|
|
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.
|
|
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.
|
|
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)
|
|
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)
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{fosslight_util-2.1.13 → fosslight_util-2.1.15}/src/fosslight_util.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|