8000 Convert regular exceptions into ExpressionError · Issue #97 · aboutcode-org/license-expression · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Convert regular exceptions into ExpressionError #97
Open
@stefan6419846

Description

@stefan6419846

I currently try to run validation of SPDX expression from arbitrary inputs. If something is wrong with the expression, I would have expected it to always populate the errors attribute instead of raising exceptions. Apparently, this is not the case in every situation.

Let's consider the following snippet:

from license_expression import get_spdx_licensing

licensing = get_spdx_licensing()
expression = '(Apache-2.0) AND ()'
result = licensing.validate(expression)
print(result.errors)

This fails with an IndexError during validation:

[...]
  File "/home/user/lib/python3.9/site-packages/license_expression/__init__.py", line 778, in validate
    parsed_expression = self.parse(expression, strict=strict)
  File "/home/user/lib/python3.9/site-packages/license_expression/__init__.py", line 545, in parse
    expression = super(Licensing, self).parse(tokens)
  File "/home/user/lib/python3.9/site-packages/boolean/boolean.py", line 316, in parse
    ast[0].append(ast[2])
IndexError: list index out of range

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0