Skip to content

Commit

Permalink
Fix the npm multi license issue (#122)
Browse files Browse the repository at this point in the history
Signed-off-by: Jiyeong Seok <[email protected]>
  • Loading branch information
dd-jy authored Jan 5, 2023
1 parent 42047ca commit 283441f
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions src/fosslight_dependency/package_manager/Npm.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,9 @@ def parse_oss_information(self, f_name):
comment = 'root package'

manifest_file_path = os.path.join(package_path, const.SUPPORT_PACKAE.get(self.package_manager_name))
multi_license, license_comment = check_multi_license(license_name, manifest_file_path)
multi_license, license_comment, multi_flag = check_multi_license(license_name, manifest_file_path)

if license_comment != '':
if multi_flag:
comment = f'{comment}, {license_comment}'
sheet_list.append([const.SUPPORT_PACKAE.get(self.package_manager_name),
oss_name, oss_version, multi_license, dn_loc, homepage, '', '', comment])
Expand Down Expand Up @@ -160,22 +160,25 @@ def check_multi_license(license_name, manifest_file_path):
multi_license_list = []
multi_license = ''
license_comment = ''
multi_flag = False
try:
if isinstance(license_name, list):
for i in range(0, len(license_name)):
l_i = license_name[i].replace(",", "")
multi_license_list.append(check_unknown_license(l_i, manifest_file_path))
multi_license = ','.join(multi_license_list)
multi_flag = True
else:
if license_name.startswith('(') and license_name.endswith(')'):
license_name = license_name.lstrip('(').rstrip(')')
license_comment = license_name
multi_license = ','.join(re.split(r'OR|AND', license_name))
multi_flag = True
except Exception as e:
multi_license = license_name
logger.warning(f'Fail to parse multi license in npm: {e}')

return multi_license, license_comment
return multi_license, license_comment, multi_flag


def check_unknown_license(license_name, manifest_file_path):
Expand Down

0 comments on commit 283441f

Please sign in to comment.