[gestion/whos.py] Ajout d'une limite d'affichage sur les blacklistes
Parce que bon, avec les deconnexions pour bittorrent toutes les n heures ... darcs-hash:20100219133916-ddb99-d306b562bfb0aa0b8febb6eb63a5c67951b47f51.gz
This commit is contained in:
parent
5329f5a1e7
commit
ab4630dd33
1 changed files with 25 additions and 7 deletions
|
@ -35,6 +35,8 @@ Les options de recherches sont :
|
|||
le mode d'affichage condensé au lieu du mode détaillé (défaut %(limit_aff_details)i)
|
||||
-L <num> ou --limit-historique=<num> : limitation du nombre de lignes
|
||||
d'historique affichées (défaut %(limit_aff_historique)i)
|
||||
-d <num> ou --limit-blacklist=<num> : limitation du nombre de lignes
|
||||
d'historique des déconnexions affichées (défaut %(limit_aff_blacklist)i)
|
||||
"""
|
||||
|
||||
try:
|
||||
|
@ -59,6 +61,7 @@ import popen2, commands
|
|||
limit_aff_details = 1
|
||||
limit_aff_machines = 15
|
||||
limit_aff_historique = 4
|
||||
limit_aff_blacklist = 4
|
||||
aff_ipsec = 0
|
||||
|
||||
################################################################################
|
||||
|
@ -807,8 +810,14 @@ def club_details(club) :
|
|||
|
||||
def _blacklist(clas):
|
||||
""" Formatage blackliste de la classe fournie """
|
||||
if limit_aff_blacklist == 0: return ''
|
||||
f = u''
|
||||
for event in clas.blacklist():
|
||||
bl = clas.blacklist()
|
||||
bl.reverse()
|
||||
nb = 0
|
||||
for event in bl:
|
||||
nb += 1
|
||||
if nb > limit_aff_blacklist: break
|
||||
if is_actif(event):
|
||||
# Colorisation si sanction en cours
|
||||
c = 'rouge'
|
||||
|
@ -823,7 +832,10 @@ def _blacklist(clas):
|
|||
dates += strftime('%d/%m/%Y %H:%M', localtime(int(event[1])))
|
||||
f += u"%s\n\t " % coul(u'%s : %s [%s]' % (dates, event[2], event[3]), c)
|
||||
|
||||
f = f[:-6] # supression des espaces superflus
|
||||
f = f[:-6] # suppression des espaces superflus
|
||||
|
||||
if len(bl) > limit_aff_blacklist:
|
||||
f += ' [...]\n'
|
||||
|
||||
if f:
|
||||
return coul(u'Blackliste : ', 'gras') + f
|
||||
|
@ -1051,14 +1063,15 @@ def __usage() :
|
|||
cprint(__doc__ % { 'prog': sys.argv[0].split('/')[-1].split('.')[0],
|
||||
'champs_rech': '\n'.join(liste),
|
||||
'limit_aff_details': limit_aff_details,
|
||||
'limit_aff_historique': limit_aff_historique })
|
||||
'limit_aff_historique': limit_aff_historique,
|
||||
'limit_aff_blacklist': limit_aff_blacklist })
|
||||
sys.exit(0)
|
||||
|
||||
def __recherche() :
|
||||
"""
|
||||
Recherche et affichage des résultats à partir des options founies (sys.argv)
|
||||
"""
|
||||
global aff_ipsec, limit_aff_details, limit_aff_historique, debug
|
||||
global aff_ipsec, limit_aff_details, limit_aff_historique, limit_aff_blacklist, debug
|
||||
|
||||
# Récupération des options
|
||||
if len(sys.argv) == 1 :
|
||||
|
@ -1066,7 +1079,7 @@ def __recherche() :
|
|||
__usage_brief()
|
||||
|
||||
try :
|
||||
options, arg = getopt.getopt(sys.argv[1:], 'hamctbil:L:', [ 'debug', 'help', 'adherent', 'machine', 'club' , 'tech', 'bornes', 'limit=', 'limit-historique=', 'ipsec', 'crans' ])
|
||||
options, arg = getopt.getopt(sys.argv[1:], 'hamctbil:L:d:', [ 'debug', 'help', 'adherent', 'machine', 'club' , 'tech', 'bornes', 'limit=', 'limit-historique=', 'limit-blacklist=', 'ipsec', 'crans' ])
|
||||
except getopt.error, msg :
|
||||
__usage_brief(unicode(msg))
|
||||
|
||||
|
@ -1089,12 +1102,17 @@ def __recherche() :
|
|||
# Passage mode condensé, mode détaillé
|
||||
try : limit_aff_details = int(val)
|
||||
except :
|
||||
__usage_brief(u'Valeur du paramètre %s incorecte (doit être un entier positif)' % opt)
|
||||
__usage_brief(u'Valeur du paramètre %s incorrect (doit être un entier positif)' % opt)
|
||||
elif opt == '-L' or opt =='--limit-historique':
|
||||
# Limitation du nombre de lignes d'historique
|
||||
try : limit_aff_historique = int(val)
|
||||
except :
|
||||
__usage_brief(u'Valeur du paramètre %s incorecte (doit être un entier positif)' % opt)
|
||||
__usage_brief(u'Valeur du paramètre %s incorrect (doit être un entier positif)' % opt)
|
||||
elif opt == '-d' or opt =='--limit-blacklist':
|
||||
# Limitation du nombre de lignes d'historique
|
||||
try : limit_aff_blacklist = int(val)
|
||||
except :
|
||||
__usage_brief(u'Valeur du paramètre %s incorrect (doit être un entier positif)' % opt)
|
||||
elif opt in [ '-a', '--adherent' ] :
|
||||
only_adh = 1
|
||||
cprint(u"Affichage limité aux adhérents.")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue