Victor Subervi wrote:
On Tue, Dec 15, 2009 at 2:36 PM, MRAB <pyt...@mrabarnett.plus.com <mailto:pyt...@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']['expires'] = cExpires
    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',)

What you got from HTTP_COOKIE was a _string_ (or None). You then need to
turn it into a cookie:

    cookie_string = os.environ.get('HTTP_COOKIE')
    if cookie_string:
        cookie = Cookie.SimpleCookie(cookie_string)
        ...
    else:
        cookie = Cookie.SimpleCookie()
        ...
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to