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
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)
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
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