Never mind I found my problem, I was using "load" instead of "load*s*"

On Fri, Jan 20, 2012 at 2:48 PM, Bruce Wade <bruce.w...@gmail.com> wrote:

> 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
>



-- 
-- 
Regards,
Bruce Wade
http://ca.linkedin.com/in/brucelwade
http://www.wadecybertech.com
http://www.warplydesigned.com
http://www.fitnessfriendsfinder.com

Reply via email to