Re: Calling Cookie Values
On Tue, Dec 15, 2009 at 4:01 PM, Grant Edwards inva...@invalid.invalidwrote: 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'] 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 -- http://mail.python.org/mailman/listinfo/python-list
Calling Cookie Values
Hi; import Cookie ... cookie = Cookie.SimpleCookie() cookieString = os.environ.get('HTTP_COOKIE') if not cookieString: 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 Throws this error: /var/www/html/angrynates.com/cart/cart.py 192 /html 193 ''' 194 195 cart() 196 cart = function cart /var/www/html/angrynates.com/cart/cart.py in cart() 32 else: 33 cookieFlag = 'old' 34 print cookie['lastvisit']['expires'].value 35 # Don't know what to do with this. It's for when client won't accept cookies 36 # sessionDir = os.environ['DOCUMENT_ROOT'] + '/tmp/.session' cookie = SimpleCookie: , ].value undefined KeyError: 'lastvisit' args = ('lastvisit',) Please advise. TIA, Victor -- http://mail.python.org/mailman/listinfo/python-list
Re: Calling Cookie Values
On Tue, Dec 15, 2009 at 10:05, Victor Subervi victorsube...@gmail.com wrote: Hi; import Cookie ... cookie = Cookie.SimpleCookie() cookieString = os.environ.get('HTTP_COOKIE') if not cookieString: [snip] else: cookieFlag = 'old' print cookie['lastvisit']['expires'].value What does cookie contain, at this point, in the else branch? Rami Chowdhury Never assume malice when stupidity will suffice. -- Hanlon's Razor 408-597-7068 (US) / 07875-841-046 (UK) / 0189-245544 (BD) -- http://mail.python.org/mailman/listinfo/python-list
Re: Calling Cookie Values
Victor Subervi wrote: Hi; import Cookie ... cookie = Cookie.SimpleCookie() cookieString = os.environ.get('HTTP_COOKIE') if not cookieString: cExpires, cPath, cComment, cDomain, cMaxAge, cVersion = myCookie() cookie['lastvisit'] = str(time.time()) The following lines aren't going to work. You're setting a value to a string and then trying to use that string as a dict... 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 Throws this error: /var/www/html/angrynates.com/cart/cart.py http://angrynates.com/cart/cart.py 192 /html 193 ''' 194 195 cart() 196 cart = function cart /var/www/html/angrynates.com/cart/cart.py http://angrynates.com/cart/cart.py in cart() 32 else: 33 cookieFlag = 'old' 34 print cookie['lastvisit']['expires'].value 35 # Don't know what to do with this. It's for when client won't accept cookies 36 # sessionDir = os.environ['DOCUMENT_ROOT'] + '/tmp/.session' cookie = SimpleCookie: , ].value undefined KeyError: 'lastvisit' args = ('lastvisit',) Please advise. You've just created a cookie, but are trying to get a value without having set it first! -- http://mail.python.org/mailman/listinfo/python-list
Re: Calling Cookie Values
On Tue, Dec 15, 2009 at 2:36 PM, MRAB 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 191 /html 192 ''' 193 194 cart() 195 cart = function cart /var/www/html/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',) Please advise. TIA, V -- http://mail.python.org/mailman/listinfo/python-list
Re: Calling Cookie Values
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
Re: Calling Cookie Values
On Tue, Dec 15, 2009 at 4:05 PM, MRAB pyt...@mrabarnett.plus.com wrote: 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() Ah. Thanks! V -- http://mail.python.org/mailman/listinfo/python-list
Re: Calling Cookie Values
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'] 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 -- Grant Edwards grante Yow! ... I have read the at INSTRUCTIONS ... visi.com -- http://mail.python.org/mailman/listinfo/python-list