Στις 5/10/2013 7:08 μμ, ο/η Ned Batchelder έγραψε:

On 10/5/13 11:52 AM, Νίκος Αλεξόπουλος wrote:
Στις 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?

--
What is now proved was at first only imagined! & WebHost
<http://superhost.gr>
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to