views:

171

answers:

2

Hello! This is my first time here so I hope I post this question at the right place. :)

I need to build flood control for my script but I'm not good at all this datetime to time conversions with UTC and stuff. I hope you can help me out. I'm using the Google App Engine with Python. I've got a datetimeproperty at the DataStore database which should be checked if it's older than 20 seconds, then proceed.

Could anybody help me out?

So in semi-psuedo:

q = db.GqlQuery("SELECT * FROM Kudo WHERE fromuser = :1", user)
lastplus = q.get()

if lastplus.date is older than 20 seconds:
print"Go!"
+3  A: 

You can use the datetime.timedelta datatype, like this:

import datetime
lastplus = q.get()
if lastplus.date < datetime.datetime.now()-datetime.timedelta(seconds=20):
    print "Go"

Read more about it here: http://docs.python.org/library/datetime.html

Cheers,

Philip

mojbro
+1  A: 

Try this:

from datetime import timedelta, datetime
if lastplus.date < datetime.utcnow() + timedelta(seconds = -20):
    print "fee fie fo foo!"
Cameron