Ethan Onstott
d9a43e20fa
bpo-40025: Require _generate_next_value_ to be defined before members (GH-19098)
...
require `_generate_next_value_` to be defined before members
2020-04-28 10:20:55 -07:00
HongWeipeng
0b41a922f9
bpo-38045: Improve the performance of _decompose() in enum.py (GH-16483)
...
* Improve the performance of _decompose() in enum.py
Co-Authored-By: Brandt Bucher <brandtbucher@gmail.com>
2019-11-26 14:36:02 -08:00
Pablo Galindo
293dd23477
Remove binding of captured exceptions when not used to reduce the chances of creating cycles (GH-17246)
...
Capturing exceptions into names can lead to reference cycles though the __traceback__ attribute of the exceptions in some obscure cases that have been reported previously and fixed individually. As these variables are not used anyway, we can remove the binding to reduce the chances of creating reference cycles.
See for example GH-13135
2019-11-19 21:34:03 +00:00
HongWeipeng
bb16fb2cb8
Doc: Fix spelling errors of 'initial' in enum.py (GH-16314)
2019-09-21 07:22:54 +02:00
Walter Dörwald
323842c279
bpo-34443: Use __qualname__ instead of __name__ in enum exception messages. (GH-14809)
...
* Use __qualname__ instead of __name__ in enum exception messages.
2019-07-18 11:37:13 -07:00
thatneat
2f19e82fbe
bpo-37479: on Enum subclasses with mixins, __format__ uses overridden __str__ (GH-14545)
...
* bpo-37479: on Enum subclasses with mixins, __format__ uses overridden __str__
2019-07-04 11:28:37 -07:00
Zachary Ware
19a1e1eb86
bpo-34282: Remove deprecated enum _convert method (GH-13823)
2019-06-04 23:03:10 +02:00
Brennan D Baraban
8b914d2767
bpo-35899: Fix Enum handling of empty and weird strings (GH-11891)
...
Co-authored-by: Maxwell <maxwellpxt@gmail.com>
Co-authored-by: Stéphane Wirtel <stephane@wirtel.be>
https://bugs.python.org/issue35899
2019-03-03 14:09:11 -08:00
Rémi Lapeyre
1fd06f1eca
bpo-35717: Fix KeyError exception raised when using enums and compile (GH-11523)
...
https://bugs.python.org/issue17467
2019-01-24 11:43:13 -08:00
Andrew Svetlov
34ae04f74d
Speed-up building enums by value, e.g. http.HTTPStatus(200) ( #11318 )
...
bpo-35585: Speed up enum by-value lookup
2018-12-26 10:45:33 -08:00
Ethan Furman
cd45385ffa
bpo-34909: keep searching mixins until base class is found (GH-9737)
2018-10-05 23:29:36 -07:00
Ethan Furman
5bdab641da
bpo-29577: Enum: mixin classes don't mix well with already mixed Enums (GH-9328)
...
* bpo-29577: allow multiple mixin classes
2018-09-21 19:03:09 -07:00
Ethan Furman
019f0a0cb8
bpo-34536: raise error for invalid _missing_ results (GH-9147)
...
* raise exception if _missing_ returns None or invalid type
2018-09-12 11:43:34 -07:00
orlnub123
0fb9fadd3b
bpo-34282: Fix Enum._convert shadowing members named _convert (GH-8568)
...
* Fix enum members getting shadowed by parent attributes
* Move Enum._convert to EnumMeta._convert_
* Deprecate _convert
2018-09-12 10:28:53 -07:00
Rahul Jha
9430652535
bpo-33217: Raise TypeError for non-Enum lookups in Enums (GH-6651)
...
* bpo-33217: Raise TypeError for non-Enum lookups in Enums
2018-09-10 11:21:04 -07:00
INADA Naoki
e57f91a0f0
bpo-33866: enum: Stop using OrderedDict (GH-7698)
2018-06-19 01:14:26 +09:00
anentropic
b8e21f1289
bpo-31947: remove None default for names param in Enum._create_ (GH-4288)
2018-04-15 20:40:35 -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
Serhiy Storchaka
81108375d9
bpo-30152: Reduce the number of imports for argparse. ( #1269 )
2017-09-26 00:55:55 +03:00
Ville Skyttä
49b2734bf1
Spelling fixes ( #2902 )
2017-08-03 09:00:59 +03: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
28cf663ff0
closes issue29167: fix race condition in (Int)Flag
2017-01-24 12:12:06 -08:00
Raymond Hettinger
381dc6c22f
Issue #29103 : Remove unused import. Noticed by Jean-Sebastien Bevilacqua.
2016-12-29 23:57:12 -07: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
06339e7493
Enum._convert: sort by value, then by name
2016-09-11 13:25:26 -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
0443953067
issue23591: optimize _high_bit()
2016-09-02 15:50:21 -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
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
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
c791507e1f
Issue 25147: add reason for using _collections
2015-09-17 22:55:40 -07:00
Ethan Furman
e5754ab0c4
Close issue25147: use C implementation of OrderedDict
2015-09-17 22:03:52 -07: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
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
354ecf1ef2
Close issue23486: performance boost for enum member lookup
2015-03-11 08:43:12 -07:00
Ethan Furman
ec5f8eb85f
Issue22506: remove name & value from __dir__ as they now show up automatically
2014-10-21 13:40:35 -07:00