Hello
I tried my best but can't make  web2py 2.18.5 (latest) work with python3 
and redis (2 or 3)
I tried to alter dd definition in globals.py as suggested by jim converting 
to string False, datetime and unique_key but i always end up with 

Traceback (most recent call last):
  File "/usr/local/web2py/gluon/restricted.py", line 219, in restricted
    exec(ccode, environment)
  File "/usr/local/web2py/applications/welcome/models/db.py" 
<https://bobapp-test.flemzouille.com:8443/admin/default/edit/welcome/models/db.py>,
 line 42, in <module>
    session.connect(request, response, db = sessiondb)
  File "/usr/local/web2py/gluon/globals.py", line 966, in connect
    row = table(record_id, unique_key=unique_key)
  File "/usr/local/web2py/gluon/contrib/redis_session.py", line 117, in __call__
    row = q.select()
  File "/usr/local/web2py/gluon/contrib/redis_session.py", line 189, in select
    if rtn['unique_key'] == self.unique_key:
KeyError: 'unique_key'

Can anyone help me having web2py python3  and redis (whatever version) work ?

I don't want to go back to python2 - spent too much time making the changes so 
that may app works with python3 ...

Help would be greatly appreciated

Stéphane

Le mercredi 20 mars 2019 05:07:43 UTC+1, Joe Barnhart a écrit :
>
> 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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/367f279c-f329-47b2-830b-bc3c4f62e82a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to