Gere par la base

darcs-hash:20050920114830-6d78a-55e5723b32ae1eadb42ee1556db36f6ac7f80556.gz
This commit is contained in:
pessoles 2005-09-20 13:48:30 +02:00
parent fe54d2d675
commit 8f3bde8fe1

View file

@ -137,65 +137,65 @@ curseur.execute(requete)
# Blackliste des uploaders : # # Blackliste des uploaders : #
############################## ##############################
# Sélection des uploaders du dernier mois # Sélection des uploaders du dernier mois
requete = "SELECT ip_crans FROM avertis_upload WHERE hard='f' AND date>timestamp 'now' - interval '1 month' ORDER BY ip_crans" #requete = "SELECT ip_crans FROM avertis_upload WHERE hard='f' AND date>timestamp 'now' - interval '1 month' ORDER BY ip_crans"
curseur.execute(requete) #curseur.execute(requete)
sanctions = curseur.fetchall() #sanctions = curseur.fetchall()
for i in range(0,len(sanctions)-2): #for i in range(0,len(sanctions)-2):
# Vu que l'on a classé la requete par IP successive, # Vu que l'on a classé la requete par IP successive,
# si il y a 3 IP identiques à la suite, on sanctionne # si il y a 3 IP identiques à la suite, on sanctionne
if sanctions[i][0]==sanctions[i+1][1]==sanctions[i+2][0]: # if sanctions[i][0]==sanctions[i+1][1]==sanctions[i+2][0]:
# Récupération de l'aid # Récupération de l'aid
IP=sanction[i][0] # IP=sanction[i][0]
machine = ldap.search('ipHostNumber=%s' % IP,'w')['machine'][0] # machine = ldap.search('ipHostNumber=%s' % IP,'w')['machine'][0]
proprio=machine.proprietaire() # proprio=machine.proprietaire()
aid=machine.id() # aid=machine.id()
# On cherche des occurences dans la base des sanctions : # On cherche des occurences dans la base des sanctions :
requete="SELECT penalite FROM sanctions WHERE aid='%s'" % aid # requete="SELECT penalite FROM sanctions WHERE aid='%s'" % aid
curseur.execute(requete) # curseur.execute(requete)
resultat=curseur.fetchall() # resultat=curseur.fetchall()
# Les uploaders sont rangés dans la colonne sanction et sont sortis de la colonne hard # Les uploaders sont rangés dans la colonne sanction et sont sortis de la colonne hard
requete = "UPDATE avertis_upload SET hard='0' and sanctions='1' WHERE ip_crans='%s'"%IP # requete = "UPDATE avertis_upload SET hard='0' and sanctions='1' WHERE ip_crans='%s'"%IP
# C'est la premiere fois qu'il uploade 3 fois dans le mois : # C'est la premiere fois qu'il uploade 3 fois dans le mois :
############################################################ ############################################################
if resultat[0][0]==[]: # if resultat[0][0]==[]:
# Inscription dans la base psql # # Inscription dans la base psql
requete="INSER INTO sanctions (date,aid,penalite) VALUES ('now','%s',1)" # requete="INSER INTO sanctions (date,aid,penalite) VALUES ('now','%s',1)"
curseur.execute(requete) # curseur.execute(requete)
# Sanction sur la base ldap # Sanction sur la base ldap
date = time() # date = time()
debut = localtime(date) # debut = localtime(date)
fin = localtime(date+60*60*24*15) # fin = localtime(date+60*60*24*15)
# proprio.blacklist(["%d/%d/%d %d:%d" % (debut[2],debut[1],debut[0],debut[3],debut[4]),"%d/%d/%d %d:%d" % (fin[2],fin[1],fin[0],fin[3],fin[4]),'upload',"TESTS : upload de %s Mo" % elupload]) # proprio.blacklist(["%d/%d/%d %d:%d" % (debut[2],debut[1],debut[0],debut[3],debut[4]),"%d/%d/%d %d:%d" % (fin[2],fin[1],fin[0],fin[3],fin[4]),'upload',"TESTS : upload de %s Mo" % elupload])
# proprio.save() # proprio.save()
#MAILS #MAILS
###### ######
else : # else :
penalite=int(resultat[0][0]) # penalite=int(resultat[0][0])
if penalite == 1: # if penalite == 1:
# Inscription dans la base psql # Inscription dans la base psql
requete="UPDATE sanctions set penalite=2 WHERE aid='%s'" %aid # requete="UPDATE sanctions set penalite=2 WHERE aid='%s'" %aid
curseur.execute(requete) # curseur.execute(requete)
# Sanction sur la base ldap # Sanction sur la base ldap
date = time() # date = time()
debut = localtime(date) # debut = localtime(date)
fin = localtime(date+60*60*24*15) # fin = localtime(date+60*60*24*15)
# proprio.blacklist(["%d/%d/%d %d:%d" % (debut[2],debut[1],debut[0],debut[3],debut[4]),"%d/%d/%d %d:%d" % (fin[2],fin[1],fin[0],fin[3],fin[4]),'upload',"TESTS : upload de %s Mo" % elupload]) # proprio.blacklist(["%d/%d/%d %d:%d" % (debut[2],debut[1],debut[0],debut[3],debut[4]),"%d/%d/%d %d:%d" % (fin[2],fin[1],fin[0],fin[3],fin[4]),'upload',"TESTS : upload de %s Mo" % elupload])
# proprio.save() # proprio.save()
# MAILS # MAILS
######## ########
elif penalite == 2: # elif penalite == 2:
# Inscription dans la base psql # # Inscription dans la base psql
requete="UPDATE sanctions set penalite=3 WHERE aid='%s'" %aid # requete="UPDATE sanctions set penalite=3 WHERE aid='%s'" %aid
curseur.execute(requete) # curseur.execute(requete)
# Sanction sur la base ldap # # Sanction sur la base ldap
date = time() # date = time()
debut = localtime(date) # debut = localtime(date)
fin = localtime(date+60*60*24*30) # fin = localtime(date+60*60*24*30)
# proprio.blacklist(["%d/%d/%d %d:%d" % (debut[2],debut[1],debut[0],dabut[3],debut[4]),"%d/%d/%d %d:%d" % (fin[2],fin[1],fin[0],fin[3],fin[4]),'upload'," TESTS upload de %s Mo" % elupload]) # # proprio.blacklist(["%d/%d/%d %d:%d" % (debut[2],debut[1],debut[0],dabut[3],debut[4]),"%d/%d/%d %d:%d" % (fin[2],fin[1],fin[0],fin[3],fin[4]),'upload'," TESTS upload de %s Mo" % elupload])
# proprio.save() # # proprio.save()
# MAILS # # MAILS
####### # ########