]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
pour les BLOC_FICHIER
authorpascale.noyret <pascale.noyret@edf.fr>
Mon, 1 Apr 2019 13:56:53 +0000 (15:56 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Mon, 1 Apr 2019 13:56:53 +0000 (15:56 +0200)
Accas/A_BLOC.py
Accas/__init__.py
Efi2Xsd/AccasXsd.py
JP/cata_Vimmp.py

index ba29c97d671f22616de731c9d5247d66d4ddde48..b3839928b932a7fdacbc87819b41ad6d23736208 100644 (file)
@@ -31,4 +31,5 @@ class BLOC(N_BLOC.BLOC,X_BLOC,I_ENTITE.ENTITE):
       N_BLOC.BLOC.__init__(self,*tup,**args)
 
 class BLOC_EXCLUS_ABC(BLOC): pass
+class BLOC_FICHIER(BLOC):pass
 
index 51677f4d969e7f89220d44fd33bf4b7f3f9a17cc..d84c9ed3279e8a1664d7bf9f6fd4e176e9b5c905 100644 (file)
@@ -42,6 +42,7 @@ from .A_MACRO import MACRO
 from .A_FORM import FORM
 from .A_BLOC import BLOC
 from .A_BLOC import BLOC_EXCLUS_ABC
+from .A_BLOC import BLOC_FICHIER
 from .A_FACT import FACT
 from .A_SIMP import SIMP
 from .A_EVAL import EVAL
index 606daaccda71ffa5162066716a65ea83d61a4e78..06d20b7b3a9f036edda6e267a52714b97ac7a9af 100755 (executable)
@@ -2,6 +2,7 @@
 # -*- coding: utf-8 -*-
 import sys,os
 import types
+import Accas
 
 # CONTEXT est accessible (__init__.py de Noyau)
 
@@ -20,9 +21,9 @@ from .mapDesTypes import listeParamDeTypeTypeAttendu, listeParamDeTypeStr, dictP
 from .mapDesTypes import listeParamTjsSequence, listeParamSelonType
 from .mapDesTypes import Tuple
 
+PourTraduction = False
 
 from .balises import *
-
 # -----------------
 class X_definition:
 # -----------------
@@ -78,17 +79,26 @@ class X_definitionComposee (X_definition):
    
    def CreeTexteComplexeVenantDesFils(self):
        texteComplexeVenantDesFils=""
+       fichierDejaDumpe=False
        for nom in self.ordre_mc:
           mcFils = self.entites[nom]
           mcFils.dumpXsd()
-          self.texteComplexe += mcFils.texteElt
-          self.texteSimple   += mcFils.texteSimple 
-          texteComplexeVenantDesFils += mcFils.texteComplexe
+          if not (isinstance(mcFils, Accas.BLOC_FICHIER)) :
+             self.texteComplexe += mcFils.texteElt
+             self.texteSimple   += mcFils.texteSimple 
+             texteComplexeVenantDesFils += mcFils.texteComplexe
+             continue
+          elif  not fichierDejaDumpe :
+             self.texteComplexe += mcFils.texteElt
+             self.texteSimple   += mcFils.texteSimple 
+             texteComplexeVenantDesFils += mcFils.texteComplexe
+             fichierDejaDumpe = True
        return texteComplexeVenantDesFils
 
    def dumpXsd(self):
        #print ('------------------------------------------------')
        #print ('dumpXsd de ' , self.nom)
+       if PourTraduction  : print (self.nom)
  
        self.getCode()
        self.nomDuTypePyxb  = self.definitNomDuTypePyxb()
@@ -187,6 +197,7 @@ class X_BLOC (X_definitionComposee):
 class X_SIMP (X_definition):
 #--------------------------------
    def dumpXsd(self):
+       if PourTraduction  : print (self.nom)
        #print ('exploreObjet SIMP')
        self.getCode()
        self.aCreer = True
@@ -209,7 +220,9 @@ class X_SIMP (X_definition):
              for val in self.defaut : txtDefaut+=str(val) +" "
              self.texteElt = eltWithDefautDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut)
           else :
