Has something changed in the operation of redis to store sessions in web2py 
when we use python3 instead of python2?  I'm hitting an error in the 
py-redis library that complains I can't store a boolean in redis 
(unsupported data type).  Since this seems to be a well known design 
feature of redis I'm wondering how it seemed to work before.  It's been 
awhile since I used it, but I swear it worked before.  Didn't it?  Maybe I 
dreamed it.

-- Joe

Message:

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.

Traceback (most recent call last):
  File "/Users/jbarnhart/Work/w2p/w2p_ss_new/gluon/main.py", line 444, in 
wsgibase
    serve_controller(request, response, session)
  File "/Users/jbarnhart/Work/w2p/w2p_ss_new/gluon/main.py", line 206, in 
serve_controller
    raise HTTP(response.status, page, **response.headers)
gluon.http.HTTP: 200 OK

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/jbarnhart/Work/w2p/w2p_ss_new/gluon/main.py", line 460, in 
wsgibase
    session._try_store_in_db(request, response)
  File "/Users/jbarnhart/Work/w2p/w2p_ss_new/gluon/globals.py", line 1239, in 
_try_store_in_db
    record_id = table.insert(**dd)
  File "/Users/jbarnhart/Work/w2p/w2p_ss_new/gluon/contrib/redis_session.py", 
line 150, in insert
    pipe.execute()
  File 
"/Users/jbarnhart/.virtualenv/py3/lib/python3.7/site-packages/redis/client.py", 
line 3520, in execute
    return execute(conn, stack, raise_on_error)
  File 
"/Users/jbarnhart/.virtualenv/py3/lib/python3.7/site-packages/redis/client.py", 
line 3385, in _execute_transaction
    all_cmds = connection.pack_commands([args for args, options in cmds
  File 
"/Users/jbarnhart/.virtualenv/py3/lib/python3.7/site-packages/redis/connection.py",
 line 687, in pack_commands
    for chunk in self.pack_command(*cmd):
  File 
"/Users/jbarnhart/.virtualenv/py3/lib/python3.7/site-packages/redis/connection.py",
 line 663, in pack_command
    for arg in imap(self.encoder.encode, args):
  File 
"/Users/jbarnhart/.virtualenv/py3/lib/python3.7/site-packages/redis/connection.py",
 line 114, in encode
    raise DataError("Invalid input of type: 'bool'. Convert to a "
redis.exceptions.DataError: Invalid input of type: 'bool'. Convert to a byte, 
string or number first.

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to