[deconnexion.py] On ne retourne que les gens dont l'upload est >= 250 Mo, et on vire l'union avec dump

This commit is contained in:
Pierre-Elliott Bécue 2013-02-05 16:21:18 +01:00
parent a09df00f6e
commit 5af39592a6

View file

@ -96,68 +96,37 @@ def reperage_chambre(mac):
# upload par entité (adhérent/club/machine crans) # upload par entité (adhérent/club/machine crans)
requete = """SELECT requete = """SELECT
sum(total), type, id round(total) AS total, machines.type AS type, machines.id AS id
FROM FROM
( (
SELECT SELECT
sum(total) AS total, ip_crans 'upload', sum(upload)/1024/1024 AS total, ip_crans
FROM FROM
( upload
( -- upload terminé par ip WHERE
SELECT upload > download
'upload',round(sum(upload)/1024/1024) AS total, ip_crans AND date > timestamp 'now' - interval '1 day'
FROM AND date < 'now'
upload AND NOT EXISTS
WHERE (
upload>download SELECT 1
AND date>timestamp 'now' - interval '1 day' FROM exemptes
AND date<'now' WHERE upload.ip_crans <<= exemptes.ip_crans
AND NOT EXISTS AND upload.ip_ext <<= exemptes.ip_dest
( )
SELECT GROUP BY
1 FROM exemptes ip_crans
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
) )
AS AS
total upload
INNER JOIN INNER JOIN
machines machines
ON ON
total.ip_crans = machines.ip machines.ip = upload.ip_crans
WHERE
total >= 250
GROUP BY GROUP BY
type, id total, type, id
;""" ;"""
curseur.execute(requete) curseur.execute(requete)
uploadeurs = curseur.fetchall() uploadeurs = curseur.fetchall()