Select fails when cookie tried to get a numeric value

Νίκος Αλεξόπουλος nikos.gr33k at gmail.com
Sat Oct 5 11:50:00 EDT 2013


Στις 5/10/2013 6:06 μμ, ο/η Zero Piraeus έγραψε:
> :
>
> On Sat, Oct 05, 2013 at 05:40:23PM +0300, Νίκος Αλεξόπουλος wrote:
>> When i print CookieID i was under the impression i would see a
>> random number like '5369' but instead it display the follwong.
>>
>> Set-Cookie: ID="Set-Cookie: ID=5369"
>
> On Sat, Oct 05, 2013 at 05:47:54PM +0300, Νίκος Αλεξόπουλος wrote:
>> When i print CookieID i was under the impression i would see a
>> random number like '5369' but instead it display the follwong.
>>
>> Set-Cookie: ID="Set-Cookie: ID=5369"
>
> Please don't give identical or near-identical replies to multiple
> messages in the thread; other members of the list are either reading all
> of your posts or none of them, so repeating yourself like this is only
> going to irritate whoever is reading.
>
> Since printing cookieID doesn't produce the output you expect, the
> obvious next step is to look up the documentation for whatever kind of
> object it is. You can find out its type with
>
>      type(cookieID)
>
> ... and then once you know that type (let's say for the sake of argument
> it's a Biscuit object), find out about that type of object's attributes
> either by googling for the docs or at the interpreter with
>
>      help(Biscuit)
>
> As previously mentioned, there's likely to be some kind of 'value'
> attribute that will return just the number you want.
nikos at superhost.gr [~/www/cgi-bin]# python
Python 3.3.2 (default, Aug 26 2013, 06:41:42)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, random
>>> from http import cookies
>>> cookie = cookies.SimpleCookie( os.environ.get('HTTP_COOKIE') )
cookie.load( cookie )
>>> cookieID = cookie.get('ID').value
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'value'


And if you go to my webpage http://superhost.gr at the top corner you 
see that allthough i use this code to get the value of the retrieved 
cookie or set the value if ti do

# initialize cookie and retrieve cookie from clients broswer
cookie = cookies.SimpleCookie( os.environ.get('HTTP_COOKIE') )
cookie.load( cookie )
cookieID = cookie.get('ID').value

# if browser cookie does not exist, set it
if not cookieID:
	cookie['ID'] = random.randrange(0, 10000)
	cookie['ID']['path'] = '/'
	cookie['ID']['expires'] = 60*60*24*365		#this cookie will expire in a month
	print( cookie )
	cookieID = cookie['ID'].value

print( '''Content-type: text/html; charset=utf-8\n''' )

print( cookieID )
sys.exit(0)

The output is: Set-Cookie: ID=1376

But how is this possible since we applied the .value attribute in the 
cookie?





More information about the Python-list mailing list