Î
Îίκος Αλεξόπουλος
Στις 5/10/2013 7:08 μμ, ο/η Ned Batchelder ÎγÏαψε:
cookieID = cookie.get('ID').value
is not returning what you said it will return
and if cookie.get('ID') doenst exist it returns the error
AttributeError: 'NoneType' object has no attribute 'value'
These are 2 problem.
value aint being returned thw ehole Set-Cookie: ID=some_number is being
returned instead as tou cna see at http://superhost.gr/
and the second problem is
that if the cookie dosnt exist i get the error of: AttributeError:
'NoneType' object has no attribute 'value'
whne this line is tryign to be executed:
cookieID = cookie.get('ID').value
How can i deal with thse 2 problems?
Στις 5/10/2013 6:12 μμ, ο/η Ned Batchelder ÎγÏαψε:On 10/5/13 10:40 AM, Îίκος Αλεξόπουλος wrote:
Στις 5/10/2013 4:53 μμ, ο/η Ned Batchelder ÎγÏαψε:
From reading the bottom-most frame, you can see that the problem is
that "val" is an http.cookies.Morsel object. This means you probably
tried to use a cookie object as data in your SQL query, and MySQL
doesn't know what to do with that object. You'll have to use a more
primitive piece of data in your query.
# initialize cookie
cookie = cookies.SimpleCookie( os.environ.get('HTTP_COOKIE') )
cookie.load( cookie )
cookieID = cookie.get('ID')
# 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
cookieID = cookie.get('ID')
print( cookie )
In the above code i try to retrive the cookie form the visitor's
browser and if it does nto exist i create one.
For some reason i think CookieID nevers gets inserted itnot the
database that's why mysql's select statemnt fails.
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"
The mysql filed CookieID is of datatype's int(5) so it cannto store
this value.
If iam correct and thi is trully the problem then how can i just get
the random number part out the whole string?
Do you see something wrong?
Why cookie['ID'] retuned this string back and not just the number?
Thanks for being patient. Where you have this:
cookieID = cookie.get('ID')
you actually want this:
cookieID = cookie.get('ID').value
--Ned.
[Sat Oct 05 15:51:02 2013] [error] [client 108.162.229.114] File
"/home/nikos/public_html/cgi-bin/metrites.py", line 84, in <module>
[Sat Oct 05 15:51:02 2013] [error] [client 108.162.229.114] cookieID =
cookie.get('ID').value
[Sat Oct 05 15:51:02 2013] [error] [client 108.162.229.114]
AttributeError: 'NoneType' object has no attribute 'value'
Nikos: you know enough to understand what is going on here.
This list will not serve you well if you take every error message and
paste it into an email without trying to get to the bottom of it
yourself. At the very least, a Google search on, "AttributeError:
'NoneType' object has no attribute 'value'" will find you some answers.
I've said it before, I'll say it again: slow down.
--Ned.
cookieID = cookie.get('ID').value
is not returning what you said it will return
and if cookie.get('ID') doenst exist it returns the error
AttributeError: 'NoneType' object has no attribute 'value'
These are 2 problem.
value aint being returned thw ehole Set-Cookie: ID=some_number is being
returned instead as tou cna see at http://superhost.gr/
and the second problem is
that if the cookie dosnt exist i get the error of: AttributeError:
'NoneType' object has no attribute 'value'
whne this line is tryign to be executed:
cookieID = cookie.get('ID').value
How can i deal with thse 2 problems?