[mac_prises] Améliorations de performances.
This commit is contained in:
parent
c7f4fd6cc8
commit
594c6aeb69
2 changed files with 7 additions and 12 deletions
|
@ -32,6 +32,7 @@ for club in clubs:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
conn = psycopg2.connect(user='crans', database='mac_prises')
|
conn = psycopg2.connect(user='crans', database='mac_prises')
|
||||||
|
conn.set_session(autocommit = True)
|
||||||
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';"
|
requete = "SELECT * FROM signales WHERE date >= timestamp 'now' - interval '1 day';"
|
||||||
|
@ -79,7 +80,7 @@ def genere_comptage(duree, groupe, associes):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if entry['nb_'+associes+'s_distinctes'] >= mac_prise.suspect[duree][groupe]:
|
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(', ')
|
liste_associes = entry[associes+'s'].split(', ')
|
||||||
|
|
||||||
# On calcule 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
|
||||||
|
@ -93,7 +94,7 @@ def genere_comptage(duree, groupe, associes):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if len(pb_comptage_suspect) > 0:
|
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
|
# 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
|
longueur_max = max([len(", ".join(a[0])) for a in pb_comptage_suspect.values()] + [longueur[associes][1]]) + 4
|
||||||
|
|
|
@ -11,6 +11,7 @@ from config import mac_prise
|
||||||
from affich_tools import tableau
|
from affich_tools import tableau
|
||||||
sys.path.append('/usr/scripts/lc_ldap')
|
sys.path.append('/usr/scripts/lc_ldap')
|
||||||
import lc_ldap
|
import lc_ldap
|
||||||
|
import collections
|
||||||
|
|
||||||
ldap = lc_ldap.lc_ldap_local()
|
ldap = lc_ldap.lc_ldap_local()
|
||||||
|
|
||||||
|
@ -44,20 +45,13 @@ def reperage_mac_inconnue():
|
||||||
|
|
||||||
output = u""
|
output = u""
|
||||||
probleme = {}
|
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)
|
cur.execute(requete)
|
||||||
fetched = cur.fetchall()
|
fetched = cur.fetchall()
|
||||||
liste_parsee = {}
|
liste_parsee = collections.defaultdict(dict)
|
||||||
|
|
||||||
for entry in fetched:
|
for entry in fetched:
|
||||||
if liste_parsee.has_key(entry['chambre']):
|
liste_parsee[entry['chambre']][entry['mac']] = int(entry['nb_min'])
|
||||||
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
|
|
||||||
|
|
||||||
for chambre in liste_parsee.keys():
|
for chambre in liste_parsee.keys():
|
||||||
if chambre in chambres_ma + chambres_clubs:
|
if chambre in chambres_ma + chambres_clubs:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue