Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 48a724f

Browse files
committed
Close issue23900: add default __doc__ to new enumerations that do not specify one.
1 parent a1c7e72 commit 48a724f

2 files changed

Lines changed: 9 additions & 5 deletions

File tree

Lib/enum.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ def __new__(metacls, cls, bases, classdict):
106106
raise ValueError('Invalid enum member name: {0}'.format(
107107
','.join(invalid_names)))
108108

109+
# create a default docstring if one has not been provided
110+
if '__doc__' not in classdict:
111+
classdict['__doc__'] = 'An enumeration.'
112+
109113
# create our new Enum type
110114
enum_class = super().__new__(metacls, cls, bases, classdict)
111115
enum_class._member_names_ = [] # names in definition order

Lib/test/test_enum.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,9 +1560,7 @@ class Dirtier(IntEnum):
15601560
Help on class Color in module %s:
15611561
15621562
class Color(enum.Enum)
1563-
| Generic enumeration.
1564-
|\x20\x20
1565-
| Derive from this class to define new enumerations.
1563+
| An enumeration.
15661564
|\x20\x20
15671565
| Method resolution order:
15681566
| Color
@@ -1626,6 +1624,8 @@ class Color(enum.Enum)
16261624

16271625
class TestStdLib(unittest.TestCase):
16281626

1627+
maxDiff = None
1628+
16291629
class Color(Enum):
16301630
red = 1
16311631
green = 2
@@ -1646,7 +1646,7 @@ def test_pydoc(self):
16461646
def test_inspect_getmembers(self):
16471647
values = dict((
16481648
('__class__', EnumMeta),
1649-
('__doc__', None),
1649+
('__doc__', 'An enumeration.'),
16501650
('__members__', self.Color.__members__),
16511651
('__module__', __name__),
16521652
('blue', self.Color.blue),
@@ -1674,7 +1674,7 @@ def test_inspect_classify_class_attrs(self):
16741674
Attribute(name='__class__', kind='data',
16751675
defining_class=object, object=EnumMeta),
16761676
Attribute(name='__doc__', kind='data',
1677-
defining_class=self.Color, object=None),
1677+
defining_class=self.Color, object='An enumeration.'),
16781678
Attribute(name='__members__', kind='property',
16791679
defining_class=EnumMeta, object=EnumMeta.__members__),
16801680
Attribute(name='__module__', kind='data',

0 commit comments

Comments
 (0)