X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Noyau%2FN_CR.py;h=addfe661f88b76f05a920bc62def2ce3a58a8658;hb=a7d5f18fe322c770026b50343adc09ed0472c192;hp=9c511aa1924cb33a5e8751850a49ef029d7a5f64;hpb=fcd054a825fbe171652108194c0204f8e3fd955a;p=tools%2Feficas.git diff --git a/Noyau/N_CR.py b/Noyau/N_CR.py index 9c511aa1..addfe661 100644 --- a/Noyau/N_CR.py +++ b/Noyau/N_CR.py @@ -1,3 +1,26 @@ +#@ MODIF N_CR Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + + """ Ce module contient la classe compte-rendu de validation """ @@ -99,14 +122,14 @@ class CR : def __str__(self): """ - Retourne une chaîne de caractères décorée et représentative de self + Retourne une chaine de caractères décorée et représentative de self """ s='' self.beautifie_messages() - s=s+string.join(self.crok_belle) - s=s+string.join(self.crwarn_belle) - s=s+string.join(self.crfatal_belle) - s=s+string.join(self.crexception_belle) + s=s+string.join(self.crok_belle,'') + s=s+string.join(self.crwarn_belle,'') + s=s+string.join(self.crfatal_belle,'') + s=s+string.join(self.crexception_belle,'') for subcr in self.subcr: if self.verbeux == 'oui': s=s+str(subcr)+'\n' @@ -121,7 +144,7 @@ class CR : def report(self,decalage = 2): """ - Retourne une chaîne de caractères non encadrée mais représentative de self + Retourne une chaine de caractères non encadrée mais représentative de self """ s='' # on stocke dans s les messages de premier niveau @@ -145,7 +168,7 @@ class CR : def get_mess_fatal(self): """ - Retourne une chaîne de caractères contenant les messages de + Retourne une chaine de caractères contenant les messages de la liste crfatal (du dernier au premier) """ self.crfatal.reverse() @@ -157,7 +180,7 @@ class CR : def get_mess_exception(self): """ - Retourne une chaîne de caractères contenant les messages + Retourne une chaine de caractères contenant les messages de la liste crexception (du dernier au premier) """ self.crexception.reverse() @@ -170,9 +193,9 @@ class CR : -def justify_text(texte='',cesure=50): +def justify_text_old(texte='',cesure=50): """ - Prend la chaîne de caractères 'texte' et la retourne avec un retour chariot + Prend la chaine de caractères 'texte' et la retourne avec un retour chariot tous les 'cesure' caractères s'il y a lieu (le retour chariot est placé dans un blanc et non au milieu d'un mot """ @@ -199,15 +222,62 @@ def justify_text(texte='',cesure=50): texte_justifie = texte_justifie + string.strip(new_text) + '\n' return texte_justifie[0:-1] -def encadre_message(texte,motif): +def encadre_message_old(texte,motif): """ - Retourne la chaîne de caractères texte entourée d'un cadre formés + Retourne la chaine de caractères texte entourée d'un cadre formés + d'éléments 'motif' + """ + texte = justify_text(texte,cesure=80) + lignes = string.split(texte,'\n') + longueur = 0 + for ligne in lignes : + if len(ligne)> longueur : longueur = len(ligne) + longueur = longueur + 4 + txt = motif*longueur+'\n' + for ligne in lignes : + txt = txt + motif + ' '+ligne+' '*(longueur-len(motif+ligne)-2)+motif+'\n' + txt = txt + motif*longueur+'\n' + return txt + + + + +separateurs=(' ',',','/') +def split(ligne,cesure): + ligne= string.rstrip(ligne) + if len(ligne) <= cesure : + return ligne + else: + coupure=cesure + while ligne[coupure] not in separateurs and coupure > 0: + coupure = coupure - 1 + if coupure == 0: + # Il faut augmenter la cesure + coupure =cesure + while ligne[coupure] not in separateurs and coupure < len(ligne)-1 : + coupure = coupure + 1 + if coupure == len(ligne)-1: + return ligne + else: + return ligne[:coupure+1]+ '\n' + split(ligne[coupure+1:],cesure) + +def justify_text(texte='',cesure=50): + texte = string.strip(texte) + liste_lignes = string.split(texte,'\n') + l=[split(l,cesure) for l in liste_lignes] + texte_justifie=string.join(l,'\n') + return texte_justifie + +def encadre_message(texte,motif): + """ + Retourne la chaine de caractères texte entourée d'un cadre formés d'éléments 'motif' """ texte = justify_text(texte,cesure=80) lignes = string.split(texte,'\n') longueur = 0 for ligne in lignes : + ligne=string.rstrip(ligne) if len(ligne)> longueur : longueur = len(ligne) longueur = longueur + 4 txt = motif*longueur+'\n'