diff options
author | Zachary Ware <zachary.ware@gmail.com> | 2015-12-21 14:17:12 -0600 |
---|---|---|
committer | Zachary Ware <zachary.ware@gmail.com> | 2015-12-21 14:17:12 -0600 |
commit | f2b234443c53cb73dc749da57d952286437cb15a (patch) | |
tree | f21b8b25f5bfbe76a2c85ae62f6d06060dd03372 /Lib/enum.py | |
parent | 26b842a82d9ae7d30c692080bf352a0ef78a626c (diff) | |
parent | 977fd6d7c6593680fd5ffdebb262a2a3f2f24387 (diff) | |
download | cpython-f2b234443c53cb73dc749da57d952286437cb15a.tar.gz |
Issue #25827: Merge with 3.5
Diffstat (limited to 'Lib/enum.py')
-rw-r--r-- | Lib/enum.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Lib/enum.py b/Lib/enum.py index c28f3452a7..35a9c77935 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -1,8 +1,14 @@ import sys -from collections import OrderedDict from types import MappingProxyType, DynamicClassAttribute -__all__ = ['Enum', 'IntEnum', 'unique'] +# try _collections first to reduce startup cost +try: + from _collections import OrderedDict +except ImportError: + from collections import OrderedDict + + +__all__ = ['EnumMeta', 'Enum', 'IntEnum', 'unique'] def _is_descriptor(obj): @@ -476,6 +482,9 @@ class Enum(metaclass=EnumMeta): def __str__(self): return "%s.%s" % (self.__class__.__name__, self._name_) + def __bool__(self): + return bool(self._value_) + def __dir__(self): added_behavior = [ m |