>
> So it looks like we're stuck. Any ideas?
>
>
This works for both Python2 and Python3:
from functools import wraps
isPython3 = True
def cmd(command_name):
def inner_cmd(func):
@wraps(func)
def _decorator(*args, **kwargs):
type0 = args and str(type(args[0])) or ""
if isPython3 and '.' in type0:
className = args[0].__class__.__name__
elif not isPython3 and type0 == "<type 'instance'>":
className = args[0].__class__.__name__
else:
className = None
print('** func:', func.__name__, 'class:', className)
return func(*args, **kwargs)
return _decorator
return inner_cmd
@cmd('command1')
def pureFunction(event=None):
print('-- pureFunction:', event)
return ("...exit pureFunction")
class MyClass:
@cmd('command2')
def aMethod(self, event=None):
print('-- self',self,'event',event)
def tests():
pureFunction()
pureFunction("abc")
pureFunction(pureFunction)
pureFunction(MyClass)
MyClass().aMethod()
MyClass().aMethod("abc")
MyClass().aMethod(pureFunction)
MyClass().aMethod(MyClass)
tests()
Reinhard
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.