[calm - Cygwin server-side packaging maintenance script] branch master, updated. 20220704-6-g8325fde
Jon TURNEY via Cygwin-apps-cvs <[email protected]> Sat, 16 Jul 2022 20:08:33 +0000 (GMT)
| Newsgroups | gmane.os.cygwin.cvs.apps |
|---|---|
| Message-ID | <[email protected]> |
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=8325fded1ccb121c57ad689470a76542a8609500 commit 8325fded1ccb121c57ad689470a76542a8609500 Author: Jon Turney <[email protected]> Date: Sat Jul 16 20:50:20 2022 +0100 Workaround unexpected exceptions from license_expression.validate() [...] File "/home/cygwin/.local/lib/python3.6/site-packages/license_expression/__init__.py", line 1214, in __init__ 'Invalid license key: the valid characters are: letters and ' license_expression.ExpressionError: Invalid license key: the valid characters are: letters and numbers, underscore, dot, colon or hyphen signs and spaces: 'LGPLv3+/GPLv2+/GPLv3+/GFDLv1.3+' During handling of the above exception, another exception occurred: [...] File "/home/cygwin/.local/lib/python3.6/site-packages/license_expression/__init__.py", line 780, in validate expression_info.invalid_symbols.append(e.token_string) AttributeError: 'ExpressionError' object has no attribute 'token_string' Diff: --- calm/hint.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/calm/hint.py b/calm/hint.py index 1e9d717..363cfb4 100755 --- a/calm/hint.py +++ b/calm/hint.py @@ -301,8 +301,9 @@ def hint_file_parse(fn, kind, strict=False): le = licensing.validate(value, strict=True) except (license_expression.ExpressionParseError, license_expression.ExpressionError) as e: errors.append('value for key %s not a valid license expression: %s' % (key, e)) - if le.original_expression != le.normalized_expression: - errors.append("license expression: '%s' normalizes to '%s'" % (value, le.normalized_expression)) + else: + if le.original_expression != le.normalized_expression: + errors.append("license expression: '%s' normalizes to '%s'" % (value, le.normalized_expression)) # warn if value starts with a quote followed by whitespace if re.match(r'^"[ \t]+', value):