-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please use built-in enums #642
Comments
The implementation comes from a time before there was enum in the standard library. Switching to the built-in enum might be a breaking change in some way. But implementing the
I wouldn't call it "very non-standard". It is exactly what Python's from enum import Enum
Color = Enum('Color', ['RED', 'GREEN', 'BLUE'])
str(Color.RED) # This is "Color.RED" |
mutagen/mutagen/mp3/__init__.py
Line 36 in f95d3ae
This is a very unusable implementation - namely because it requires a
match/case
or similar anti-pattern to be implemented as you've created a fairly whacky method of returning a string representation.For example, if I simply want to record that the bit-rate mode of an MP3 was CBR - there's no easy way for me to just get
CBR
as you've forced the string representation to beBitrateMode.CBR
. I have no idea why anyone would ever want the Enum class in their string representation and is very non-standard.Either this, or please implement the standard
.name
and.value
properties in normal Pythonenum
to make this possible.https://docs.python.org/3/library/enum.html#enum.Enum
The text was updated successfully, but these errors were encountered: