[debian/*.py] remove trailing whitespaces

Ignore-this: f62e84c258c847013d307d12acdf489e

darcs-hash:20090309212356-0445d-d8338d06f968f316fcd085446023123be87040f7.gz
This commit is contained in:
Stephane Glondu 2009-03-09 22:23:56 +01:00
parent cc31727b60
commit eae0d21f83
18 changed files with 352 additions and 352 deletions

View file

@ -9,29 +9,29 @@ d'un adhérent.
Usage: %(prog)s [options] <chaine de recherche>
La chaine de recherche peut être :
* soit un terme unique, dans ce cas la recherche sera effectuée sur les
La chaine de recherche peut être :
* soit un terme unique, dans ce cas la recherche sera effectuée sur les
champs en bleu ci-dessous.
* soit du type "champ1=valeur1&champ2!=valeur2 ...", les résultats seront
alors limités aux entrées correspondantes à tous les critères.
Les champs de recherche possibles sont :
Les champs de recherche possibles sont :
%(champs_rech)s
Recherche sur prise possible (utiliser uniquement ce champ dans ce cas).
Les options de recherches sont :
* limitations sur l'affichage :
Les options de recherches sont :
* limitations sur l'affichage :
-a ou --adherent : limitation de l'affichage aux adhérents
-m ou --machine : limitation de l'affichage aux machines
-c ou --club : limitation de l'affichage aux clubs
-b ou --bornes : limitation de l'affichage aux bornes wifi
--crans : recherche uniquement les machines du crans
* options d'affichage :
-t ou --tech : affichages des infos techniques des machines
-t ou --tech : affichages des infos techniques des machines
à la place des infos administratives dans les résumés.
-i ou --ipsec : montre la clef ipsec des machines wifi
-l <num> ou --limit=<num> : limite du nombre de résultats pour utiliser
-l <num> ou --limit=<num> : limite du nombre de résultats pour utiliser
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)
@ -39,7 +39,7 @@ d'historique affichées (défaut %(limit_aff_historique)i)
try:
import sys,locale
loc = locale.getdefaultlocale()
if loc[1]:
sys.reallysetdefaultencoding(loc[1])
@ -64,22 +64,22 @@ aff_ipsec = 0
def aff(qqch,mtech=0) :
""" Affichage de qqch.
qqch peut être une liste d'instances des classes adhérent ou machine
(un seul type dans la liste) dans ce cas :
(un seul type dans la liste) dans ce cas :
* si la longueur de la liste est inférieure à limit_aff_details
affiche les propriétés détaillées de chaque élément.
* sinon résume dans un tabeau des principales propriétés
si qqch est une instance seul la traité comme une liste à une élément
Si mtech = 1 affiches les infomations techniques des machines plutot
Si mtech = 1 affiches les infomations techniques des machines plutot
qu'administratives dans le tableau des propriétés
"""
"""
if type(qqch) != list :
qqch = [ qqch ]
if len(qqch) > limit_aff_details :
t = qqch[0].idn
if t == 'aid':
cprint(adhers_brief(qqch))
elif t == 'mid':
elif t == 'mid':
if mtech:
cprint(list_machines(qqch))
else:
@ -98,11 +98,11 @@ def aff(qqch,mtech=0) :
cprint(machine_details(c).strip())
elif t == 'cid':
cprint(club_details(c).strip())
# affiche le nombre de résultats
if len(qqch) > 1:
cprint(u"Total: %d" % len(qqch))
def adhers_brief(adhers) :
"""
Formatage sous forme de tableau des infos sur la liste d'adhérent fournie :
@ -116,7 +116,7 @@ def adhers_brief(adhers) :
# Copie locale triée par (nom, prenom)
adhers = adhers[:]
adhers.sort(lambda x, y: cmp((x.nom(), x.prenom()), (y.nom(), y.prenom())))
for a in adhers:
## État administratif
ok = u'\x1b[1;32mo\x1b[1;0m'
@ -128,23 +128,23 @@ def adhers_brief(adhers) :
else: paid = ok
elif isinstance(a,Adherent) and not a.adherentPayant(): paid = coul('G', 'bleu')
else: paid = nok
# Précablage
if ann_scol+1 in a.paiement() : paid = coul(paid,'f_vert')
# Carte d'étudiant
if ann_scol in a.carteEtudiant():
if 'c' in a.controle(): carte = ook
else: carte = ok
else : carte = nok
machines = ''
# Récupération des machines
if len(adhers) <= limit_aff_machines:
for machine in a.machines() :
nom = machine.nom().split('.')[0]
if machine.blacklist_actif() : k = 'rouge'
elif isinstance(machine, MachineWifi): k = 'cyan'
elif isinstance(machine, MachineWifi): k = 'cyan'
else : k= ''
if machines : machines += ', ' + coul(nom,k)
else : machines = coul(nom,k)
@ -155,7 +155,7 @@ def adhers_brief(adhers) :
data.append([a.id(), a.Nom(), a.chbre(), paid, carte, machines])
else:
data.append([a.id(), a.Nom(), a.chbre(), paid, carte])
if len(adhers) <= limit_aff_machines:
return u"Machines en rouge = machines avec limitation de services\n" + \
u"P : paiement année en cours, le fond vert indique le précâblage (G bleu = inscription gratuite)\n" + \
@ -172,7 +172,7 @@ def adhers_brief(adhers) :
titre = [u'aid', u'Prénom Nom', u'Chbre', u'P', u'C'],
largeur = [5, '*', 5, 1, 1],
alignement = ['d', 'c', 'g', 'c', 'c'])
def machines_brief(machines) :
"""
Formatage sous forme d'un tableau des propriétés de la liste de machine :
@ -188,14 +188,14 @@ def machines_brief(machines) :
# Copie locale triée par nom
machines = machines[:]
machines.sort(lambda x, y: cmp(x.nom(), y.nom()))
for m in machines :
t, bl = __bases_machines(m)
# Propriétaire
a = m.proprietaire()
p = a.Nom()
# A jour administrativement
if ann_scol not in a.paiement() or ann_scol not in a.carteEtudiant():
if isinstance(a, Adherent) and not a.adherentPayant():
@ -205,7 +205,7 @@ def machines_brief(machines) :
# Données
data.append([m.id() , t, m.nom().split('.')[0], p, a.chbre(), bl])
return u"Le propriétaire en rouge signale un problème administratif, en bleu une inscription gratuite\n" + \
tableau(data,
titre = [u'mid', u'Type', u'Nom de machine', u'Propriétaire', u'Chbre', u'Limitation'],
@ -225,7 +225,7 @@ def clubs_brief(clubs) :
# Copie locale triée par Nom
clubs = clubs[:]
clubs.sort(lambda x, y: cmp(x.Nom(), y.Nom()))
for c in clubs :
## État administratif
ok = u'\x1b[1;32mo\x1b[1;0m'
@ -236,10 +236,10 @@ def clubs_brief(clubs) :
if 'p' in c.controle(): paid = ook
else: paid = ok
else : paid = nok
# Précablage
if ann_scol+1 in c.paiement() : paid = coul(paid,'f_vert')
machines = ''
# Récupération des machines
for machine in c.machines() :
@ -248,13 +248,13 @@ def clubs_brief(clubs) :
else : k= ''
if machines : machines += ', ' + coul(nom,k)
else : machines = coul(nom,k)
# Responsable
resp = c.responsable().Nom()
# Données
data.append([c.id() , c.Nom(), c.local(), paid, resp, machines])
return u"Machines en rouge = machines avec limitation de services\n" + \
u"P : signature charte année en cours, le fond vert indique le précâblage\n" + \
tableau(data,
@ -262,7 +262,7 @@ def clubs_brief(clubs) :
largeur = [5, '*', 6, 1, 21, 15],
alignement = ['d', 'c', 'g', 'c', 'c', 'c'])
def list_machines(machines) :
"""
Formatage sous forme d'un tableau des propriétés de la liste de machine :
@ -281,10 +281,10 @@ def list_machines(machines) :
for m in machines :
t, bl = __bases_machines(m)
# Données
data.append([m.id(), t, m.nom().split('.')[0], m.ip(), m.mac(), bl])
return tableau(data,
titre = [u'mid', u'Type', u'Nom de machine', u'Adresse IP', u'Adresse MAC', u'Limitation'],
largeur = [5, 4, '*', 17, 19, 10],
@ -313,7 +313,7 @@ def list_bornes(bornes) :
for b in bornes :
t, bl = __bases_machines(b)
if t != 'born' : continue
# Données
try :
l = [x for x in b.info() if not x[0]=='<'][0]
@ -321,19 +321,19 @@ def list_bornes(bornes) :
l = l[0:11]
except :
l = u'????'
if borne_etat(b.nom()):
etat = ok
else:
etat = nok
if '-' in b.puissance() :
puiss = coul(b.puissance(),'rouge')
else :
puiss = b.puissance()
data.append([b.id(), b.nom().split('.')[0], b.ip(), b.mac(), etat, b.canal(), puiss, b.prise(), l])
return u"Can=canaux, P=puissance, E=état\n" + \
tableau(data,
titre = [u'mid', u'Nom', u'Adresse IP', u'Adresse MAC', u'E', u'Can', u'P', u'Pris', u'Lieu'],
@ -349,10 +349,10 @@ def adher_details(adher) :
f+= coul(u'aid=%s ' % adher.id() ,'bleu')
# Nom, prenom
f += coul(u'Nom : ','gras') + "%s\n" % adher.Nom()
# Mail
GL = RMH = u''
if adher.mail().find(u'@')!=-1 :
if adher.mail().find(u'@')!=-1 :
f += coul(u'Adresse mail : ','gras')
if adher.mail_invalide():
f += coul(adher.mail(),'rouge')
@ -371,7 +371,7 @@ def adher_details(adher) :
GL = u' (%s)'%coul(u'GreyList','gris')
if adher.rewriteMailHeaders():
RMH = u' (%s)'%coul(u'réécriture en-têtes mail','gris')
alias = u', '.join([adher.canonical_alias()] + adher.alias())
if alias:
if alias[0] == u',':
@ -416,11 +416,11 @@ def adher_details(adher) :
else:
f += coul(u"cotisation %s/%d non réglée"% (ann_scol, ann_scol+1 ),'violet')
jour = 0
if jour :
if jour :
f += coul(u"à jour",'vert')
f += '\n'
# Telephone
tel = adher.tel()
if tel != 'inconnu' :
@ -429,13 +429,13 @@ def adher_details(adher) :
except :
pass
f += coul(u'Numéro de téléphone : ','gras') + "%s\n" % tel.ljust(12)
# Adresse
chbre = adher.chbre()
if chbre == 'EXT' :
# Adhérent extérieur
addr = adher.adresse()
if addr[0] :
if addr[0] :
f += coul(u'Adresse : ','gras')
f += addr[0] + u'\n'
if addr[1] != ' ' : f += u' ' + addr[1] + u'\n'
@ -446,13 +446,13 @@ def adher_details(adher) :
# Chambre + prise (d'après annuaire)
etat, vlans = prise_etat(adher.chbre())
f += coul(u'Chambre : ','gras') + u"%s " % chbre
f += u'(%s)' % etat
f += u'(%s)' % etat
f += u'\n'
# VLAN
if vlans :
f += coul(u'VLAN : ','gras') + u'%s' % vlans
f += u'\n'
# Études
if adher.etudes(1).isdigit() :
f += coul(u'Études : ','gras')+ "%s %s%s\n" % \
@ -460,7 +460,7 @@ def adher_details(adher) :
elif adher.etudes(0) :
f += coul(u'Études : ','gras')+ "%s %s %s\n" % \
( adher.etudes(0), adher.etudes(1), adher.etudes(2) )
# Solde
solde = adher.solde()
if solde :
@ -470,20 +470,20 @@ def adher_details(adher) :
else :
f += str(solde).replace('.',',')
f += u" Euros\n"
# Role dans l'assoce
d = adher.droits()
if d :
d = adher.droits()
if d :
f += coul(u"Droits sur les serveurs : ",'gras') + ', '.join(d)
if adher.droitsGeles():
f += coul(u" (droits gelés car pas cotisé cette année)",'bleu')
f += u'\n'
# Paiement
if adher.paiement() :
if len(adher.paiement()) == 1 :
f += coul(u'Cotisation payée pour l\'année scolaire :','gras')
else :
else :
f += coul(u'Cotisation payée pour les années scolaires :','gras')
g = u''
for an in adher.paiement() : g += u" %i-%i" % ( an, an+1 )
@ -508,7 +508,7 @@ def adher_details(adher) :
f += _blacklist(adher)
f += _info(adher)
f += _hist(adher)
# Formatage des machines aussi
f += coul(u'Machine(s) : ','gras')
m = adher.machines()
@ -532,34 +532,34 @@ def ipsec_ok(machine) :
clients = [x.split("/")[0] for x in commands.getoutput("%snetstat -r -f encap | awk '($2 == \"0\") {print $6}'" % prefix).split("\n")]
globals()['clients_ipsec'] = clients
return machine.nom() in clients
def machine_details(machine) :
"""
"""
Formatage du détail des propriétés d'une machine
"""
f = ''
f+= coul(u'mid=%s ' % machine.id(),'bleu')
# Type de machine
if isinstance(machine, MachineWifi): a = 'Machine wifi'
elif isinstance(machine, BorneWifi): a = 'Borne wifi'
else: a = 'Machine fixe'
f += coul(a + ' : ', 'gras')
f+= "%s\n" % machine.nom()
# Alias ?
alias = machine.alias()
if alias :
f += coul(u'Alias : ' ,'gras') + ', '.join(alias)
f+= '\n'
f+= coul(u'IP : ','gras') + "%s\t\t" %machine.ip()
f+= coul(u'MAC : ','gras') + "%s\n" %machine.mac()
# Propriétaire
f+= coul(u'Propriétaire : ','gras')
try :
try :
f += machine.proprio + coul(' (adhérent détruit)', 'jaune')
a = AssociationCrans()
except :
@ -567,12 +567,12 @@ def machine_details(machine) :
f += "%s" % a.Nom()
if a.chbre() in ['EXT', '????']:
f += ' (%s = %s)' % (a.idn, a.id())
elif a.chbre() != 'CRA':
elif a.chbre() != 'CRA':
f += " (%s)" % a.chbre()
else :
f += coul(u'\t\tPrise : ','gras') + machine.prise()
f+= '\n'
if isinstance(machine, MachineCrans):
n = machine.nombrePrises()
if n >= 0:
@ -580,12 +580,12 @@ def machine_details(machine) :
f += "%d\n" % n
# Adhérent blacklisté ?
bl = a.blacklist_actif()
bl = a.blacklist_actif()
if bl :
f += coul(u'Restrictions sur adhérent : ','gras')
f += coul(u', '.join(bl),'rouge')
f += '\n'
# Borne wifi
if isinstance(machine, BorneWifi):
f += coul(u'Hotspot : ', 'gras')
@ -602,10 +602,10 @@ def machine_details(machine) :
f += coul(u'VLANs : ', 'gras')
from hptools import sw_prise
f += ', '.join(sw_prise(machine.prise()).vlans())
f += '\n'
f += '\n'
except:
pass
f += coul(u'Puissance : ','gras') + u"%4.d" % int(machine.puissance())
f += coul(u'\tCanaux : ', 'gras') + machine.canal()
f += coul(u'\tÉtat : ', 'gras')
@ -654,11 +654,11 @@ def machine_details(machine) :
if machine.nvram():
f += coul(u'NVRAM : ', 'gras')
f += ', '.join(machine.nvram()) + '\n'
if aff_ipsec and isinstance(machine, MachineWifi):
f += coul(u'Clef IPsec : ','gras') + machine.ipsec()
f += '\n'
# Ports spéciaux
if machine.portTCPin():
f += coul(u'Ports TCP ouvert ext->machine : ','gras') + ' '.join(machine.portTCPin()) + '\n'
@ -676,7 +676,7 @@ def machine_details(machine) :
f += _blacklist(machine)
f += _info(machine)
f += _hist(machine)
return f
def club_details(club) :
@ -688,7 +688,7 @@ def club_details(club) :
f+= coul(u'cid=%s ' % club.id() ,'bleu')
# Nom
f += coul(u'Nom : ','gras') + "%s\n" % club.Nom()
# responsale
f += coul(u'Responsable : ','gras') + "%s\n" % club.responsable().Nom()
@ -704,11 +704,11 @@ def club_details(club) :
if not jour : f += ' et '
f += coul(u"charte %s/%d non signée"% (ann_scol, ann_scol+1 ),'violet')
jour = 0
if jour :
if jour :
f += coul(u"à jour",'vert')
f += '\n'
# Chambre + prise
etat, vlans = prise_etat(club.chbre())
f += coul(u'Local : ','gras') + "%s " % club.local()
@ -718,7 +718,7 @@ def club_details(club) :
if vlans :
f += coul(u'VLAN : ','gras') + u'%s' % vlans
f += u'\n'
# Paiement
if club.paiement() :
f += coul(u'Charte signée pour les années scolaires :','gras')
@ -733,7 +733,7 @@ def club_details(club) :
if login :
f += coul(u'Login : ','gras') + login
alias = club.alias()
if alias :
if alias :
f += coul(u'\tAlias : ','gras') + ', '.join(alias)
f+= u'\n'
@ -781,14 +781,14 @@ def _blacklist(clas):
dates = u'du %s au ' % dates
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
if f:
return coul(u'Blackliste : ', 'gras') + f
else:
return ''
def _info(clas) :
""" Formatage des remarques de la classe fournie """
f= u''
@ -812,7 +812,7 @@ def _hist(clas) :
a = h[i] # Produit une erreur si i trop grand
if i !=0 : f += ' '
try:
# on force l'encodage ici sinon il est fait au moment de l'impression a
# on force l'encodage ici sinon il est fait au moment de l'impression a
# l'ecran et il empeche l'affichage de toutes les infos
f += u'%s\n' % a.encode("iso-8859-15").decode("iso-8859-15")
except Exception, e:
@ -826,25 +826,25 @@ def _hist(clas) :
if h[i+1] : f += ' [...]\n'
except :
None
return f
def __bases_machines(m) :
""" Retourne [ type de la machines, blacklist ] """
#Type
#Type
if isinstance(m, MachineWifi): t = 'wifi'
elif isinstance(m, BorneWifi): t = 'born'
else : t='fixe'
# Déconnectée ?
b = m.blacklist_actif()
if not b :
if not b :
bl = '-'
elif len(b) == 1 :
bl = coul(b[0],'rouge')
else :
bl = coul(u'cf détails','rouge')
return t , bl
def borne_etat(borne) :
@ -937,7 +937,7 @@ def prise_etat(chbre) :
count += 1
elif not prise.is_enable() :
f+= u', ' + coul(u'prise désactivée','rouge')
else :
else :
f+= u', activée, lien non détecté'
except ConversationError, r:
# Switch non manageable ou down
@ -975,12 +975,12 @@ def __usage() :
for c in base.auto_search_champs.values():
for champ in c:
if champ not in champs:
champs.append(champ)
champs.append(champ)
for champ in champs:
coul_champ = coul(champ, "bleu")
if accu == "":
accu = coul_champ
longueur = len(champ)
longueur = len(champ)
elif longueur + 2 + len(champ) < 80:
longueur += 2 + len(champ)
accu += ", " + coul_champ
@ -994,7 +994,7 @@ def __usage() :
for c in base.non_auto_search_champs.values():
for champ in c:
if champ not in champs:
champs.append(champ)
champs.append(champ)
for champ in champs:
if longueur + 2 + len(champ) < 80:
longueur += 2 + len(champ)
@ -1006,7 +1006,7 @@ def __usage() :
# Dernière ligne
liste.append(accu)
cprint(__doc__ % { 'prog': sys.argv[0].split('/')[-1].split('.')[0],
'champs_rech': '\n'.join(liste),
'limit_aff_details': limit_aff_details,
@ -1018,7 +1018,7 @@ def __recherche() :
Recherche et affichage des résultats à partir des options founies (sys.argv)
"""
global aff_ipsec, limit_aff_details, limit_aff_historique, debug
# Récupération des options
if len(sys.argv) == 1 :
# Pas d'option fournie
@ -1028,8 +1028,8 @@ def __recherche() :
options, arg = getopt.getopt(sys.argv[1:], 'hamctbil:L:', [ 'debug', 'help', 'adherent', 'machine', 'club' , 'tech', 'bornes', 'limit=', 'limit-historique=', 'ipsec', 'crans' ])
except getopt.error, msg :
__usage_brief(unicode(msg))
# Traitement des options
only_adh=0
only_mac=0
@ -1037,7 +1037,7 @@ def __recherche() :
only_bornes=0
only_crans=0
mtech = 0
for opt, val in options :
if opt == '-h' or opt=='--help' :
__usage()
@ -1075,7 +1075,7 @@ def __recherche() :
# Recherche initiale sans critère
arg = [ 'canal=*&host=*.crans.org']
elif arg[0].find('=')!=-1 :
# Recherche avec critères
# Recherche avec critères
arg += [ '&canal=*' ]
elif opt in [ '-t', '--tech' ] :
# Format affichage des machines
@ -1083,7 +1083,7 @@ def __recherche() :
elif opt in [ '-i', '--ipsec' ] :
# Affichage des clefs ipsec
aff_ipsec = 1
if only_adh + only_mac + only_club + only_bornes > 1 :
__usage_brief(u'Options utilisées incompatibles')
@ -1110,7 +1110,7 @@ def __recherche() :
#cprint(u"Recherche sur chambre %s" % chbre)
arg = u'chbre=%s' % chbre
# sinon on ne fait rien et on recherche sur le champ prise
try:
if only_crans :
res = { 'machine' : AssociationCrans().machines() , 'adherent' : [] , 'club' : [] }
@ -1121,7 +1121,7 @@ def __recherche() :
res = base.search(arg)
except ValueError, c :
__usage_brief(c.args[0])
# Traitement du résultat
if not res['adherent'] and not res['machine'] and not res['club']:
# Pas de résultat dans la base
@ -1160,14 +1160,14 @@ def __recherche() :
elif res['club'] :
cprint(u'Aucun résultat à afficher')
sys.exit(4)
elif only_mac :
elif only_mac :
if res['machine'] : aff(res['machine'],mtech)
else :
to_aff = []
for a in res['adherent'] + res['club'] :
to_aff += a.machines()
aff(to_aff)
elif only_club :
elif only_club :
if res['club'] : aff(res['club'])
elif res['machine'] :
to_aff=[]
@ -1196,15 +1196,15 @@ def __recherche() :
if res['club']:
cprint(u"Résultats trouvés parmi les clubs :", 'cyan')
aff(res['club'])
if __name__ == '__main__' :
global debug
debug = 0
import sys, getopt
base = crans_ldap()
try :
__recherche()
except KeyboardInterrupt :
@ -1215,7 +1215,7 @@ if __name__ == '__main__' :
sys.exit(c)
except :
cprint(u"""Une erreur fatale s'est produite durant l'exécution.
Pour l'amélioration de ce programme merci de prévenir nounou en spécifiant la
Pour l'amélioration de ce programme merci de prévenir nounou en spécifiant la
marche à suivre pour reproduire cette erreur.""")
if debug :
cprint('-'*40)