[Tutor] How to put my functions in an array
=?GB2312?B?yfK94NSq?=
orion_val at 163.com
Thu Dec 30 05:12:35 CET 2004
Hello,
Mohamed Lrhazi wrote:
>def addvirt():
> pass
>def remvirt():
> pass
>
>PROVISION_ACTIONS=[('addvirt','Add Virt'),('remvirt','Remove Virt'),]
>formhandlers={}
>
># this works
>formhandlers["addvirt"]=addvirt
>formhandlers["remvirt"]=remvirt
>
># this does not work:
>for verb,verb_desc in PROVISION_ACTIONS:
> if callable(verb):
>
>
#### Here is the bug, verb here is a string, not a function entry.
callable(Function) will return True. callable(String) always returns False.
> formhandlers[verb]=verb
>
>I tried a few different syntaxes but to no avail... do I need things
>like: getattr()?
>
>Thanks alot
>Mohamed~
>
I hope this will meet your needs in a clear way:
def addvirt():
pass
def remvirt():
pass
PROVISION_ACTIONS=[(addvirt,'Add Virt'),(remvirt,'Remove Virt')]
formhandlers={}
for (verb,verb_descr) in PROVISION_ACTIONS:
if callable(verb):
formhandlers[verb.__name__]=verb
More information about the Tutor
mailing list