On Friday, April 23, 2021 at 9:43:19 AM UTC-7 lucas wrote:

> hello one and all,
>
> i'd like to save and recover Storage instances to a text blob field in a 
> database.  converting to the string is not hard to store it in the field.  
> recovering it back to a Storage instance is other issue, especially when 
> they're embedded Storage objects in the main Storage object.  i've tried 
> from a script file not under a web2py application as:
>
> #!/usr/bin/env python3
> # -*- coding: utf-8 -*-
> from sys import path, argv
> path.append('/opt/web2py_apps/web2py/')
> from gluon import *
> from gluon.storage import Storage
> if 1:
>     ss = Storage(s='main')
>     ss.happy = 'yes happy'
>     #ss.status = Storage(s1="1status1", s2="2status2")
>     print("1:::", ss, type(ss))
>     ss = repr(ss)
>     print("2:::", ss, type(ss))
>     #xglobal, xlocal = globals(), { }
>     #eval(ss, xglobal, xlocal)
>     ss = eval(ss)
>     print("3:::", ss, type(ss))
> exit()
>
> with output:
> 1::: <Storage {'s': 'main', 'happy': 'yes happy'}> <class 
> 'gluon.storage.Storage'>
> 2::: <Storage {'s': 'main', 'happy': 'yes happy'}> <class 'str'>
> Traceback (most recent call last):
>   File "./web2py_Storage.py", line 17, in <module>
>     ss = eval(ss)
>   File "<string>", line 1
>     <Storage {'s': 'main', 'happy': 'yes happy'}>
>     ^
> SyntaxError: invalid syntax
>
> any ideas how to make this work smoothly?  thank you in advance, lucas
>

When you convert the storage to string (via the repr() call), don't use the 
same name.

/dps

 

-- 
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 web2py+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/49cd4138-1ea4-4d9c-9fa7-f591e112c559n%40googlegroups.com.

Reply via email to