def quote(s): """unicode-safe quote - Python 2 requires str, not unicode - always return unicode """ s = py3compat.cast_bytes_py2(s) quoted = stdlib_quote(s) return py3compat.str_to_unicode(quoted)
def quote(s): """unicode-safe quote - accepts str+unicode (not bytes on py3) - Python 2 requires str, not unicode - always return unicode """ if not isinstance(s, str): s = s.encode("utf8") quoted = stdlib_quote(s) if isinstance(quoted, bytes): quoted = quoted.decode("utf8") return quoted
def quote(s): """unicode-safe quote - accepts str+unicode (not bytes on py3) - Python 2 requires str, not unicode - always return unicode """ if not isinstance(s, str): s = s.encode('utf8') quoted = stdlib_quote(s) if isinstance(quoted, bytes): quoted = quoted.decode('utf8') return quoted