diff options
Diffstat (limited to 'Lib/string.py')
| -rw-r--r-- | Lib/string.py | 24 | 
1 files changed, 4 insertions, 20 deletions
| diff --git a/Lib/string.py b/Lib/string.py index 0f4ede2..b57c79b 100644 --- a/Lib/string.py +++ b/Lib/string.py @@ -46,23 +46,7 @@ def capwords(s, sep=None):  ####################################################################  import re as _re - -class _multimap: -    """Helper class for combining multiple mappings. - -    Used by .{safe_,}substitute() to combine the mapping and keyword -    arguments. -    """ -    def __init__(self, primary, secondary): -        self._primary = primary -        self._secondary = secondary - -    def __getitem__(self, key): -        try: -            return self._primary[key] -        except KeyError: -            return self._secondary[key] - +from collections import ChainMap  class _TemplateMetaclass(type):      pattern = r""" @@ -100,7 +84,7 @@ class Template(metaclass=_TemplateMetaclass):      def _invalid(self, mo):          i = mo.start('invalid') -        lines = self.template[:i].splitlines(True) +        lines = self.template[:i].splitlines(keepends=True)          if not lines:              colno = 1              lineno = 1 @@ -116,7 +100,7 @@ class Template(metaclass=_TemplateMetaclass):          if not args:              mapping = kws          elif kws: -            mapping = _multimap(kws, args[0]) +            mapping = ChainMap(kws, args[0])          else:              mapping = args[0]          # Helper function for .sub() @@ -142,7 +126,7 @@ class Template(metaclass=_TemplateMetaclass):          if not args:              mapping = kws          elif kws: -            mapping = _multimap(kws, args[0]) +            mapping = ChainMap(kws, args[0])          else:              mapping = args[0]          # Helper function for .sub() | 
