[Mac_prises] boucler sur un tableau qu'on altère est une mauvaise idée.

This commit is contained in:
Pierre-Elliott Bécue 2013-02-17 13:55:32 +01:00
parent e1b9ad04ad
commit 75f72ac6c1

View file

@ -34,6 +34,10 @@ for club in clubs:
conn = psycopg2.connect(user='crans', database='mac_prises')
cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor)
requete = "SELECT * FROM signales WHERE date >= timestamp 'now' - interval '1 day';"
cur.execute(requete)
signales = cur.fetchall()
longueur = { 'mac': (24, 3),
'chambre': (10, 7),
}
@ -82,14 +86,16 @@ def genere_comptage(duree, groupe, associes):
# On retire les machines associées à l'adhérent possédant la chambre
if groupe == 'chambre':
for i in liste_associes:
liste_temp = [] + liste_associes
for i in liste_temp:
try:
proprio_associe = ldap.search('macAddress=%s' % i)[0].proprio()
if str(proprio_associe['chbre'][0]).lower() == entry[groupe]:
liste_associes.remove(i)
Logs.append(u"La mac %s est associée à la chambre %s, la chambre consultée est %s." % (i, proprio_associe['chbre'][0], entry[groupe]))
except:
pass
if len(liste_associes) < mac_prise.tres_suspect[duree][groupe]:
Logs.append(u"Exception pour %s, et %s" % (i, entry[groupe]))
if len(liste_associes) < mac_prise.tres_suspect[duree][groupe]-1:
Logs.append(u"Entrée rejetée : la plupart des %s appartiennent au propriétaire de la %s\n\n" % (associes, groupe))
continue
@ -103,18 +109,21 @@ def genere_comptage(duree, groupe, associes):
liste_associes = entry[associes+'s'].split(', ')
if groupe == 'chambre':
for i in liste_associes:
liste_temp = [] + liste_associes
for i in liste_temp:
Logs.append(u'%s'%(i))
try:
proprio_associe = ldap.search('macAddress=%s' % i)[0].proprio()
if str(proprio_associe['chbre'][0]).lower() == entry[groupe]:
liste_associes.remove(i)
Logs.append(u"La mac %s est associée à la chambre %s, la chambre consultée est %s." % (i, proprio_associe['chbre'][0], entry[groupe]))
except:
pass
if len(liste_associes) < mac_prise.suspect[duree][groupe]:
Logs.append(u"Exception pour %s, et %s" % (i, entry[groupe]))
if len(liste_associes) < mac_prise.suspect[duree][groupe]-1:
Logs.append(u"Entrée rejetée : la plupart des %s appartiennent au propriétaire de la %s\n\n" % (associes, groupe))
continue
# On calcul la "probabilité" qu'un truc ne soit pas clair concernant la chambre/mac
# On calcule la "probabilité" qu'un truc ne soit pas clair concernant la chambre/mac
rapport = lin(entry['nb_'+associes+'s'], entry['nb_dates_distinctes'], float(entry['nb_'+associes+'s_distinctes']))
if rapport >= mac_prise.rapport_suspect[duree][groupe]:
Logs.append(u"Entrée ajoutée au tableau %s pour la recherche par %s, car rapport supérieur au seuil.\n\n" % (duree, groupe))