diff --git a/surveillance/mac_prises/mac_prise_analyzer.py b/surveillance/mac_prises/mac_prise_analyzer.py index c70b7329..cd3a10ae 100755 --- a/surveillance/mac_prises/mac_prise_analyzer.py +++ b/surveillance/mac_prises/mac_prise_analyzer.py @@ -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))