Friday, December 19, 2014

sphinx.ext.autosummary and imported members

When building the docs for Lino Welfare, Sphinx told me:

Warning, treated as error:
<autodoc>:0: WARNING: Inline substitution_reference start-string without end-string.

Which caused my build to break unless I set my tolerate_sphinx_warnings to True (and I don’t want that).

The offending piece of markup is in Django:

class Q(tree.Node):
    """
    Encapsulates filters as objects that can then be combined logically (using
    & and |).
    """

This string was indeed included in the summary table of lino_welfare.modlib.pcsw.models.

It took me several hours to understand the problem, and finally I posted my solution to the Sphinx tracker as #1654 autosummary should ignore imported members.

A filtering problem on pcsw.Clients

Now let’s have a look at #46.

The problem is in lino_welfare.modlib.pcsw.models.Clients.get_request_queryset(). The solution is probably easy: I must do add_coachings_filter only when an observed_event has been specified.

TODO: The test suite now fails. Which is normal. In general I must write more detailed test cases for the filter parameters of pcsw.Clients. Especially I must analyze whether there is danger of having side effects.