updade from Atlas repo

This commit is contained in:
Luciano Ramalho
2021-05-21 18:56:12 -03:00
parent c518bf851e
commit 8a330d822b
120 changed files with 2190 additions and 1184 deletions

View File

@@ -2,9 +2,9 @@
# shared privately with me, with permission to use in Fluent Python 2e.
"""
Testing ``AutoFillDict``::
Testing ``WilyDict``::
>>> adict = AutoFillDict()
>>> adict = WilyDict()
>>> len(adict)
0
>>> adict['first']
@@ -37,7 +37,7 @@ Testing ``MicroEnum``::
"""
class AutoFillDict(dict):
class WilyDict(dict):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.__next_value = 0
@@ -52,12 +52,14 @@ class AutoFillDict(dict):
class MicroEnumMeta(type):
def __prepare__(name, bases, **kwargs):
return AutoFillDict()
return WilyDict()
class MicroEnum(metaclass=MicroEnumMeta):
def __class_getitem__(cls, key):
def __getitem__(cls, key):
for k, v in cls.__dict__.items():
if v == key:
return k
raise KeyError(key)
class MicroEnum(metaclass=MicroEnumMeta):
pass