On Thu, 24 Feb 2005 11:15:07 -0800, Scott David Daniels <[EMAIL PROTECTED]> wrote: > > I have started doing the following to watch for exceptions in wxPython. > I'd like any input about (A) the interface, and (B) the frame before I > throw it in the recipes book. > > import wx, os, sys > errorframe = None > > def watcherrors(function): > '''function decorator to display Exception information.''' > def substitute(*args, **kwargs): >...
Pretty cool. Question on decorators in general. Can you parameterize those? If I wanted to something and after the function call for example, I would expect something like this would work. def prepostdecorator(function,pre,post): def wrapper(*args,**kwargs): pre() result = function(*args,**kwargs) post() return result return wrapper def dopre(): print "call pre" def dopost(): print "call post" @prepostdecorator(pre,post) def sayhello(Name): print "Hey %s, nice to meet you" % Name #sayhello = prepostdecorator(sayhello,dopre,dopost) if __name__=="__main__": sayhello("Dude") but I get ... TypeError: prepostdecorator() takes exactly 3 arguments (2 given) Where as def prepostdecorator(function,pre,post): def wrapper(*args,**kwargs): pre() result = function(*args,**kwargs) post() return result return wrapper def dopre(): print "call pre" def dopost(): print "call post" def sayhello(Name): print "Hey %s, nice to meet you" % Name sayhello = prepostdecorator(sayhello,dopre,dopost) if __name__=="__main__": sayhello("Dude") #outputs call pre Hey Dude, nice to meet you call post Does what I want. I guess I'm having problems with how function get's in there similair to how self magically gets in a method, except when you specify other params. Got linky? -- Thomas G. Willis http://paperbackmusic.net -- http://mail.python.org/mailman/listinfo/python-list