fosslight-util 2.1.5__py3-none-any.whl → 2.1.7__py3-none-any.whl

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.
@@ -103,31 +103,35 @@ def get_downloadable_url(link):
103
103
 
104
104
 
105
105
  def get_download_location_for_pypi(link):
106
- # get the url for downloading source file in pypi.org/project/(oss_name)/(oss_version)/#files
106
+ # get the url for downloading source file: https://docs.pypi.org/api/ Predictable URLs
107
107
  ret = False
108
108
  new_link = ''
109
+ host = 'https://files.pythonhosted.org'
109
110
 
110
111
  try:
111
112
  dn_loc_re = re.findall(r'pypi.org\/project\/?([^\/]*)\/?([^\/]*)', link)
112
113
  oss_name = dn_loc_re[0][0]
114
+ oss_name = re.sub(r"[-_.]+", "-", oss_name).lower()
113
115
  oss_version = dn_loc_re[0][1]
114
116
 
115
- pypi_url = 'https://pypi.org/project/' + oss_name + '/' + oss_version + '/#files'
116
-
117
- content = urlopen(pypi_url).read().decode('utf8')
118
- bs_obj = BeautifulSoup(content, 'html.parser')
119
-
120
- card_file_list = bs_obj.findAll('div', {'class': 'card file__card'})
121
-
122
- for card_file in card_file_list:
123
- file_code = card_file.find('code').text
124
- if file_code.lower() == "source":
125
- new_link = card_file.find('a').attrs['href']
117
+ new_link = f'{host}/packages/source/{oss_name[0]}/{oss_name}/{oss_name}-{oss_version}.tar.gz'
118
+ try:
119
+ res = urlopen(new_link)
120
+ if res.getcode() == 200:
126
121
  ret = True
127
- break
122
+ else:
123
+ logger.warning(f'Cannot find the valid link for pypi (url:{new_link}')
124
+ except Exception as e:
125
+ oss_name = re.sub(r"[-]+", "_", oss_name).lower()
126
+ new_link = f'{host}/packages/source/{oss_name[0]}/{oss_name}/{oss_name}-{oss_version}.tar.gz'
127
+ res = urlopen(new_link)
128
+ if res.getcode() == 200:
129
+ ret = True
130
+ else:
131
+ logger.warning(f'Cannot find the valid link for pypi (url:{new_link}')
128
132
  except Exception as error:
129
133
  ret = False
130
- logger.warning('Cannot find the link for pypi (url:'+link+') '+str(error))
134
+ logger.warning(f'Cannot find the link for pypi (url:{link}({(new_link)})) e:{str(error)}')
131
135
 
132
136
  return ret, new_link
133
137
 
@@ -15,12 +15,12 @@ from fosslight_util.spdx_licenses import get_spdx_licenses_json, get_license_fro
15
15
  from fosslight_util.constant import (LOGGER_NAME, FOSSLIGHT_DEPENDENCY, FOSSLIGHT_SCANNER,
16
16
  FOSSLIGHT_BINARY, FOSSLIGHT_SOURCE)
17
17
  from fosslight_util.oss_item import CHECKSUM_NULL, get_checksum_sha1
18
- from packageurl import PackageURL
19
18
  import traceback
20
19
 
21
20
  logger = logging.getLogger(LOGGER_NAME)
22
21
 
23
22
  try:
23
+ from packageurl import PackageURL
24
24
  from cyclonedx.builder.this import this_component as cdx_lib_component
25
25
  from cyclonedx.exception import MissingOptionalDependencyException
26
26
  from cyclonedx.factory.license import LicenseFactory
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fosslight-util
3
- Version: 2.1.5
3
+ Version: 2.1.7
4
4
  Summary: FOSSLight Util
5
5
  Home-page: https://github.com/fosslight/fosslight_util
6
6
  Author: LG Electronics
@@ -1,5 +1,5 @@
1
1
  fosslight_util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- fosslight_util/_get_downloadable_url.py,sha256=63ZPI4KCpUFgL4oheKm8zvekuCRzpwNkVaLJcA-uA90,9010
2
+ fosslight_util/_get_downloadable_url.py,sha256=tZz7UTUuLAbz2muXocOb9epMY_6RXIt-GEM8jhN0c3o,9315
3
3
  fosslight_util/compare_yaml.py,sha256=eLqqCLgERxRHN5vsnpQVMXIEU862Lx66mD_y4uMgQE4,2916
