fix redis sessions and redis for python3

This commit is contained in:
Radu Ioan Fericean
2018-04-14 14:33:37 +03:00
parent 90288a0134
commit 086bfb5851
4 changed files with 15 additions and 11 deletions
+2 -2
View File
@@ -10,7 +10,7 @@ except:
import time
import re
import logging
import thread
from threading import Lock
import random
from gluon import current
from gluon.cache import CacheAbstract
@@ -19,7 +19,7 @@ from gluon.contrib.redis_utils import register_release_lock, RConnectionError
logger = logging.getLogger("web2py.cache.redis")
locker = thread.allocate_lock()
locker = Lock()
def RedisCache(redis_conn=None, debug=False, with_lock=False, fail_gracefully=False, db=None):
+7 -5
View File
@@ -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 []
+2 -2
View File
@@ -11,7 +11,7 @@ to ensure compatibility with another - similar - library
"""
import logging
import thread
from threading import Lock
import time
from gluon import current
@@ -26,7 +26,7 @@ except ImportError:
raise RuntimeError('Needs redis library to work')
locker = thread.allocate_lock()
locker = Lock()
def RConn(*args, **vars):