[Mac_prises] boucler sur un tableau qu'on altère est une mauvaise idée.
This commit is contained in:
parent
e1b9ad04ad
commit
75f72ac6c1
1 changed files with 16 additions and 7 deletions
|
@ -34,6 +34,10 @@ for club in clubs:
|
||||||
conn = psycopg2.connect(user='crans', database='mac_prises')
|
conn = psycopg2.connect(user='crans', database='mac_prises')
|
||||||
cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor)
|
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),
|
longueur = { 'mac': (24, 3),
|
||||||
'chambre': (10, 7),
|
'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
|
# On retire les machines associées à l'adhérent possédant la chambre
|
||||||
if groupe == 'chambre':
|
if groupe == 'chambre':
|
||||||
for i in liste_associes:
|
liste_temp = [] + liste_associes
|
||||||
|
for i in liste_temp:
|
||||||
try:
|
try:
|
||||||
proprio_associe = ldap.search('macAddress=%s' % i)[0].proprio()
|
proprio_associe = ldap.search('macAddress=%s' % i)[0].proprio()
|
||||||
if str(proprio_associe['chbre'][0]).lower() == entry[groupe]:
|
if str(proprio_associe['chbre'][0]).lower() == entry[groupe]:
|
||||||
liste_associes.remove(i)
|
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:
|
except:
|
||||||
pass
|
Logs.append(u"Exception pour %s, et %s" % (i, entry[groupe]))
|
||||||
if len(liste_associes) < mac_prise.tres_suspect[duree][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))
|
Logs.append(u"Entrée rejetée : la plupart des %s appartiennent au propriétaire de la %s\n\n" % (associes, groupe))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -103,18 +109,21 @@ def genere_comptage(duree, groupe, associes):
|
||||||
liste_associes = entry[associes+'s'].split(', ')
|
liste_associes = entry[associes+'s'].split(', ')
|
||||||
|
|
||||||
if groupe == 'chambre':
|
if groupe == 'chambre':
|
||||||
for i in liste_associes:
|
liste_temp = [] + liste_associes
|
||||||
|
for i in liste_temp:
|
||||||
|
Logs.append(u'%s'%(i))
|
||||||
try:
|
try:
|
||||||
proprio_associe = ldap.search('macAddress=%s' % i)[0].proprio()
|
proprio_associe = ldap.search('macAddress=%s' % i)[0].proprio()
|
||||||
if str(proprio_associe['chbre'][0]).lower() == entry[groupe]:
|
if str(proprio_associe['chbre'][0]).lower() == entry[groupe]:
|
||||||
liste_associes.remove(i)
|
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:
|
except:
|
||||||
pass
|
Logs.append(u"Exception pour %s, et %s" % (i, entry[groupe]))
|
||||||
if len(liste_associes) < mac_prise.suspect[duree][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))
|
Logs.append(u"Entrée rejetée : la plupart des %s appartiennent au propriétaire de la %s\n\n" % (associes, groupe))
|
||||||
continue
|
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']))
|
rapport = lin(entry['nb_'+associes+'s'], entry['nb_dates_distinctes'], float(entry['nb_'+associes+'s_distinctes']))
|
||||||
if rapport >= mac_prise.rapport_suspect[duree][groupe]:
|
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))
|
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))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue