From 90288a013446ce15434fee196c932709213b4c14 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Sat, 14 Apr 2018 11:42:31 +0300 Subject: [PATCH] fix sessions in cookies for python3 --- gluon/globals.py | 2 +- gluon/utils.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gluon/globals.py b/gluon/globals.py index 767a9b0b..95e310c6 100644 --- a/gluon/globals.py +++ b/gluon/globals.py @@ -1167,7 +1167,7 @@ class Session(Storage): compression_level=compression_level) rcookies = response.cookies rcookies.pop(name, None) - rcookies[name] = value + rcookies[name] = value.decode('utf8') rcookies[name]['path'] = '/' expires = response.session_cookie_expires if isinstance(expires, datetime.datetime): diff --git a/gluon/utils.py b/gluon/utils.py index 3b26a51b..3b93ea18 100644 --- a/gluon/utils.py +++ b/gluon/utils.py @@ -207,6 +207,8 @@ def secure_dumps(data, encryption_key, hash_key=None, compression_level=None): def secure_loads(data, encryption_key, hash_key=None, compression_level=None): + if not isinstance(data, bytes): + data = bytes(data, 'utf8') components = data.count(b':') if components == 1: return secure_loads_deprecated(data, encryption_key, hash_key, compression_level)