◐ Shell
clean mode source ↗

bpo-40066: Enum global repr doctest by ethanfurman · Pull Request #25116 · python/cpython

added 21 commits

March 24, 2021 17:36
non-StrEnum `__str__` will print the member name
StrEnum `__str__` will print the member value
create enum._stdlib_enum decorator for Enums created the normal way: it
adjusts `__repr__` and `__str__` to be the same as if the Enum had been
created using `_convert_`

update various modules to use the new decorator
if `enum.__str__` is either `Enum.__str__` or `global_enum_str` use the
value's `__format__`
repr() = class.member_name
str() = member_name
rename to `global_enum` and have `global_enum` update the module's
namespace with the members

remove `_stdlib_enum` where the enums were not being exported to the
module's namespace
* rename global_int_repr --> global_enum_repr
* adjust global_flag_repr to print hex number for out-of-range values
* extract function when _generate_next_value_ is a static method
- repr() is now ``enum_class.member_name``
- str() is now ``member_name``
- add HOW-TO section for ``Enum``
- change main documentation to be an API reference

@ethanfurman ethanfurman changed the title Enum global repr doctest bpo-40066: Enum global repr doctest

Mar 31, 2021