doxypy

doxypy is an input filter for Doxygen. It preprocesses python files so that docstrings of classes and functions are extracted as Doxygens special python documentation blocks.

See the projects website for details: http://code.foosel.org/doxypy

Please keep in mind that you help us fixing your problem faster by providing a proper bug report. A simple "it doesn't work" won't help us in locating the problem; always state exactly **what** lead to **which** feature not working, and provide **examples** if possible. Please also refer to http://www.catb.org/~esr/faqs/smart-questions.html
Tasklist

FS#34 - very Important feature request

Attached to Project: doxypy
Opened by Anonymous Submitter - Friday, 05 December 2008, 11:42 GMT+2
Last edited by Gina Häußge (foosel) - Friday, 05 December 2008, 13:10 GMT+2
Task Type Bug Report
Category Backend / Core
Status Closed
Assigned To Gina Häußge (foosel)
Operating System All
Severity High
Priority Normal
Reported Version 0.4
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Hi,

Thank you for this great and useful program.
The doxypy is working fine if the documentation comes before the 'def' statement as in :

class am_demod_cf(gr.hier_block2):
"""
Generalized AM demodulation block with audio filtering.

This block demodulates a band-limited, complex down-converted AM
channel into the the original baseband signal, applying low pass
filtering to the audio output. It produces a float stream in the
range [-1.0, +1.0].

@param channel_rate: incoming sample rate of the AM baseband
@type sample_rate: integer
@param audio_decim: input to output decimation rate
@type audio_decim: integer
@param audio_pass: audio low pass filter passband frequency
@type audio_pass: float
@param audio_stop: audio low pass filter stop frequency
@type audio_stop: float
"""
def __init__(self, channel_rate, audio_decim, audio_pass, audio_stop):
gr.hier_block2.__init__(self, "am_demod_cf",
gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature
gr.io_signature(1, 1, gr.sizeof_float)) # Input signature


but:
When the documentation is bellow the init function (as is the case for all python code intended to be documented by pydoc) it cannot work. As an example, doxypy cannot work for :

class dqpsk_mod(gr.hier_block2):

def __init__(self,
samples_per_symbol=_def_samples_per_symbol,
excess_bw=_def_excess_bw,
gray_code=_def_gray_code,
verbose=_def_verbose,
log=_def_log):
"""
Hierarchical block for RRC-filtered QPSK modulation.

The input is a byte stream (unsigned char) and the
output is the complex modulated signal at baseband.

@param samples_per_symbol: samples per symbol >= 2
@type samples_per_symbol: integer
@param excess_bw: Root-raised cosine filter excess bandwidth
@type excess_bw: float
@param gray_code: Tell modulator to Gray code the bits
@type gray_code: bool
@param verbose: Print information about modulator?
@type verbose: bool
@param debug: Print modualtion data to files?
@type debug: bool
"""


Best regards,

Firas

This task depends upon

Closed by  Gina Häußge (foosel)
Friday, 05 December 2008, 13:10 GMT+2
Reason for closing:  Fixed
Additional comments about closing:  I stand corrected, the bug was caused by multiline definitions directly following other definitions. Fixed it, new bugfix release should be available around this evening.
Comment by Gina Häußge (foosel) - Friday, 05 December 2008, 12:56 GMT+2
Actually, this (the comments following the definition statements) is the intended use case for doxypy. You actually have discovered a bug. If no documentation for the _class_ follows after a class definition, the first method (in your case your constructor) is not acknowledged correctly and simply ignored in doxypy's processing. I'll changed the type of this ticket to "bugreport" and see if I can find out what's wrong there.

Loading...