-             self.texteElt = eltWithDefautDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1,self.defaut)
+             if self.defaut == True  : txtDefaut = 'true'
+             else : txtDefaut = str(self.defaut)
+             self.texteElt = eltWithDefautDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut)
 
        else : self.texteElt = eltDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1)
     
@@ -263,7 +276,9 @@ class X_SIMP (X_definition):
        # il faut gerer les types tuple et fichier
 
        if hasattr(self.type[0], 'ntuple') : return ('XXXXXXXX')
-       #print (self.type[0])
+       if not (self.type[0] in list(dictNomsDesTypes.keys())) : 
+          if (isinstance(self.type[0], Accas.ASSD) or issubclass(self.type[0], Accas.ASSD)) : return 'string'
+          else : return ('YYYYY')
        return dictNomsDesTypes[self.type[0]]
   
    def traduitValMinValMax(self):
index f2b62dd069defd0fdd89e3294e4c3b29f9a44899..78e46006a1837a6cd4950d2afe746622b7732b66 100755 (executable)
@@ -34,43 +34,12 @@ class Tuple:
   def info(self):
     return "Tuple de %s elements" % self.ntuple
 
-liste_Objets_Surface_Elementaire = []
+#liste_Objets_Surface_Elementaire = []
 class Surface_Elementaire (UserASSD):
     def __init__(self, nom):
        ASSD.__init__(self)
        self.setName(nom)
 
-dico_Modeles_Numeriques = {
-   'DPD' : { 'hybride': ('hybride_microscopic', 'hybride_macroscopic SPDP'),
-             'standalone' : ('DPD'),
-           }
-}
-def description_manuelle_particule_DEM():
-   return FACT(statut ='o', max= "**",
-      Position          =  SIMP(statut='o', typ='R', max=3, min =3),
-      Vitesse           =  SIMP(statut='o', typ='R', max=3, min =3),
-      Vitesse_Rotation  =  SIMP(statut='o', typ='R', max=3, min =3 ),
-           )
-
-def description_manuelle_particule_cinetique():
-   return FACT(statut ='o', max= "**",
-      Position =  SIMP(statut='o', typ='R', max=3, min =3),
-      Vitesse  =  SIMP(statut='o', typ='R', max=3, min =3),
-           )
-
-def description_manuelle_particule_cinetique_etendue():
-   return FACT(statut ='o', max= "**",
-      Position      =  SIMP(statut='o', typ='R', max=3, min =3),
-      Vitesse       =  SIMP(statut='o', typ='R', max=3, min =3),
-      #Diffusivite   =  SIMP(statut='f', typ='R'),
-      #Concentration =  SIMP(statut='f', typ='R'),
-)
-
-def bloc_description_particule_fichier ():
-    return BLOC ( condition = 'type_description == "fichier"',
-           format_fichier = SIMP (statut='o', typ = 'TXM', into = ['txt','Autre',] ),
-      ) 
-
 def champ (nomDelaContante, labels ,nbReels ) :
 # ajouter les extensions pour le fichier et les blocs associes
 # certains champs ne seront jamais uniformes
