<ga**************@arimaz.comescribi�:
I can't get getattr() to return nested functions, I tried this :Yes, functions are objects, but inner functions aren't attributes of the
... def titi():>>def toto():
... pass
... f = getattr(toto, "titi")
... print str(f)
...Traceback (most recent call last):>>toto()
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in toto
AttributeError: 'function' object has no attribute 'titi'>>>
I thought that since functions are objects, that I could obtain it's
nested functions. How come it doesn't work and what can I do to
fix/replace it? I'm using it in code that is like this :
outer; they live in its local namespace instead (and inner functions won't
exist until the outer function executes)
def __test(self, action, *args):Try using locals()[action]
def request(params):
pass
def submit(params, values):
pass
def update(params, values):
pass
def delete(params):
pass
result = getattr(__test, action)(*args)
return resultToXml(result)
where "action" is a string containing either "request", "submit",
"update", or "delete". I was using an evel() with this form :
result = eval(action + "(params, values)")
but I didn't find that very clean.
--
Gabriel Genellina