Commit Graph

65 Commits

Author SHA1 Message Date
Victor Stinner 0f2fc8bee0 bpo-34536: raise error for invalid _missing_ results (GH-9147) (GH-9978)
* raise exception if _missing_ returns None or invalid type
2018-10-19 16:49:30 -07:00
Miss Islington (bot) 453b3b0e87 bpo-34909: keep searching mixins until base class is found (GH-9737) (GH-9738)
(cherry picked from commit cd45385ffa)
2018-10-06 00:43:20 -07:00
Ethan Furman 0c076caaa8
[3.7] bpo-29577: Enum: mixin classes don't mix well with already mixed Enums (GH-9328) (GH-9486)
* bpo-29577: allow multiple mixin classes
2018-09-21 22:26:32 -07:00
orlnub123 c0d63bf73b [3.7] bpo-34282: Fix Enum._convert method shadowing members named _convert (GH-9034)
* Fix Enum._convert shadowing members named _convert
2018-09-10 09:39:48 -07:00
Ethan Furman 3715176557
[3.7] bpo-33217: deprecate non-Enum lookups in Enums (GH-6392)
deprecate non-Enum lookups in Enums

Lookups such as `1 in Color` and `2 in SomeFlag()` will raise TypeError
in 3.8+.
2018-04-11 18:56:25 -07:00
Ethan Furman a4b1bb4801
bpo-31801: Enum: add _ignore_ as class option (#5237)
* bpo-31801:  Enum:  add _ignore_ as class option

_ignore_ is a list, or white-space seperated str, of names that will not
be candidates for members; these names, and _ignore_ itself, are removed
from the final class.

* bpo-31801:  Enum:  add documentation for _ignore_

* bpo-31801: Enum: remove trailing whitespace

* bpo-31801: Enum: fix bulleted list format

* bpo-31801: add version added for _ignore_
2018-01-22 07:56:37 -08:00
Antoine Pitrou a6a4dc816d bpo-31370: Remove support for threads-less builds (#3385)
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Dong-hee Na dcc8ce44c7 bpo-30616: Functional API of enum allows to create empty enums. (#2304)
* bpo-30616: Functional API of enum allows to create empty enums.

* Update NEWS

move addition to avoid conflict
2017-06-21 09:52:32 -07:00
Ethan Furman 0105606f55 issue29167: fix race condition in (Int)Flag 2017-01-24 12:13:34 -08:00
Ethan Furman 28cf663ff0 closes issue29167: fix race condition in (Int)Flag 2017-01-24 12:12:06 -08:00
Serhiy Storchaka 90f6332382 Issue #29338: Fix test_enum. 2017-01-24 09:06:22 +02:00
Ethan Furman 23bb6f48ea close issue28172: Change all example enum member names to uppercase, per Guido; patch by Chris Angelico. 2016-11-21 09:22:05 -08:00
Ethan Furman 3515dcce80 issue23591: fix flag decomposition and repr 2016-09-18 13:15:41 -07:00
Ethan Furman c16595e567 issue23591: add auto() for auto-generating Enum member values 2016-09-10 23:36:59 -07:00
Ethan Furman 27682d2698 issue23591: more docs; slight change to repr 2016-09-04 11:39:01 -07:00
Ethan Furman 25d94bbf05 issue23591: bool(empty_flags) == False; more docs & tests 2016-09-02 16:32:32 -07:00
Ethan Furman 65a5a47d79 issue23591: add docs; code cleanup; more tests 2016-09-01 23:55:19 -07:00
Ethan Furman ee47e5cf8a issue23591: add Flags, IntFlags, and tests 2016-08-31 00:12:15 -07:00
Ethan Furman e8e61277ff issue26981: add _order_ compatibility shim to enum.Enum 2016-08-20 07:19:31 -07:00
Ethan Furman 332dbc7325 Issue26988: remove AutoEnum 2016-08-20 00:00:52 -07:00
Ethan Furman 73fc586d9f Add AutoEnum: automatically provides next value if missing. Issue 26988. 2016-08-05 16:03:16 -07:00
Martin Panter 8bde911115 Issue #27626: Merge spelling fixes from 3.5 2016-07-28 01:30:58 +00:00
Martin Panter eb9957065a Issue #27626: Spelling fixes in docs, comments and internal names
Based on patch by Ville Skyttä.
2016-07-28 01:11:04 +00:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) 6f20bd6063 signal, socket, and ssl module IntEnum constant name lookups now return a
consistent name for values having multiple names.  Ex: signal.Signals(6)
now refers to itself as signal.SIGALRM rather than flipping between that
and signal.SIGIOT based on the interpreter's hash randomization seed.

This helps finish issue27167.
2016-06-03 19:14:52 +00:00
Serhiy Storchaka ea36c941a1 Issue #23640: int.from_bytes() no longer bypasses constructors for subclasses. 2016-05-12 10:37:58 +03:00
Serhiy Storchaka 1f364438ad Issue #23640: int.from_bytes() no longer bypasses constructors for subclasses. 2016-05-12 10:39:32 +03:00
Ethan Furman 354706915c issue26893: use mro() to examine class heirarchy 2016-05-01 10:04:21 -07:00
Ethan Furman 3803ad47bb issue26893: use mro() to examine class heirarchy 2016-05-01 10:03:53 -07:00
Ethan Furman 0fe7978c68 Issue26748: Enum classes should evaluate as True 2016-04-13 23:55:40 -07:00
Ethan Furman de4e079d3d Issue26748: Enum classes should evaluate as True 2016-04-13 23:53:45 -07:00
Ethan Furman 5de67b106a Issue26748: Enum classes should evaluate as True 2016-04-13 23:52:09 -07:00
Ethan Furman 60255b67b9 revert change 87a9dff5106c: pure Enum members again evaluate to True;
update Finer Points section of docs to cover boolean evaluation;
add more tests for pure and mixed boolean evaluation
2016-01-15 15:01:33 -08:00
Martin Panter 19e69c5a20 Issue #23883: Add missing APIs to __all__; patch by Jacek Kołodziej 2015-11-14 12:46:42 +00:00
Ethan Furman 6db1fd5fb8 Close issue24840: Enum._value_ is queried for bool(); original patch by Mike Lundy 2015-09-17 21:49:12 -07:00
Ethan Furman 48a724fa33 Close issue23900: add default __doc__ to new enumerations that do not specify one. 2015-04-11 23:23:06 -07:00
Ethan Furman 3323da92e7 Issue23826: fix doc test for -OO runs 2015-04-11 09:39:59 -07:00
Serhiy Storchaka b599ca8cff Fixed test_enum for issue #15582. 2015-04-04 12:48:04 +03:00
Serhiy Storchaka e50e780234 Issue #23611: Fixed enums pickling tests. Now all picklings work with all
protocols.
2015-03-31 16:56:49 +03:00
Ethan Furman 24e837f231 issue23673
add private method to enum to support replacing global constants with Enum members:
- search for candidate constants via supplied filter
- create new enum class and members
- insert enum class and replace constants with members via supplied module name
- replace __reduce_ex__ with function that returns member name, so previous Python versions can unpickle
modify IntEnum classes to use new method
2015-03-18 17:27:57 -07:00
Ethan Furman 987f3dd161 Issue22506: merge from 3.4 2014-10-14 08:59:14 -07:00
Ethan Furman 0ae550bdde Issue22506: added methods on base Enum class now show up in dir of Enum subclass (3.4) 2014-10-14 08:58:32 -07:00
Ethan Furman d9925a18ec Close issue21706: add 'start' parameter to functional API 2014-09-16 20:35:55 -07:00
Victor Stinner 4b0432d190 Issue #21773: Fix TestStdLib.test_pydoc() of test_enum. Patch written by
Claudiu Popa.

The print_diffs() function was not defined, using the assertEqual() is more
reliable.
2014-06-16 22:48:43 +02:00
Ethan Furman 482fe0477e issue23673
add private method to enum to support replacing global constants with Enum members:
- search for candidate constants via supplied filter
- create new enum class and members
- insert enum class and replace constants with members via supplied module name
- replace __reduce_ex__ with function that returns member name, so previous Python versions can unpickle
modify IntEnum classes to use new method
2015-03-18 18:19:30 -07:00
Ethan Furman dc87052c0c Close issue20653: allow Enum subclasses to override __reduce_ex__ 2014-02-18 12:37:12 -08:00
Ethan Furman ca1b794dac Close issue20534: all pickle protocols now supported. 2014-02-08 11:36:27 -08:00
Ethan Furman 2ddb39a695 Close issue20534: test_enum now tests all supported pickle protocols (2 - HIGHEST_PROTOCOL, inclusive). 2014-02-06 17:28:50 -08:00
Ethan Furman be3c2fea35 removed Enum.__eq__ as it added nothing 2013-11-13 14:25:45 -08:00
Ethan Furman 5875d74748 Close #19263: add tests to ensure __objclass__ correctly set. 2013-10-21 20:45:55 -07:00
Ethan Furman 1a16288197 Close #19252: better test coverage for Enum. Thanks, CliffM 2013-10-16 19:09:31 -07:00