1 # CONFIGURATION MANAGEMENT OF EDF VERSION
2 # ======================================================================
3 # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
4 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7 # (AT YOUR OPTION) ANY LATER VERSION.
9 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
16 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19 # ======================================================================
22 Ce module contient des modifications mineures du comportement
23 du noyau ou de validation
28 # Modification de la fonction justify_text de Noyau.N_CR
29 separateurs=(' ',',','/')
30 def split(ligne,cesure):
31 ligne= string.rstrip(ligne)
32 if len(ligne) <= cesure :
36 while ligne[coupure] not in separateurs and coupure > 0:
39 # Il faut augmenter la cesure
41 while ligne[coupure] not in separateurs and coupure < len(ligne)-1 :
43 if coupure == len(ligne)-1:
46 return ligne[:coupure+1]+ '\n' + split(ligne[coupure+1:],cesure)
48 def justify_text(texte='',cesure=50):
49 texte = string.strip(texte)
50 liste_lignes = string.split(texte,'\n')
51 l=[split(l,cesure) for l in liste_lignes]
52 texte_justifie=string.join(l,'\n')
56 Noyau.N_CR.justify_text=justify_text
60 def encadre_message(texte,motif):
62 Retourne la chaine de caractères texte entourée d'un cadre formés
65 texte = justify_text(texte,cesure=80)
66 lignes = string.split(texte,'\n')
69 if len(ligne)> longueur : longueur = len(ligne)
70 longueur = longueur + 4
71 txt = motif*longueur+'\n'
73 txt = txt + motif + ' '+ligne+' '*(longueur-len(motif+ligne)-2)+motif+'\n'
74 txt = txt + motif*longueur+'\n'
77 if __name__ == "__main__":
78 print encadre_message(motif='!',
79 texte="""- Il faut au moins un mot-clé parmi : ('DEBUT', 'POURSUITE')
80 - Il faut au moins un mot-clé parmi : ('FIN',)
81 - Il faut qu'au moins un objet de la liste : ('DEBUT', 'POURSUITE') soit suivi d'au moins un objet de la liste : ('FIN',)
82 ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
83 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,yyyyyyyyyyyyyyyy