From 64ffca228bbf642b3302e9d59d44762352717771 Mon Sep 17 00:00:00 2001 From: Phillip Stephens Date: Wed, 23 Mar 2022 21:06:48 -0700 Subject: [PATCH] jinja2: migrate to soft_str (#1) --- third_party/jinja2/filters.py | 24 ++++++++++++------------ third_party/jinja2/runtime.py | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/third_party/jinja2/filters.py b/third_party/jinja2/filters.py index 74b108dcec..15850d96a0 100644 --- a/third_party/jinja2/filters.py +++ b/third_party/jinja2/filters.py @@ -10,7 +10,7 @@ from itertools import groupby from markupsafe import escape from markupsafe import Markup -from markupsafe import soft_unicode +from markupsafe import soft_str from ._compat import abc from ._compat import imap @@ -191,18 +191,18 @@ def do_replace(eval_ctx, s, old, new, count=None): ): s = escape(s) else: - s = soft_unicode(s) - return s.replace(soft_unicode(old), soft_unicode(new), count) + s = soft_str(s) + return s.replace(soft_str(old), soft_str(new), count) def do_upper(s): """Convert a value to uppercase.""" - return soft_unicode(s).upper() + return soft_str(s).upper() def do_lower(s): """Convert a value to lowercase.""" - return soft_unicode(s).lower() + return soft_str(s).lower() @evalcontextfilter @@ -245,7 +245,7 @@ def do_capitalize(s): """Capitalize a value. The first character will be uppercase, all others lowercase. """ - return soft_unicode(s).capitalize() + return soft_str(s).capitalize() def do_title(s): @@ -255,7 +255,7 @@ def do_title(s): return "".join( [ item[0].upper() + item[1:].lower() - for item in _word_beginning_split_re.split(soft_unicode(s)) + for item in _word_beginning_split_re.split(soft_str(s)) if item ] ) @@ -495,7 +495,7 @@ def do_join(eval_ctx, value, d=u"", attribute=None): return d.join(value) # no html involved, to normal joining - return soft_unicode(d).join(imap(soft_unicode, value)) + return soft_str(d).join(imap(soft_str, value)) def do_center(value, width=80): @@ -761,7 +761,7 @@ def do_wordwrap( def do_wordcount(s): """Count the words in that string.""" - return len(_word_re.findall(soft_unicode(s))) + return len(_word_re.findall(soft_str(s))) def do_int(value, default=0, base=10): @@ -820,12 +820,12 @@ def do_format(value, *args, **kwargs): raise FilterArgumentError( "can't handle positional and keyword arguments at the same time" ) - return soft_unicode(value) % (kwargs or args) + return soft_str(value) % (kwargs or args) def do_trim(value, chars=None): """Strip leading and trailing characters, by default whitespace.""" - return soft_unicode(value).strip(chars) + return soft_str(value).strip(chars) def do_striptags(value): @@ -1365,7 +1365,7 @@ FILTERS = { "selectattr": do_selectattr, "slice": do_slice, "sort": do_sort, - "string": soft_unicode, + "string": soft_str, "striptags": do_striptags, "sum": do_sum, "title": do_title, diff --git a/third_party/jinja2/runtime.py b/third_party/jinja2/runtime.py index 3ad7968624..8c5912d3b2 100644 --- a/third_party/jinja2/runtime.py +++ b/third_party/jinja2/runtime.py @@ -6,7 +6,7 @@ from types import MethodType from markupsafe import escape # noqa: F401 from markupsafe import Markup -from markupsafe import soft_unicode +from markupsafe import soft_str from ._compat import abc from ._compat import imap @@ -62,7 +62,7 @@ def identity(x): def markup_join(seq): """Concatenation that escapes if necessary and converts to unicode.""" buf = [] - iterator = imap(soft_unicode, seq) + iterator = imap(soft_str, seq) for arg in iterator: buf.append(arg) if hasattr(arg, "__html__"):