diff options
author | Zachary Ware <zachary.ware@gmail.com> | 2016-06-04 19:35:05 (GMT) |
---|---|---|
committer | Zachary Ware <zachary.ware@gmail.com> | 2016-06-04 19:35:05 (GMT) |
commit | c17a0b87a682dab464d40a8ae1d16c009a1818ce (patch) | |
tree | d412abd49a24db98b6c58338a94f4c8d3d897eea | |
parent | 78b642c6b2343faf6dcdcbef9e553d82e74e2807 (diff) | |
download | cpython-c17a0b87a682dab464d40a8ae1d16c009a1818ce.zip cpython-c17a0b87a682dab464d40a8ae1d16c009a1818ce.tar.gz cpython-c17a0b87a682dab464d40a8ae1d16c009a1818ce.tar.bz2 |
Issue #26809: Add __all__ to string module. Patch by Emanuel Barry
-rw-r--r-- | Lib/string.py | 10 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/Lib/string.py b/Lib/string.py index 62e8f2f..89287c4 100644 --- a/Lib/string.py +++ b/Lib/string.py @@ -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 # Some strings for ctype-style character classification @@ -46,7 +50,7 @@ def capwords(s, sep=None): #################################################################### import re as _re -from collections import ChainMap +from collections import ChainMap as _ChainMap class _TemplateMetaclass(type): pattern = r""" @@ -104,7 +108,7 @@ class Template(metaclass=_TemplateMetaclass): if not args: mapping = kws elif kws: - mapping = ChainMap(kws, args[0]) + mapping = _ChainMap(kws, args[0]) else: mapping = args[0] # Helper function for .sub() @@ -134,7 +138,7 @@ class Template(metaclass=_TemplateMetaclass): if not args: mapping = kws elif kws: - mapping = ChainMap(kws, args[0]) + mapping = _ChainMap(kws, args[0]) else: mapping = args[0] # Helper function for .sub() @@ -131,6 +131,8 @@ Core and Builtins Library ------- +- Issue #26809: Add ``__all__`` to :mod:`string`. Patch by Emanuel Barry. + - Issue #26373: subprocess.Popen.communicate now correctly ignores BrokenPipeError when the child process dies before .communicate() is called in more/all circumstances. |