def escape(cls, s): """Escape the string. Works like :func:`escape` with the difference that for subclasses of :class:`Markup` this function would return the correct subclass. """ rv = escape(s) if rv.__class__ is not cls: return cls(rv) return rv
def __radd__(self, other): if hasattr(other, '__html__') or isinstance(other, str): return self.__class__(str(escape(other)) + str(self)) return NotImplemented
def _escape_argspec(obj, iterable): """Helper for various string-wrapped functions.""" for key, value in iterable: if hasattr(value, '__html__') or isinstance(value, str): obj[key] = escape(value) return obj