diff --git a/surveillance/deconnexion.py b/surveillance/deconnexion.py index 54a5d291..81b95f1d 100755 --- a/surveillance/deconnexion.py +++ b/surveillance/deconnexion.py @@ -96,68 +96,37 @@ def reperage_chambre(mac): # upload par entité (adhérent/club/machine crans) requete = """SELECT - sum(total), type, id + round(total) AS total, machines.type AS type, machines.id AS id FROM ( - SELECT - sum(total) AS total, ip_crans - FROM - ( - ( -- upload terminé par ip - SELECT - 'upload',round(sum(upload)/1024/1024) AS total, ip_crans - FROM - upload - WHERE - upload>download - AND date>timestamp 'now' - interval '1 day' - AND date<'now' - AND NOT EXISTS - ( - SELECT - 1 FROM exemptes - WHERE upload.ip_crans<<=exemptes.ip_crans - AND upload.ip_ext<<=exemptes.ip_dest - ) - GROUP BY - ip_crans - ) - UNION - ( -- upload en cours par ip - SELECT - 'dump', round(sum(upload)/1024/1024) AS total, ip_crans - FROM - dump AS upload - WHERE - upload>download - AND date>timestamp 'now' - interval '1 day' - AND date<'now' - AND NOT EXISTS - ( - SELECT - 1 FROM exemptes - WHERE upload.ip_crans<<=exemptes.ip_crans - AND upload.ip_ext<<=exemptes.ip_dest - ) - GROUP BY - ip_crans - ORDER BY - total desc - ) - ) - AS - total - GROUP BY - ip_crans + SELECT + 'upload', sum(upload)/1024/1024 AS total, ip_crans + FROM + upload + WHERE + upload > download + AND date > timestamp 'now' - interval '1 day' + AND date < 'now' + AND NOT EXISTS + ( + SELECT 1 + FROM exemptes + WHERE upload.ip_crans <<= exemptes.ip_crans + AND upload.ip_ext <<= exemptes.ip_dest + ) + GROUP BY + ip_crans ) AS - total + upload INNER JOIN machines ON - total.ip_crans = machines.ip + machines.ip = upload.ip_crans +WHERE + total >= 250 GROUP BY - type, id + total, type, id ;""" curseur.execute(requete) uploadeurs = curseur.fetchall()