Salome HOME
type fichier ou repertoire
[tools/eficas.git] / Noyau / N_GEOM.py
index c6d62b63fb1be906010d04b87e618a25ef4f46ea..b042991419fa897f1d85e4f1c39781fdefeecda3 100644 (file)
@@ -1,46 +1,69 @@
+# 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
+
+
 """
 
 """
-from N_ASSD import ASSD
+from __future__ import absolute_import
+from .N_ASSD import ASSD
+import six
+
 
 class GEOM(ASSD):
-   """
-      Cette classe sert à définir les types de concepts
-      géométriques comme GROUP_NO, GROUP_MA,NOEUD et MAILLE
-
-   """
-   def __init__(self,nom,etape=None,sd=None,reg='oui'):
-      """
-      """
-      self.etape=etape
-      self.sd=sd
-      if etape:
-        self.parent=etape.parent
-      else:
-        self.parent=CONTEXT.get_current_step()
-      if self.parent :
-         self.jdc = self.parent.get_jdc_root()
-      else:
-         self.jdc = None
-
-      if not self.parent:
-        self.id=None
-      elif reg == 'oui' :
-        self.id = self.parent.reg_sd(self)
-      self.nom=nom
-
-   def get_name(self):
-      return self.nom
-
-   def is_object(valeur):
-      """
-          Indique si valeur est d'un type conforme à la classe (1) 
-          ou non conforme (0)
-          La classe GEOM est utilisée pour tous les objets géométriques
-          Elle valide tout objet
-      """
-      return 1
-
-
-class geom(GEOM):pass
 
+    """
+       Cette classe sert à définir les types de concepts
+       géométriques comme GROUP_NO, GROUP_MA,NOEUD et MAILLE
+
+    """
+
+    def __init__(self, nom, etape=None, sd=None, reg='oui'):
+        """
+        """
+        self.etape = etape
+        self.sd = sd
+        if etape:
+            self.parent = etape.parent
+        else:
+            self.parent = CONTEXT.get_current_step()
+        if self.parent:
+            self.jdc = self.parent.get_jdc_root()
+        else:
+            self.jdc = None
+
+        if not self.parent:
+            self.id = None
+        elif reg == 'oui':
+            self.id = self.parent.reg_sd(self)
+        self.nom = nom
+
+    def get_name(self):
+        return self.nom
+
+    def __convert__(cls, valeur):
+        if isinstance(valeur, (str, six.text_type)) and len(valeur.strip()) <= 8:
+            return valeur.strip()
+        raise ValueError(
+            _(u'On attend une chaine de caractères (de longueur <= 8).'))
+    __convert__ = classmethod(__convert__)
+
+
+class geom(GEOM):
+    pass