4
4
  fosslight_util/constant.py,sha256=Ig3ACm9_QirE4389Wt-IfxOqRkVOUjqGnX1B05z2Byo,2151
5
5
  fosslight_util/correct.py,sha256=3iUipan8ZX8sbyIIGAPtMkAGvZ4YucjeJwx1K1Bx_z4,3897
@@ -13,7 +13,7 @@ fosslight_util/read_excel.py,sha256=-QvrdxaNqYOpIm1H7ZqIEh5NLvFPymZo6BAOZcQmQug,
13
13
  fosslight_util/set_log.py,sha256=Xpa94AiOyGEK8ucaYkvkAllvlen1Pq_d6UG6kPYBYBc,3780
14
14
  fosslight_util/spdx_licenses.py,sha256=GvMNe_D4v2meapTVwPu2BJXInnTo3_gIzg669eJhUu0,3691
15
15
  fosslight_util/timer_thread.py,sha256=5VbZENQPD-N0NUmzEktqGr6Am-e7vxD79K05mmr29g0,433
16
- fosslight_util/write_cyclonedx.py,sha256=Rn2Zlz45F4NFhqBIWQyDL01rGfISnNM7Urw786VcUp4,9898
16
+ fosslight_util/write_cyclonedx.py,sha256=N6r32zj_ikoGkZa9xoreKqdsncoOfFKnV7lHpeiiEhI,9902
17
17
  fosslight_util/write_excel.py,sha256=G0fIslbWoOtWZCJxbBGLCpUKbhmwrrqhI5PHwRw8_44,9931
18
18
  fosslight_util/write_opossum.py,sha256=ltmo6SkugKWdAYupeCqwE4-3lua0GwLpix1XqFC-tT8,11678
19
19
  fosslight_util/write_scancodejson.py,sha256=81n7cWNYoyIKE_V4Kx5YtL2CgjMPIjoKdnSU3inkpJY,2163
@@ -23,9 +23,9 @@ fosslight_util/write_yaml.py,sha256=QlEKoIPQsEaYERfbP53TeKgnllYzhLQWm5wYjnWtVjE,
23
23
  fosslight_util/resources/frequentLicenselist.json,sha256=GUhzK6tu7ok10fekOnmVmUgIGRC-acGABZKTNKfDyYA,4776157
24
24
  fosslight_util/resources/frequent_license_nick_list.json,sha256=ryU2C_6ZxHbz90_sUN9OvI9GXkCMLu7oGcmd9W79YYo,5005
25
25
  fosslight_util/resources/licenses.json,sha256=mK55z-bhY7Mjpj2KsO1crKGGL-X3F6MBFQJ0zLlx010,240843
26
- fosslight_util-2.1.5.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
27
- fosslight_util-2.1.5.dist-info/METADATA,sha256=uiZYmOet4hsuEWrUulTTUc7rhjyNSMJTC5B3KEdqO18,6499
28
- fosslight_util-2.1.5.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
29
- fosslight_util-2.1.5.dist-info/entry_points.txt,sha256=bzXX5i7HZ13V8BLKvtu_9KO3ZjtRypH-XszOXT6I3bU,69
30
- fosslight_util-2.1.5.dist-info/top_level.txt,sha256=2qyYWGLakgBRy4BqoBNt-I5C29tBr_e93e5e1pbuTGA,15
31
- fosslight_util-2.1.5.dist-info/RECORD,,
26
+ fosslight_util-2.1.7.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
27
+ fosslight_util-2.1.7.dist-info/METADATA,sha256=_SbQsVJDKbUmd3C0i1fs7C-B9z92g_SLHWrQVb2mi_s,6499
28
+ fosslight_util-2.1.7.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
29
+ fosslight_util-2.1.7.dist-info/entry_points.txt,sha256=bzXX5i7HZ13V8BLKvtu_9KO3ZjtRypH-XszOXT6I3bU,69
30
+ fosslight_util-2.1.7.dist-info/top_level.txt,sha256=2qyYWGLakgBRy4BqoBNt-I5C29tBr_e93e5e1pbuTGA,15
31
+ fosslight_util-2.1.7.dist-info/RECORD,,