On Thu, Aug 13, 2009 at 10:12:23AM -0400, Darren Dale wrote: > I appreciate how much time has gone into the patch, but this impacts > so much code I think it is important to really nail the > implementation. I think everything should be rolled up into a single > high level decorator if possible. I offered a suggestion in the > tracker. Consider:
> with_doc(*args, **kwargs): > mod_doc(f): > if args: > if not isinstance(args[0], str): > # inherit docstring from first argument > inherit = args.pop(0).__doc__ > if f.__doc__ is None: > f.__doc__ = inherit > else: > f.__doc__ = inherit + '\n\n' + f.__doc__ > if kwargs: > # mapping interpolation > f.__doc__ = f.__doc__ % kwargs > if args: > try: > # inserting > f.__doc__ = f.__doc__ % args > except TypeError: > # appending > if f.__doc__ is None: > f.__doc__ = '' > f.__doc__ = f.__doc__ + '\n\n'+ '\n\n'.join(args) > return f > return mod_doc I have not followed the conversation, so please forgive me if I am talking bull**, but why are you not using functools.wraps? I have found it is useful to make really sure that you are keeping all the properties of a function that you want to decorate. Gaƫl PS: Some of the mayavi codebase should be changed to use wraps, so don't take this as a blame, but more as a question :). ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel