diff --git a/surveillance/mac_prises/mac_prise_analyzer.py b/surveillance/mac_prises/mac_prise_analyzer.py index 6e20c9d0..e6907e2f 100755 --- a/surveillance/mac_prises/mac_prise_analyzer.py +++ b/surveillance/mac_prises/mac_prise_analyzer.py @@ -32,6 +32,7 @@ for club in clubs: pass conn = psycopg2.connect(user='crans', database='mac_prises') +conn.set_session(autocommit = True) cur = conn.cursor(cursor_factory = psycopg2.extras.DictCursor) requete = "SELECT * FROM signales WHERE date >= timestamp 'now' - interval '1 day';" @@ -79,7 +80,7 @@ def genere_comptage(duree, groupe, associes): continue if entry['nb_'+associes+'s_distinctes'] >= mac_prise.suspect[duree][groupe]: - Logs.append(u"Recherche par %s, entrée suspecte : %s -> %s \n" % (groupe, entry[groupe], entry[associes+'s'])) + Logs.append(u"Recherche par %s, entrée suspecte : %s -> %s : %s distinctes sur %s dates distinctes\n" % (groupe, entry[groupe], entry[associes+'s'], entry['nb_'+associes+'s'], entry['nb_dates_distinctes'])) liste_associes = entry[associes+'s'].split(', ') # On calcule la "probabilité" qu'un truc ne soit pas clair concernant la chambre/mac @@ -93,7 +94,7 @@ def genere_comptage(duree, groupe, associes): pass if len(pb_comptage_suspect) > 0: - output += mac_prise.titre_suspect[duree][groupe]+"\n" + output += mac_prise.titre_suspect[duree][groupe] + "\n" # On prend la longueur de la plus longue valeur, on s'assure que cette longueur fait celle de la légende, plus un entier de marge longueur_max = max([len(", ".join(a[0])) for a in pb_comptage_suspect.values()] + [longueur[associes][1]]) + 4 diff --git a/surveillance/mac_prises/mac_prise_reperage.py b/surveillance/mac_prises/mac_prise_reperage.py index 5cb62a63..672a82ba 100755 --- a/surveillance/mac_prises/mac_prise_reperage.py +++ b/surveillance/mac_prises/mac_prise_reperage.py @@ -11,6 +11,7 @@ from config import mac_prise from affich_tools import tableau sys.path.append('/usr/scripts/lc_ldap') import lc_ldap +import collections ldap = lc_ldap.lc_ldap_local() @@ -44,20 +45,13 @@ def reperage_mac_inconnue(): output = u"" probleme = {} - requete = "SELECT date, chambre, mac FROM correspondance WHERE date >= timestamp 'now' - interval '24 hours' ORDER BY chambre ASC;" + requete = "SELECT chambre, mac, COUNT(mac) as nb_min FROM correspondance WHERE date >= timestamp 'now' - interval '24 hours' GROUP BY chambre, mac ORDER BY chambre ASC;" cur.execute(requete) fetched = cur.fetchall() - liste_parsee = {} + liste_parsee = collections.defaultdict(dict) for entry in fetched: - if liste_parsee.has_key(entry['chambre']): - if liste_parsee[entry['chambre']].has_key(entry['mac']): - liste_parsee[entry['chambre']][entry['mac']] += 1 - else: - liste_parsee[entry['chambre']][entry['mac']] = 1 - else: - liste_parsee[entry['chambre']] = {} - liste_parsee[entry['chambre']][entry['mac']] = 1 + liste_parsee[entry['chambre']][entry['mac']] = int(entry['nb_min']) for chambre in liste_parsee.keys(): if chambre in chambres_ma + chambres_clubs: