]> SALOME platform Git repositories - tools/eficas.git/blobdiff - Noyau/asnom.py
Salome HOME
gestion des listes et label sur 2
[tools/eficas.git] / Noyau / asnom.py
index 9006e70f47df11e7240cc62f7b756a8ad566bcac..9ee9fd0eff6bd9e074d3813d4e3fb2c8ef887b99 100644 (file)
@@ -1,43 +1,43 @@
-#@ MODIF asnom Noyau  DATE 16/05/2007   AUTEUR COURTOIS M.COURTOIS 
-# -*- coding: iso-8859-1 -*-
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2007  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.        
-# ======================================================================
-
+# coding=utf-8
+# Copyright (C) 2007-2013   EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 """
 Description des types de base aster
 
-version 2 - réécrite pour essayer de simplifier
-le problème des instances/types et instances/instances
+version 2 - réécrite pour essayer de simplifier
+le problème des instances/types et instances/instances
 
-le type de base ASBase permet de représenter une structure
-de donnée. Une instance de ASBase comme attribut d'une classe
-dérivée de ASBase représente une sous-structure nommée.
+le type de base ASBase permet de représenter une structure
+de donnée. Une instance de ASBase comme attribut d'une classe
+dérivée de ASBase représente une sous-structure nommée.
 
-une instance de ASBase 'libre' représente une instance de la
-structure de donnée complète.
+une instance de ASBase 'libre' représente une instance de la
+structure de donnée complète.
 
-c'est ce comportement qui est capturé dans la classe StructType
+c'est ce comportement qui est capturé dans la classe StructType
 """
 
 from basetype import Type
 
+
 class SDNom(Type):
-    """Objet représentant une sous-partie de nom
+
+    """Objet représentant une sous-partie de nom
     d'objet jeveux"""
     nomj = None
     debut = None
@@ -45,28 +45,29 @@ class SDNom(Type):
     just = None
     justtype = None
 
-    def __init__(self, nomj=None, debut=None, fin=None, just='l', **kwargs ):
+    def __init__(self, nomj=None, debut=None, fin=None, just='l', **kwargs):
         """
         Configure un objet nom
-        nomj : la partie du nom fixée (par ex .TITR) ou '' si non précisée
-        debut, fin : la partie du K24 concernée
+        nomj : la partie du nom fixée (par ex .TITR) ou '' si non précisée
+        debut, fin : la partie du K24 concernée
         just : la justification a droite ou a gauche ('l' ou 'r')
-        kwargs : inutilisé, juste par simplicité
+        kwargs : inutilisé, juste par simplicité
 
         Note:
         On utilise cet objet comme attribut d'instance ou de classe.
         En attribut de classe pour les noms de structure, cela permet
-        de définir la position du nom d'objet dans le nom jeveux, l'attribut
+        de définir la position du nom d'objet dans le nom jeveux, l'attribut
         nom est alors la valeur du suffixe pour une sous-structure ou None pour
         une structure principale.
         """
-        super( SDNom, self ).__init__( nomj=nomj, debut=debut, fin=fin, just=just, **kwargs )
-        self.update( (nomj, debut, fin, just) )
+        super(SDNom, self).__init__(
+            nomj=nomj, debut=debut, fin=fin, just=just, **kwargs)
+        self.update((nomj, debut, fin, just))
 
     def __call__(self):
         if self._parent is None or self._parent._parent is None:
             debut = self.debut or 0
-            prefix = ' '*debut
+            prefix = ' ' * debut
         else:
             # normalement
             # assert self._parent.nomj is self
@@ -75,37 +76,36 @@ class SDNom(Type):
             debut = self.debut or nomparent.fin or len(prefix)
         fin = self.fin or 24
         nomj = self.nomj or ''
-        nomj = self.just( nomj, fin-debut )
+        nomj = self.just(nomj, fin - debut)
         prefix = prefix.ljust(24)
-        res = prefix[:debut]+nomj+prefix[fin:]
+        res = prefix[:debut] + nomj + prefix[fin:]
         return res[:24]
 
     def fcata(self):
-        return self.just(self.nomj,self.fin-self.debut).replace(' ','?')
+        return self.just(self.nomj, self.fin - self.debut).replace(' ', '?')
 
     def __repr__(self):
-        return "<SDNom(%r,%s,%s)>" % (self.nomj,self.debut,self.fin)
+        return "<SDNom(%r,%s,%s)>" % (self.nomj, self.debut, self.fin)
 
-    # On utilise pickle pour les copies, et pickle ne sait pas gérer la
-    # sauvegarde de str.ljust ou str.rjust (c'est une méthode non liée)
+    # On utilise pickle pour les copies, et pickle ne sait pas gérer la
+    # sauvegarde de str.ljust ou str.rjust (c'est une méthode non liée)
 
     def __getstate__(self):
-        return (self.nomj, self.debut, self.fin, self.justtype )
+        return (self.nomj, self.debut, self.fin, self.justtype)
 
-    def __setstate__( self, (nomj,debut,fin,just) ):
+    def __setstate__(self, (nomj, debut, fin, just)):
         self.nomj = nomj
         self.debut = debut
         self.fin = fin
-        if just=='l' or just is None:
+        if just == 'l' or just is None:
             self.just = str.ljust
-        elif just=='r':
+        elif just == 'r':
             self.just = str.rjust
         else:
-            raise ValueError("Justification '%s' invalide" % just )
+            raise ValueError("Justification '%s' invalide" % just)
         self.justtype = just
 
-
-    def update( self, (nomj,debut,fin,just) ):
+    def update(self, (nomj, debut, fin, just)):
         if nomj is not None:
             self.nomj = nomj
         if self.debut is None:
@@ -113,21 +113,19 @@ class SDNom(Type):
         if self.fin is None:
             self.fin = fin
         if self.justtype is None and just is not None:
-            if just=='l':
+            if just == 'l':
                 self.just = str.ljust
-            elif just=='r':
+            elif just == 'r':
                 self.just = str.rjust
             else:
-                raise ValueError("Justification '%s' invalide" % just )
+                raise ValueError("Justification '%s' invalide" % just)
             self.justtype = just
 
-    def reparent( self, parent, new_name ):
+    def reparent(self, parent, new_name):
         self._parent = parent
         self._name = new_name
         for nam in self._subtypes:
-            obj = getattr( self, nam )
-            obj.reparent( self, nam )
+            obj = getattr(self, nam)
+            obj.reparent(self, nam)
         if self.nomj is None and self._parent._name is not None:
             self.nomj = "." + self._parent._name
-
-