Commit 87728c4e authored by Zachary Ware's avatar Zachary Ware

Issue #26809: Add __all__ to string module. Patch by Emanuel Barry

parent 7f69a7bd
...@@ -14,6 +14,10 @@ printable -- a string containing all ASCII characters considered printable ...@@ -14,6 +14,10 @@ printable -- a string containing all ASCII characters considered printable
""" """
__all__ = ["ascii_letters", "ascii_lowercase", "ascii_uppercase", "capwords",
"digits", "hexdigits", "octdigits", "printable", "punctuation",
"whitespace", "Formatter", "Template"]
import _string import _string
# Some strings for ctype-style character classification # Some strings for ctype-style character classification
...@@ -46,7 +50,7 @@ def capwords(s, sep=None): ...@@ -46,7 +50,7 @@ def capwords(s, sep=None):
#################################################################### ####################################################################
import re as _re import re as _re
from collections import ChainMap from collections import ChainMap as _ChainMap
class _TemplateMetaclass(type): class _TemplateMetaclass(type):
pattern = r""" pattern = r"""
...@@ -104,7 +108,7 @@ class Template(metaclass=_TemplateMetaclass): ...@@ -104,7 +108,7 @@ class Template(metaclass=_TemplateMetaclass):
if not args: if not args:
mapping = kws mapping = kws
elif kws: elif kws:
mapping = ChainMap(kws, args[0]) mapping = _ChainMap(kws, args[0])
else: else:
mapping = args[0] mapping = args[0]
# Helper function for .sub() # Helper function for .sub()
...@@ -134,7 +138,7 @@ class Template(metaclass=_TemplateMetaclass): ...@@ -134,7 +138,7 @@ class Template(metaclass=_TemplateMetaclass):
if not args: if not args:
mapping = kws mapping = kws
elif kws: elif kws:
mapping = ChainMap(kws, args[0]) mapping = _ChainMap(kws, args[0])
else: else:
mapping = args[0] mapping = args[0]
# Helper function for .sub() # Helper function for .sub()
......
...@@ -131,6 +131,8 @@ Core and Builtins ...@@ -131,6 +131,8 @@ Core and Builtins
Library Library
------- -------
- Issue #26809: Add ``__all__`` to :mod:`string`. Patch by Emanuel Barry.
- Issue #26373: subprocess.Popen.communicate now correctly ignores - Issue #26373: subprocess.Popen.communicate now correctly ignores
BrokenPipeError when the child process dies before .communicate() BrokenPipeError when the child process dies before .communicate()
is called in more/all circumstances. is called in more/all circumstances.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment