Calling Cookie Values
Victor Subervi
victorsubervi at gmail.com
Wed Dec 16 05:23:03 EST 2009
On Tue, Dec 15, 2009 at 4:01 PM, Grant Edwards <invalid at invalid.invalid>wrote:
> > On Tue, Dec 15, 2009 at 2:36 PM, MRAB <python at mrabarnett.plus.com
> > <mailto:python at mrabarnett.plus.com>> wrote:
> >
> > You've just created a cookie, but are trying to get a value without
> > having set it first!
> >
> >
> > LOL! Rewrote code thus:
> >
> > cookie = os.environ.get('HTTP_COOKIE')
> > if not cookie:
> > cookie = Cookie.SimpleCookie()
> > cExpires, cPath, cComment, cDomain, cMaxAge, cVersion = myCookie()
> > cookie['lastvisit'] = str(time.time())
>
> cookie['lastvisit'] is a string.
>
> > cookie['lastvisit']['expires'] = cExpires
>
> Here you're using the string 'expires' as an index into the
> string returned by str(time.time()). You can only index into
> strings using integers.
>
> What do you expect the following statement to do?
>
> '1260910829.18'['expires'] = <whatever>
>
> > cookie['lastvisit']['path'] = cPath
> > cookie['lastvisit']['comment'] = cComment
> > cookie['lastvisit']['domain'] = cDomain
> > cookie['lastvisit']['max-age'] = cMaxAge
> > cookie['lastvisit']['version'] = cVersion
> > cookieFlag = 'new'
> > else:
> > cookieFlag = 'old'
> > print cookie['lastvisit']['expires'].value
> >
> > Got this error:
> >
> > /var/www/html/angrynates.com/cart/cart.py
> > <http://angrynates.com/cart/cart.py>
> > 191 </html>
> > 192 '''
> > 193
> > 194 cart()
> > 195
> > cart = <function cart>
> > /var/www/html/angrynates.com/cart/cart.py
> > <http://angrynates.com/cart/cart.py> in cart()
> > 31 else:
> > 32 cookieFlag = 'old'
> > 33 print cookie['lastvisit']['expires'].value
> > 34 # Don't know what to do with this. It's for when client won't
> > accept cookies
> > 35 # sessionDir = os.environ['DOCUMENT_ROOT'] + '/tmp/.session'
> > cookie = 'lastvisit=1260898013.65; lastvisit=1260898315.01', ].value
> > undefined
> >
> > TypeError: string indices must be integers
> > args = ('string indices must be integers',)
>
> You took the string returned by str(time.time()) and tried to
> use 'expires' as an index into that time string. You can't use
> a string to index into a string. You can only use integers.
> That's what is mean't by the error message:
>
> TypeError: string indices must be integers
>
Thank you.
V
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20091216/6391f199/attachment-0001.html>
More information about the Python-list
mailing list