#! /usr/bin/python
import sys
import MySQLdb
import datetime
import cgi
import xml.sax.saxutils
import time
try:
conn = MySQLdb.connect (host = "localhost", user = "reguser", passwd = "reguser", db = "registrations")
cursor = conn.cursor()
except MySQLdb.Error, e:
#print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1)
query = cgi.FieldStorage()
user = query.getvalue('username')
identity = query.getvalue('identity')
friends = query.getlist('friends')
now = datetime.datetime.now()
nowmenos1h = datetime.datetime.now()-datetime.timedelta(hours=1)
encontrado = False;
contador = 0;
print 'Content-type: text/plain\n\n\n'
if user:
try:
if identity != "0":
print '\tregister'
sql = 'REPLACE INTO REGISTRATIONS VALUES (%s, %s, %s)'
args = (user,identity,now)
cursor.execute(sql,args)
else:
print '\tunregister'
sql = 'DELETE FROM REGISTRATIONS WHERE m_username = %s'
args = (user)
cursor.execute(sql,args)
print '\ttrue'
except:
print '\tfalse'
for f in friends:
print "\t\n\t\t%s" % (xml.sax.saxutils.escape(f), )
sql = 'SELECT m_username, m_identity FROM REGISTRATIONS WHERE m_username = %s and m_updatetime > %s'
args = (f,nowmenos1h)
while ((not encontrado) and (contador < 5)):
cursor.execute(sql,args)
if cursor.rowcount == 0:
time.sleep(1)
else:
encontrado = True
contador = contador + 1
for result in cursor.fetchall():
eachIdent = result[1]
if not eachIdent:
eachIdent = ""
print "\t\t%s" % (xml.sax.saxutils.escape(eachIdent), )
print "\t"
cursor.close()
conn.commit()
conn.close()
print ""
e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.