diff options
author | Damir Jelić <poljar@termina.org.uk> | 2019-06-19 14:45:20 +0200 |
---|---|---|
committer | Damir Jelić <poljar@termina.org.uk> | 2019-06-19 15:03:57 +0200 |
commit | 5e24c605d2926e23273089058741fe69e1b3030a (patch) | |
tree | 53b866dc74614c447bd52fcf9b0169c87b7488d9 /python/olm/_compat.py | |
parent | ba65551d5f9985d947e768787ae05664514ce1e2 (diff) |
_compat: Change the to_native_str into a to_unicode_str function.
The to_native_str function was supposed to produce Unicode decoded
native strings for python2 and python3.
Upon further consideration this doesn't make much sense since under
python2 it would need to decode the bytes into a Unicode string and turn
it back into a python2 str.
The ability to use the replacement character requires us to use a
Unicode string under python2 as well.
Diffstat (limited to 'python/olm/_compat.py')
-rw-r--r-- | python/olm/_compat.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/python/olm/_compat.py b/python/olm/_compat.py index 762371b..e1c0d63 100644 --- a/python/olm/_compat.py +++ b/python/olm/_compat.py @@ -48,8 +48,11 @@ def to_bytes(string): raise TypeError("Invalid type {}".format(type(string))) -def to_native_str(byte_string, errors="replace"): - """Turn a byte string into a native string decoding it as UTF-8. +def to_unicode_str(byte_string, errors="replace"): + """Turn a byte string into a unicode string. + + Should be used everywhere where the input byte string might not be trusted + and may contain invalid unicode values. Args: byte_string (bytes): The bytestring that will be converted to a native @@ -63,7 +66,4 @@ def to_native_str(byte_string, errors="replace"): Returns the decoded native string. """ - try: - return native_str(byte_string, errors=errors) - except TypeError: - return bytes(byte_string).decode(errors=errors) + return byte_string.decode(errors=errors) |