Hi I am trying to use cPickle to store data in the database when I try to
load the pickle data later I am getting the following error:
Traceback (most recent call last):
File "/home/bruce/Development/bossteam_dev/projects/yaw/gluon/restricted.py",
line 204, in restricted
exec ccode in environment
File
"/home/bruce/Development/bossteam_dev/projects/yaw/applications/welcome/controllers/adviewer.py"
<http://127.0.0.1:8000/admin/edit/welcome/controllers/adviewer.py>,
line 134, in <module>
File "/home/bruce/Development/bossteam_dev/projects/yaw/gluon/globals.py",
line 172, in <lambda>
self._caller = lambda f: f()
File "/home/bruce/Development/bossteam_dev/projects/yaw/gluon/tools.py",
line 2533, in f
return action(*a, **b)
File
"/home/bruce/Development/bossteam_dev/projects/yaw/applications/welcome/controllers/adviewer.py"
<http://127.0.0.1:8000/admin/edit/welcome/controllers/adviewer.py>,
line 61, in viewads
ads_to_view = adviewer_engine.getUrls()
File "applications/welcome/modules/adviewer_api.py", line 43, in getUrls
ads_viewed = cPickle.load(today_ads.adsviewed)
TypeError: argument must have 'read' and 'readline' attributes
Here is my code for storing:
ads = []
random_ads = self._getRandomUrls([])
if random_ads:
for index, url in enumerate(random_ads):
ads.append({
'index': index,
'id': url['id'],
'url': url['url'],
'valid': '',
'suburlcount': '',
'viewcanceled': '',
'timestart': '',
'timeend': '',
'rating': ''
})
ads_to_view = cPickle.dumps(ads)
# Create todays ads to view
self.db.viewedads.insert(member_id=member, date=date,
adsviewed=ads_to_view)
Now when I try to use cPickle.loads() that is where I get the error above:
today_ads = self.db(self.db.viewedads.member_id == member, date ==
date).select().first()ads_viewed = cPickle.load(today_ads.adsviewed)
print today_ads.adsviewed # This works as expected shows the cPickle data
Is there something I am missing to get this to work with web2py?
--
--
Regards,
Bruce Wade
http://ca.linkedin.com/in/brucelwade
http://www.wadecybertech.com
http://www.warplydesigned.com
http://www.fitnessfriendsfinder.com