1 #@ MODIF sd_table_container SD DATE 12/02/2008 AUTEUR REZETTE C.REZETTE
2 # -*- coding: iso-8859-1 -*-
3 # CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2008 EDF R&D WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9 # (AT YOUR OPTION) ANY LATER VERSION.
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19 # ======================================================================
23 from SD.sd_table import sd_table, Colonne
24 from SD.sd_vect_elem import sd_vect_elem
25 from SD.sd_matr_elem import sd_matr_elem
26 from SD.sd_cham_elem import sd_cham_elem
27 # --------------------------------------------------------------------
28 # sd_table contenant les colonnes nommée "NOM_OBJET","TYPE_OBJET",
30 # --------------------------------------------------------------------
34 class sd_table_container(sd_table):
35 #-------------------------------------
38 def check_table_container(self, checker):
40 # vérification de l'existence de la table
41 if not self.exists() :
42 checker.err(self,"La sd_table_container %s ne semble"
43 +"pas exister" %(nomj))
45 # on vérifie la présence des paramètres
46 # 'NOM_OBJET','TYPE_OBJET','NOM_SD'
47 param=['NOM_OBJET','TYPE_OBJET','NOM_SD']
48 shape = self.TBNP.get()
49 assert 3,shape[0] # la table a exactement 3 paramètres
51 col=self.get_column_name(n)
53 checker.err(self,"Paramètre %s manquant!" %(n))
55 # on vérifie que les colonnes ne sont pas vides
58 if col.data.lonuti != shape[1]:
59 checker.err(self,"Taille inconsitante %d!=%d" %
60 (col.data.lonuti,shape[1]))
63 # on vérifie le contenu de la colonne NOM_SD
64 col1=self.get_column_name('TYPE_OBJET')
65 col2=self.get_column_name('NOM_SD')
67 lnom1=col1.data.get_stripped()
68 lnom2=col2.data.get_stripped()
70 if lnom1[k][:9]=='VECT_ELEM':
71 sd5=sd_vect_elem(lnom2[k])
73 elif lnom1[k][:9]=='MATR_ELEM':
74 sd5=sd_matr_elem(lnom2[k])
76 elif lnom1[k][:9]=='CHAM_ELEM':
77 sd5=sd_cham_elem(lnom2[k])