From efb13be72cbf49edf591936fafb120fe1b7d59f7 Mon Sep 17 00:00:00 2001 From: Ethan Furman Date: Thu, 10 Dec 2020 12:20:06 -0800 Subject: bpo-42385: [Enum] add `_generate_next_value_` to StrEnum (GH-23735) The default for auto() is to return an integer, which doesn't work for `StrEnum`. The new `_generate_next_value_` for `StrEnum` returns the member name, lower cased. --- Lib/enum.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Lib/enum.py') diff --git a/Lib/enum.py b/Lib/enum.py index 74318c3b71..ed0c9ce72d 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -826,6 +826,12 @@ class StrEnum(str, Enum): __str__ = str.__str__ + def _generate_next_value_(name, start, count, last_values): + """ + Return the lower-cased version of the member name. + """ + return name.lower() + def _reduce_ex_by_name(self, proto): return self.name -- cgit v1.2.1