Convert regular exceptions into ExpressionError
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 38/100
Direzione di ricerca
Inizia in license_expression/init.py, in Licensing.validate e nella chiamata a parse mostrata nel traceback. Riproduci l’espressione '(Apache-2.0) AND ()', quindi verifica che la validazione segnali l’espressione malformata tramite result.errors invece di esporre l’IndexError del parser.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Python
- Stelle
- 74
- Fork
- 38
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di aboutcode-org/license-expression
-
Bump setuptools dependency and remove wheel dependencyForse già presa @devnishantt l’ha presa 33 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
aboutcode-org/license-expression#132 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
aboutcode-org/license-expression#124 · 3 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
aboutcode-org/license-expression#121 · 5 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 48/100
aboutcode-org/license-expression#120 · 2 commenti · 1 reazione ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
aboutcode-org/license-expression#111 · 4 commenti ·
Tutte le issue di aboutcode-org/license-expression
Issue simili
-
ReadQwen3PaperTask5 rejects correct answers that differ only in order, case, or underscore formForse già presa @Kingpython123 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
Tongyi-MAI/MobileWorld#72 ·
-
_threads/application: Update typing annotations using `pyupgrade --py311-plus`Forse già presa @gudnimg l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Health probes return 401 when authentication is enabled and the API is served under /orbForse già presa @fgogolli l’ha presa oggi. Apertaarea: api priority: p2 size: S type: bug
Difficoltà 2/5 Mezza giornata Idoneità per principianti 75/100
finos/open-resource-broker#704 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
BCDA-APS/polar-bits#93 ·
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
GoogleCloudPlatform/gce-rescue#218 ·
I maintainer di solito rispondono entro 2 giorni