Skip to content

Commit 19a966c

Browse files
Merge pull request #165 from fosslight/dev_license_split_bug_2915
Fix SPDX expression split bug
2 parents 4b7dc47 + 009bcfc commit 19a966c

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/fosslight_source/_parsing_scancode_file_item.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
KEYWORD_DOWNLOAD_LOC = r'DownloadLocation\s*[\S]+'
2727
KEYWORD_SCANCODE_UNKNOWN = "unknown-spdx"
2828
SPDX_REPLACE_WORDS = ["(", ")"]
29-
KEY_AND = "and"
30-
KEY_OR = "or"
29+
KEY_AND = r"(?<![a-zA-Z\d])and(?![a-zA-Z\d])"
30+
KEY_OR = r"(?<![a-zA-Z\d])or(?![a-zA-Z\d])"
3131

3232

3333
def get_error_from_header(header_item):
@@ -182,8 +182,8 @@ def split_spdx_expression(spdx_string):
182182
license = []
183183
for replace in SPDX_REPLACE_WORDS:
184184
spdx_string = spdx_string.replace(replace, "")
185-
spdx_string = spdx_string.replace(KEY_OR, KEY_AND)
186-
license = spdx_string.split(KEY_AND)
185+
spdx_string = re.sub(KEY_OR, KEY_AND, spdx_string)
186+
license = spdx_string.split(KEY_AND.strip())
187187
return license
188188

189189

0 commit comments

Comments
 (0)