howto redirect and extend help content ?
Rob Wolfe
rw at smsnet.pl
Sun Jan 28 12:18:39 EST 2007
Stef Mientki <S.Mientki-nospam at mailbox.kun.nl> writes:
> I'm making special versions of existing functions,
> and now I want the help-text of the newly created function to exists of
> 1. an extra line from my new function
> 2. all the help text from the old function
>
> # the old function
> def triang(M,sym=1):
> """The M-point triangular window. <== old help text
> """
> ....
>
> # the new function
> def chunked_triang(M):
> """ Chunked version of "triang" <== the extra line
> """
>
> >>> help(chunked_triang)
> # should give something like
>
> chunked_triang(M) <== the new definition
> Chunked version of "triang" <== the extra line
> The M-point triangular window. <== old help text
>
> Is that possible ?
You can take advantage of the decorator syntax:
>>> def triang(M,sym=1):
... """The M-point triangular window.
... """
... return "triang"
...
>>> help(triang)
Help on function triang in module __main__:
triang(M, sym=1)
The M-point triangular window.
>>> def add_doc(f):
... def wrap(g):
... g.__doc__="chunked version of %s\n%s" % (f.__name__,f.__doc__)
... return g
... return wrap
...
>>> @add_doc(triang)
... def chunked_triang(M):
... return "chunked triang"
...
>>> help(chunked_triang)
Help on function chunked_triang in module __main__:
chunked_triang(M)
chunked version of triang
The M-point triangular window.
--
HTH,
Rob
More information about the Python-list
mailing list