@@ -845,7 +845,7 @@ def normalise_compound_license_expr(s: str) -> str:
845
845
raise ConfigError (f"The SPDX 'WITH' operator is not yet supported!" )
846
846
elif part in {'AND' , 'OR' }:
847
847
if not parts or parts [- 1 ] in {' AND ' , ' OR ' , ' WITH ' , '(' }:
848
- reason = f"' { part } ' must follow a license ID"
848
+ reason = f"a license ID is missing before ' { part } ' "
849
849
raise ConfigError (invalid_msg .format (s = s , reason = reason ))
850
850
parts .append (f' { part } ' )
851
851
elif part .lower () in {'and' , 'or' , 'with' }:
@@ -860,7 +860,7 @@ def normalise_compound_license_expr(s: str) -> str:
860
860
parts .append (part )
861
861
elif part == ')' :
862
862
if not parts or parts [- 1 ] in {' AND ' , ' OR ' , ' WITH ' , '(' }:
863
- reason = "')' must follow a license ID"
863
+ reason = f" a license ID is missing before ' { part } ' "
864
864
raise ConfigError (invalid_msg .format (s = s , reason = reason ))
865
865
stack -= 1
866
866
if stack < 0 :
@@ -878,7 +878,8 @@ def normalise_compound_license_expr(s: str) -> str:
878
878
reason = 'unbalanced brackets'
879
879
raise ConfigError (invalid_msg .format (s = s , reason = reason ))
880
880
if parts [- 1 ] in {' AND ' , ' OR ' , ' WITH ' }:
881
- reason = f"'{ parts [- 1 ].strip ()} ' is missing a second operand"
881
+ last_part = parts [- 1 ].strip ()
882
+ reason = f"a license ID or expression should follow '{ last_part } '"
882
883
raise ConfigError (invalid_msg .format (s = s , reason = reason ))
883
884
except ConfigError :
884
885
if os .environ .get ('FLIT_ALLOW_INVALID' ):
0 commit comments