`UseEnum` does not work with str enum
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia riproducendo il comportamento segnalato di UseEnum con l'enum Color mostrato nella issue, quindi esamina la validazione di UseEnum e i test esistenti. Aggiungi la copertura per un enum basato su str e verifica che l'assegnazione del valore sottostante "green" venga risolta in Color.GREEN senza compromettere le assegnazioni degli enum esistenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Slightly adapting the UseEnum example to use a str based enum makes it fail to recognize the enum by the value:
import enum
from traitlets import HasTraits, UseEnum
class Color(str, enum.Enum):
RED = "red"
BLUE = "blue"
GREEN = "green"
class MyEntity(HasTraits):
color = UseEnum(Color, default_value=Color.BLUE)
entity = MyEntity(color=Color.RED)
entity.color = Color.GREEN
entity.color = "GREEN"
entity.color = "Color.GREEN"
entity.color = "green"
assert entity.color is Color.GREEN
Raises:
❯ python test_enum.py
Traceback (most recent call last):
File "/home/mnoethe/Projects/test_enum.py", line 16, in <module>
entity.color = "green" # USE: number (as int)
File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/traitlets/traitlets.py", line 729, in __set__
self.set(obj, value)
File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/traitlets/traitlets.py", line 703, in set
new_value = self._validate(obj, value)
File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/traitlets/traitlets.py", line 735, in _validate
value = self.validate(obj, value)
File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/traitlets/traitlets.py", line 3582, in validate
self.error(obj, value)
File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/traitlets/traitlets.py", line 841, in error
raise TraitError(e)
traitlets.traitlets.TraitError: The 'color' trait of a MyEntity instance expected any of ['RED', 'BLUE', 'GREEN'], not the str 'green'.
- Lingua principale
- Python
- Stelle
- 653
- Fork
- 217
- Merge medio
- 2g 21h
- PR unite (30g)
- 2
Guida per i contributori
Apri la guida per i contributori
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 ipython/traitlets
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 65/100
-
good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
Tutte le issue di ipython/traitlets
Issue simili
-
bug confirmed issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
open-webui/open-webui#30750 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100