Salome HOME
sauve du 20/12
[tools/eficas.git] / Noyau / N_CO.py
1 # coding=utf-8
2 # Copyright (C) 2007-2013   EDF R&D
3 #
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License.
8 #
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Lesser General Public License for more details.
13 #
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 #
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19
20
21 from N_ASSD import ASSD
22 from N_Exception import AsException
23 from N_VALIDATOR import ValError
24 import N_utils
25
26 from asojb import AsBase
27
28
29 class CO(ASSD, AsBase):
30
31     def __init__(self, nom):
32         ASSD.__init__(self, etape=None, sd=None, reg='oui')
33         self._as_co = 1
34         #
35         #  On demande le nommage du concept
36         #
37         if self.parent:
38             try:
39                 self.parent.NommerSdprod(self, nom)
40             except AsException, e:
41                 appel = N_utils.callee_where(niveau=2)
42                 raise AsException(
43                     "Concept CO, fichier: ", appel[1], " ligne : ", appel[0], '\n', e)
44         else:
45             self.nom = nom
46
47     def __convert__(cls, valeur):
48         if valeur.is_typco():
49             return valeur
50         raise ValError("Pas un concept CO")
51     __convert__ = classmethod(__convert__)