fix redis sessions and redis for python3
This commit is contained in:
4 files changed
+15
-11
No files matched your search
@@ -8,7 +8,7 @@ Redis-backed sessions
|
||||
"""
|
||||
|
||||
import logging
|
||||
import thread
|
||||
from threading import Lock
|
||||
from gluon import current
|
||||
from gluon.storage import Storage
|
||||
from gluon.contrib.redis_utils import acquire_lock, release_lock
|
||||
@@ -16,7 +16,7 @@ from gluon.contrib.redis_utils import register_release_lock
|
||||
|
||||
logger = logging.getLogger("web2py.session.redis")
|
||||
|
||||
locker = thread.allocate_lock()
|
||||
locker = Lock()
|
||||
|
||||
|
||||
def RedisSession(redis_conn, session_expiry=False, with_lock=False, db=None):
|
||||
@@ -43,7 +43,7 @@ def RedisSession(redis_conn, session_expiry=False, with_lock=False, db=None):
|
||||
try:
|
||||
instance_name = 'redis_instance_' + current.request.application
|
||||
if not hasattr(RedisSession, instance_name):
|
||||
setattr(RedisSession, instance_name,
|
||||
setattr(RedisSession, instance_name,
|
||||
RedisClient(redis_conn, session_expiry=session_expiry, with_lock=with_lock))
|
||||
return getattr(RedisSession, instance_name)
|
||||
finally:
|
||||
@@ -185,8 +185,10 @@ class MockQuery(object):
|
||||
if rtn:
|
||||
if self.unique_key:
|
||||
# make sure the id and unique_key are correct
|
||||
if rtn['unique_key'] == self.unique_key:
|
||||
rtn['update_record'] = self.update # update record support
|
||||
if not isinstance(self.unique_key, bytes):
|
||||
self.unique_key = bytes(self.unique_key, 'utf8')
|
||||
if rtn[b'unique_key'] == self.unique_key:
|
||||
rtn[b'update_record'] = self.update # update record support
|
||||
else:
|
||||
rtn = None
|
||||
return [Storage(rtn)] if rtn else []
|
||||
|
||||
Reference in new issue
Block a user