Hi folks!
Let me explain the above question:
For debugging purpose I tried this:
--- snip ---
def foo(): pass
function = type(foo)
class PrintingFunction(function):
def __init__(self, func):
self.func = func
def __call__(self, *args, **kwargs):
print args, kwargs
return function.__call__(self, args, kwargs)
class DebugMeta(type):
def __new__(self, name, bases, dict):
for name in dict:
if type(dict[name]) is function:
dict[name] = PrintingFunction(dict[name])
--- snap ---
Now I tought I were able to let all methods of classes with DebugMeta
as metaclass print out their arguments. But I got the following sad
error:
TypeError: Error when calling the metaclass bases
type 'function' is not an acceptable base type
That's a pity, isn't it?
What could I do to get the above code to work? (No, I don't want to
reimplement <type 'function'> without this unpleasant behaviour in
Python.
Greetings,
F. Sidler
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com