lkcl schrieb:
On Nov 27, 7:43 pm, [EMAIL PROTECTED] wrote:
    lkcl> Very simple question: how do you apply a decorator to an entire
    lkcl> module?

Function-by-function or class-by-class.  There is no decorator support for
modules.

awWww!  i'm going to quietly throw my toys out of my pram.

... but seriously - doesn't that strike people as... a slightly odd
omission?


Decorators are applied when the function or class is *defined*. Modules OTOH are imported from quite a few places. So what would

@foo
import bar

@baz
import bar

mean - what's the semantics of that? If *anything*, you could declare a decorator per module.


Anyway, for your original problem, you can always just iterate over the module objects & decorate them. Like this:


for name in dir(module):
    thing = getattr(module, name)
    if callable(thing):
       wrapped_thing = wrap(thing)
       setattr(module, name, wrappend_thing)



Diez
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to