scripts/utils/quota2.py
2015-03-22 23:59:46 +01:00

52 lines
1.5 KiB
Python

# -*- coding: utf8 -*-
# Reloockage de quota.py, passage à l'intranet 2
# On retire le sudo par défaut, l'user execute lui meme quota
# Ecrit il y a longtemps, dépoussiéré et enrichi par
# Gabriel Détraz detraz@crans.org
import subprocess
def getFloat( chose ):
chose = chose.replace(',', '.')
return float(chose)
def getUserQuota(user):
proc = subprocess.Popen(['sudo','quota',user],stdout=subprocess.PIPE)
stdoutdata = proc.communicate()[0]
string_result = stdoutdata.split("\n")
quotas = []
for a_line in string_result[2:-1]:
usage, quota, limite, percentage, fs = a_line.split("\t")
if "mail" in fs:
label= u"Quota dans votre boite de réception"
elif fs=="/home-adh/"+user[0]:
label= u"Quota dans votre home personnel"
else:
label=u"Quota dans " + fs
line_dict = {
"label":label,
"usage":getFloat(usage),
"quota":getFloat(quota),
"limite":getFloat(limite),
"%":getFloat(percentage),
"filesystem":fs, # pourquoi pas ?
}
quotas.append(line_dict)
return quotas
def fake_getUserQuota( userLogin ):
return [
{'%': 33.9,
'quota': 390.62,
'label': u'Dossier personnel (fake)',
'limite': 585.94,
'filesystem': '/home',
'usage': 420.32},
{'%': 0.1,
'quota': 100.00,
'label': u'Boite de r\xe9ception (fake)',
'limite': 150.00,
'filesystem': '/var/mail',
'usage': 0.06}
]