[utils/old_ml.py] Script de listing de vieilles MLs
This commit is contained in:
parent
6bace1cfbb
commit
c49498646c
1 changed files with 66 additions and 0 deletions
66
utils/old_ml.py
Executable file
66
utils/old_ml.py
Executable file
|
@ -0,0 +1,66 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
'''Script de retrait des vielles Mailing-List
|
||||||
|
v0.2b (02/2012) par Lucas Serrano
|
||||||
|
Merci à Vincent Le Gallic pour son aide.
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
import time
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
#import argparse
|
||||||
|
|
||||||
|
sys.path.insert(0, '/var/lib/mailman')
|
||||||
|
from Mailman import MailList
|
||||||
|
from Mailman import Utils
|
||||||
|
|
||||||
|
|
||||||
|
#Parsing des arguments
|
||||||
|
DISK_USAGE = True
|
||||||
|
if "--no-du" in sys.argv:
|
||||||
|
DISK_USAGE = False
|
||||||
|
|
||||||
|
try:
|
||||||
|
date=sys.argv[1]
|
||||||
|
date=time.mktime(time.strptime(date, "%d/%m/%Y"))
|
||||||
|
except:
|
||||||
|
sys.exit("\nErreur: Veuillez poster une date de peremption sous le format JJ/MM/AAAA\n")
|
||||||
|
|
||||||
|
|
||||||
|
listeDeListes = Utils.list_names() #Recupère les noms des listes sous forme de string
|
||||||
|
listes = list()
|
||||||
|
for n in listeDeListes:
|
||||||
|
temp = MailList.MailList(n, lock=False) #Créer les objets liste à l'aide de leurs noms
|
||||||
|
listes.append([n, temp.last_post_time, temp.archive_dir(), temp.members.keys()])
|
||||||
|
listes.sort(key=lambda list:list[1]) #Classement par date du dernier post
|
||||||
|
|
||||||
|
#Partie affichage
|
||||||
|
tailleTotale = 0
|
||||||
|
if DISK_USAGE:
|
||||||
|
print "\n \n%-40s | %-12s | %s | %s\n" %("Nom de la liste", "Dernier post", "Taille", "Membres")
|
||||||
|
else:
|
||||||
|
print "\n \n%-40s | %-12s | %s\n" %("Nom de la liste", "Dernier post", "Membres")
|
||||||
|
|
||||||
|
for l in listes:
|
||||||
|
if l[1] > date:
|
||||||
|
break
|
||||||
|
dateFormatee = time.strftime("%d/%m/%Y", time.gmtime(l[1]))
|
||||||
|
if DISK_USAGE:
|
||||||
|
taille = 0
|
||||||
|
chemin = l[2]
|
||||||
|
#Recherche de la taille du dossier d'archive
|
||||||
|
for (path, dirs, files) in os.walk(chemin):
|
||||||
|
for file in files:
|
||||||
|
filename = os.path.join(path, file)
|
||||||
|
taille += os.path.getsize(filename)
|
||||||
|
taille = taille / 1048576.0
|
||||||
|
tailleTotale += taille
|
||||||
|
print "%-40s | %-11s | %-6.1f MB | %s" %(l[0], dateFormatee, taille, len(l[3]))
|
||||||
|
else:
|
||||||
|
print "%-40s | %-11s | %s" %(l[0], dateFormatee, len(l[3]))
|
||||||
|
|
||||||
|
if DISK_USAGE:
|
||||||
|
print "Taille Totale: %0.1f MB" % (tailleTotale)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue