]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Poc Suite
authorpascale.noyret <pascale.noyret@edf.fr>
Wed, 18 Nov 2020 13:33:09 +0000 (14:33 +0100)
committerpascale.noyret <pascale.noyret@edf.fr>
Wed, 18 Nov 2020 13:33:09 +0000 (14:33 +0100)
InterfaceQT4/eficas_go.py
Noyau/N_CONVERT.py
Noyau/N_ENTITE.py
Noyau/N_FACT.py

index afc82e80071cb3c2cb819e627b867da628e40622..ded9b52fb1cbdad98aa7d3540a988d580ff223d4 100755 (executable)
@@ -139,12 +139,12 @@ def validateDataSet(code=None):
     else : print ('Jdc is valid')
     return monEditeur.jdc.isValid()
 
-def validateFonction(laFonction, debug=True):
+def validateFonction(laFonction, debug=False):
 #-------------------------------
     # ici un singleton pour avoir l editor, le catalogue et...
     monEficasSsIhm = getEficasSsIhm(code='Essai')
     monEditor=monEficasSsIhm.getEditor()
-    print ('_______ validateFonction', laFonction,  laFonction.__name__)
+    #print ('_______ validateFonction', laFonction,  laFonction.__name__)
     from functools  import wraps
     from collections  import OrderedDict
     from inspect  import getargspec
@@ -152,27 +152,15 @@ def validateFonction(laFonction, debug=True):
     def fonctionValidee(*args, **kwargs):
         laFonctionName = laFonction.__name__
         if debug : print('Appel {} avec args={} et kwargs={}'.format( laFonction.__name__, args, kwargs))
-        listArgsNames   = list(OrderedDict.fromkeys(getargspec(laFonction)[0]))
-        listKwargsNames = list(kwargs.keys())
-        if debug : print (listArgsNames)
-        if debug : print (listKwargsNames)
-        #listTousNames = listArgsNames+listKwargsNames
-        #if debug : print (listTousNames)
-        #args_dict = OrderedDict(list(zip(args_name, args)) + list(kwargs.iteritems()))
-        #print (args_dict)
-
-        #laDefDeLaFonctionDansAccas = getattr(monEditor.readercata.cata,laFonctionName)
-        #print (laDefDeLaFonctionDansAccas)
-        #print (laDefDeLaFonctionDansAccas.entites)
-        #print (dir(laDefDeLaFonctionDansAccas))
-        #print (args)
-        #dict1={'monArgument1' : 'a', 'monArgument2' : 'uuu'}
-        
-        #objConstruit = laDefDeLaFonctionDansAccas.makeObjetPourVerifSignature(**dict1)
-        #print (objConstruit)
-        #print (objConstruit.isValid())
-        ret = laFonction(*args, **kwargs)
-        return ret
+        laDefDeLaFonctionDansAccas = getattr(monEditor.readercata.cata,laFonctionName)
+        objConstruit = laDefDeLaFonctionDansAccas.makeObjetPourVerifSignature(*args,**kwargs)
+        if (objConstruit.isValid(cr='oui')) :
+           ret = laFonction(*args, **kwargs)
+           return ret
+        else :
+           print ('mauvais arguments')
+           print (objConstruit.CR())
+           return None
     return fonctionValidee
 
         #maClasseAccas=getattr(self.cata,objEtape.monNomClasseAccas)
index b900ade1a5bbe45016abaef4bcce1543901ade36..683b25ddb99a2aeed05a2a1c71a374add33d3159 100644 (file)
@@ -108,10 +108,18 @@ class UserASSDConversion(TypeConversion):
         TypeConversion.__init__(self, classUser)
 
     def function(self, o):
-        #print ('je convertis : ', o, 'en ', self.typeACreer )
-        #import traceback
-        #traceback.print_stack()
         if o == None : return None
+        print ('je cree UserASSDConversion', o, ' ', self.typeACreer)
+        nouvelObj=self.typeACreer(o)
+        return nouvelObj
+
+class UserASSDMultipleConversion(TypeConversion):
+    def __init__(self, classUser):
+        TypeConversion.__init__(self, classUser)
+
+    def function(self, o):
+        if o == None : return None
+        print ('je cree dans UserASSDMultipleConversion', o, ' ', self.typeACreer)
         nouvelObj=self.typeACreer(o)
         return nouvelObj
 
@@ -124,6 +132,7 @@ def ConversionFactory(name, typ):
         if 'I' in typ   : return _convertI
         elif 'R' in typ : return _convertR
     if name == 'UserASSD':
-       #print(typ)
        return (UserASSDConversion(typ))
+    if name == 'UserASSDMultiple':
+       return (UserASSDMultipleConversion(typ))
     return None
index f33ff6137e00c74895da05355abeb6af598ba464..fc15bd7d017800f95212ea063c3811acb517d9b6 100644 (file)
@@ -322,8 +322,8 @@ class ENTITE(object):
    
 
 
-    def makeObjetPourVerifSignature(self,**args):
-        etape = self.class_instance(oper=self, args=args)
+    def makeObjetPourVerifSignature(self,*args,**kwargs):
+        etape = self.class_instance(oper=self, args=kwargs)
         etape.MCBuild()
         return etape
 
index 907533908ab2e73c473dedd2a573c487cd927a4c..c18bb08b641de39266fae610a7e5382d73ddd0fd 100644 (file)
@@ -160,8 +160,10 @@ class FACT(N_ENTITE.ENTITE):
             l.append(val)
         else:
             l.append(N_OBJECT.ErrorObj(self, val, parent, nom))
-        l.cata=l.jdc.cata
-        l.buildObjPyxb(l)
+        # pour tenir compte du validateFonction
+        if l.jdc : 
+           l.cata=l.jdc.cata
+           l.buildObjPyxb(l)
         return l
 
     def verifCata(self):