fosslight-util 2.1.17__tar.gz → 2.1.18__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.17 → fosslight_util-2.1.18}/PKG-INFO +1 -1
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/setup.py +1 -1
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/_get_downloadable_url.py +30 -1
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/constant.py +3 -1
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/download.py +9 -2
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util.egg-info/PKG-INFO +1 -1
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/LICENSE +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/MANIFEST.in +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/README.md +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/requirements.txt +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/setup.cfg +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/__init__.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/compare_yaml.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/correct.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/cover.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/exclude.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/help.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/oss_item.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/output_format.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/parsing_yaml.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/read_excel.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/resources/frequentLicenselist.json +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/resources/frequent_license_nick_list.json +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/resources/licenses.json +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/set_log.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/spdx_licenses.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/timer_thread.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/write_cyclonedx.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/write_excel.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/write_opossum.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/write_scancodejson.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/write_spdx.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/write_txt.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util/write_yaml.py +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util.egg-info/SOURCES.txt +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util.egg-info/dependency_links.txt +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util.egg-info/entry_points.txt +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util.egg-info/requires.txt +0 -0
- {fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util.egg-info/top_level.txt +0 -0
|
@@ -47,6 +47,9 @@ def extract_name_version_from_link(link):
|
|
|
47
47
|
origin_name = origin_name[:-1]
|
|
48
48
|
oss_name = f"go:{origin_name}"
|
|
49
49
|
oss_version = match.group(2)
|
|
50
|
+
elif key == "cargo":
|
|
51
|
+
oss_name = f"cargo:{origin_name}"
|
|
52
|
+
oss_version = match.group(2)
|
|
50
53
|
except Exception as ex:
|
|
51
54
|
logger.info(f"extract_name_version_from_link {key}:{ex}")
|
|
52
55
|
if oss_name and (not oss_version):
|
|
@@ -110,8 +113,34 @@ def get_downloadable_url(link):
|
|
|
110
113
|
ret, result_link = get_download_location_for_pub(new_link)
|
|
111
114
|
elif pkg_type == "go":
|
|
112
115
|
ret, result_link = get_download_location_for_go(new_link)
|
|
116
|
+
elif pkg_type == "cargo":
|
|
117
|
+
ret, result_link = get_download_location_for_cargo(new_link)
|
|
118
|
+
return ret, result_link, oss_name, oss_version, pkg_type
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def get_download_location_for_cargo(link):
|
|
122
|
+
# get the url for downloading source file: https://crates.io/api/v1/crates/<name>/<version>/download
|
|
123
|
+
ret = False
|
|
124
|
+
new_link = ''
|
|
125
|
+
host = 'https://crates.io/api/v1/crates'
|
|
126
|
+
|
|
127
|
+
try:
|
|
128
|
+
dn_loc_re = re.findall(r'crates.io\/crates\/([^\/]+)\/?([^\/]*)', link)
|
|
129
|
+
if dn_loc_re:
|
|
130
|
+
oss_name = dn_loc_re[0][0]
|
|
131
|
+
oss_version = dn_loc_re[0][1]
|
|
113
132
|
|
|
114
|
-
|
|
133
|
+
new_link = f'{host}/{oss_name}/{oss_version}/download'
|
|
134
|
+
res = urlopen(new_link)
|
|
135
|
+
if res.getcode() == 200:
|
|
136
|
+
ret = True
|
|
137
|
+
else:
|
|
138
|
+
logger.warning(f'Cannot find the valid link for cargo (url:{new_link}')
|
|
139
|
+
except Exception as error:
|
|
140
|
+
ret = False
|
|
141
|
+
logger.warning(f'Cannot find the link for cargo (url:{link}({(new_link)})): {error}')
|
|
142
|
+
|
|
143
|
+
return ret, new_link
|
|
115
144
|
|
|
116
145
|
|
|
117
146
|
def get_download_location_for_go(link):
|
|
@@ -35,6 +35,7 @@ SHEET_NAME_FOR_SCANNER = {
|
|
|
35
35
|
# pub: https://pub.dev/packages/(package)/versions/(version)
|
|
36
36
|
# Cocoapods : https://cocoapods.org/(package)
|
|
37
37
|
# go : https://pkg.go.dev/(package_name_with_slash)@(version)
|
|
38
|
+
# cargo : https://crates.io/crates/(crate_name)/(version)
|
|
38
39
|
PKG_PATTERN = {
|
|
39
40
|
"pypi": r'https?:\/\/pypi\.org\/project\/([^\/]+)[\/]?([^\/]*)',
|
|
40
41
|
"pypi2": r'https?:\/\/files\.pythonhosted\.org\/packages\/source\/[\w]\/([^\/]+)\/[\S]+-([^\-]+)\.tar\.gz',
|
|
@@ -43,5 +44,6 @@ PKG_PATTERN = {
|
|
|
43
44
|
"npm2": r'https?:\/\/www\.npmjs\.com\/package\/(\@[^\/]+\/[^\/]+)(?:\/v\/)?([^\/]*)',
|
|
44
45
|
"pub": r'https?:\/\/pub\.dev\/packages\/([^\/]+)(?:\/versions\/)?([^\/]*)',
|
|
45
46
|
"cocoapods": r'https?:\/\/cocoapods\.org\/pods\/([^\/]+)',
|
|
46
|
-
"go": r'https?:\/\/pkg.go.dev\/([^\@]+)\@?v?([^\/]*)'
|
|
47
|
+
"go": r'https?:\/\/pkg.go.dev\/([^\@]+)\@?v?([^\/]*)',
|
|
48
|
+
"cargo": r'https?:\/\/crates\.io\/crates\/([^\/]+)\/?([^\/]*)',
|
|
47
49
|
}
|
|
@@ -314,7 +314,7 @@ def download_wget(link, target_dir, compressed_only):
|
|
|
314
314
|
|
|
315
315
|
Path(target_dir).mkdir(parents=True, exist_ok=True)
|
|
316
316
|
|
|
317
|
-
ret, new_link, oss_name, oss_version = get_downloadable_url(link)
|
|
317
|
+
ret, new_link, oss_name, oss_version, pkg_type = get_downloadable_url(link)
|
|
318
318
|
if ret and new_link:
|
|
319
319
|
link = new_link
|
|
320
320
|
|
|
@@ -323,6 +323,9 @@ def download_wget(link, target_dir, compressed_only):
|
|
|
323
323
|
if link.endswith(ext):
|
|
324
324
|
success = True
|
|
325
325
|
break
|
|
326
|
+
if not success:
|
|
327
|
+
if pkg_type == 'cargo':
|
|
328
|
+
success = True
|
|
326
329
|
else:
|
|
327
330
|
success = True
|
|
328
331
|
|
|
@@ -330,7 +333,11 @@ def download_wget(link, target_dir, compressed_only):
|
|
|
330
333
|
raise Exception('Not supported compression type (link:{0})'.format(link))
|
|
331
334
|
|
|
332
335
|
logger.info(f"wget: {link}")
|
|
333
|
-
|
|
336
|
+
if pkg_type == 'cargo':
|
|
337
|
+
outfile = os.path.join(target_dir, f'{oss_name}.tar.gz')
|
|
338
|
+
downloaded_file = wget.download(link, out=outfile)
|
|
339
|
+
else:
|
|
340
|
+
downloaded_file = wget.download(link, target_dir)
|
|
334
341
|
if platform.system() != "Windows":
|
|
335
342
|
signal.alarm(0)
|
|
336
343
|
else:
|
|
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.17 → fosslight_util-2.1.18}/src/fosslight_util.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{fosslight_util-2.1.17 → fosslight_util-2.1.18}/src/fosslight_util.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|