@@ -89,11 +58,13 @@ def champ (nomDelaContante, labels ,nbReels ) :
      ), #b_vsaisie
      b_vdsfich = BLOC (condition = "Mode_saisie == 'valeurs ds fichier'", 
         Format = SIMP (statut='o', typ = 'TXM', into = ['txt','Med',] ),
-        td_txt = BLOC (condition = 'Format == "txt"',
+        td_txt = BLOC_FICHIER (condition = 'Format == "txt"',
           Fichier  = SIMP(statut='o', typ = ('Fichier','Text Files(*.txt);All Files (*)'),),
         ),
-        td_med = BLOC ( condition = 'Format == "Med"',
+        td_med_1 = BLOC_FICHIER ( condition = 'Format == "Med"',
           Fichier  = SIMP (statut='o', typ = ('Fichier','Med Files(*.med);All Files (*)'),),
+        ),
+        td_med_2 = BLOC ( condition = 'Format == "Med"',
           NomChamp = SIMP (statut='o', typ = 'TXM', ),
         ),
      ),
@@ -130,7 +101,7 @@ def bloc_description_particule_tableau (nbReels, labels):
 
 def creeSurfaceElementaire(MC) :
    # PNPN pour qu eric puisse tester
-   #MC.creeObjetClasse(Surface_Elementaire)
+   MC.creeObjetClasse(Surface_Elementaire)
    return
     
 # 
@@ -175,13 +146,13 @@ Etude = PROC (nom = 'Etude',
    Composant_Du_Systeme= FACT(  statut='o', max = "**",
 #     #EF : Je ne ferais pas apparaître ici l'hybridation via le max=2
 #     #     J'attendrais de définir la méthode numérique...
-     Composant = SIMP(statut='o', typ = 'TXM',into =  ['Particule', 'Fluide','Solide','Plasma'], position = 'global_jdc'),
+     Composant = SIMP(statut='o', typ = 'TXM',into =  ['Particule', 'Fluide','Solide','Plasma'], position = 'global'),
      Niveau_De_Description = FACT ( min=1, max= 2, statut='o', 
        Niveau_De_Description_Generale = SIMP( statut ='o', typ = 'TXM',into = ['Microscopique','Mesoscopique', 'Macroscopique']),
 
        # PNPN voir le global qui ne fonctionne pas
-       b_Mesoscopique_Particule   = BLOC( condition = "Niveau_De_Description_Generale == 'Mesoscopique' ",
-       #b_Mesoscopique_Particule   = BLOC( condition = "Niveau_De_Description_Generale == 'Mesoscopique' and 'Composant' == 'Particule'",
+       #b_Mesoscopique_Particule   = BLOC( condition = "Niveau_De_Description_Generale == 'Mesoscopique' ",
+       b_Mesoscopique_Particule   = BLOC( condition = "Niveau_De_Description_Generale == 'Mesoscopique' and Composant == 'Particule'",
           Description_Physique = FACT( statut = 'o',
              Electrostatics  = SIMP( statut='o', typ=bool, defaut=False, position ='global'),
              Nombre_D_Especes  = SIMP( statut = 'o', typ = 'I', defaut =1, position ='global_jdc'),
@@ -205,7 +176,7 @@ Etude = PROC (nom = 'Etude',
                    ), #  fin Interactions_Par_Paire
                 ), # fin b_Interactionparpaire
              b_champ_moyen   = BLOC( condition = 'Categorie_Interaction == "champ moyen"',
-                Interaction = FACT( statut='o', max = 2, #   max = cardinalite du into 
+                Interaction_champ_moyen = FACT( statut='o', max = 2, #   max = cardinalite du into 
                    Type_Interaction = SIMP( statut='o', typ ='TXM', into = ['champ gravite','champ electrostatique']),
                    b_gravite = BLOC (condition = 'Type_Interaction=="champ gravite"',
                      G= SIMP( statut='o', typ='R',defaut =9.81),
@@ -220,7 +191,7 @@ Etude = PROC (nom = 'Etude',
                    ), #  fin Interaction
              ), # fin b_champ_moyen
              b_champ_moyen_dynamique   = BLOC( condition = 'Categorie_Interaction == "champ moyen dynamique"',
-                Interaction = FACT( statut='o', max = 2, #   max = cardinalite du into 
+                Interaction_champ_moyen_dynamique = FACT( statut='o', max = 2, #   max = cardinalite du into 
                    Type_Interaction = SIMP( statut='o', typ ='TXM', into = ['champ electrostatique'], defaut='champ electrostatique'),
                    Couple_D_especes = FACT (statut ='o', min=1, max = '**', # min=n, max=n(n+1)/2
                        Nom_Des_Especes = SIMP ( statut ='o', typ = 'TXM', min=2, max=2),