[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,16 +96,11 @@ 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
(
( -- upload terminé par ip
SELECT
'upload',round(sum(upload)/1024/1024) AS total, ip_crans
FROM FROM
upload upload
WHERE WHERE
@ -114,50 +109,24 @@ FROM
AND date < 'now' AND date < 'now'
AND NOT EXISTS AND NOT EXISTS
( (
SELECT SELECT 1
1 FROM exemptes FROM exemptes
WHERE upload.ip_crans <<= exemptes.ip_crans WHERE upload.ip_crans <<= exemptes.ip_crans
AND upload.ip_ext <<= exemptes.ip_dest AND upload.ip_ext <<= exemptes.ip_dest
) )
GROUP BY GROUP BY
ip_crans 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 AS
total upload
GROUP BY
ip_crans
)
AS
total
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()