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