# Monday, September 25, 2017¶

## Coverage and Atelier¶

I continued to work in Atelier for #2074. The default values for coverage_command and prep_command have changed and are now defined atelier.invlib.ns together with the others. I completely removed special handling of projects having a pytest.ini file.

One visible result is that the test coverage of atelier increased from 20% to 40% (under Python 3).

Under Python 3, in atelier.sphinxconf.insert_input, I had a TypeError a bytes-like object is required, not 'str'. Had to do with the from io import BytesIO as StringIO in that module. It was about decoding the output of a subprocess…

WARNING: Inline emphasis start-string without end-string.


but funnily only under Python 3. It took me some time to figure out that it was caused by:

from builtins import map


It seems that the map() function has the following docstring under Python 3:

map(func, *iterables) –> map object


I fixed the problem by just removing the import statement, together with similar lines for range and object. I continue to not understan the purpose of these imports.

## Optimizations in Lino Avanti¶

I checked in the code changes I did on Saturday.

Users can now filter clients by coaching type. lino_xl.lib.coachings.Coachable mixin.

The presence_sheet.weasy.html template didn’t show the names. Fixed. And it now shows the state (and remark) of the lino_xl.lib.cal.Guest object if such an object exists. If no Guest object exists, it continues to print eiterh X or blank based on the end_date and start_date of the enrolment.

TODO: ATM this is still a single template used by both Lino Avanti and Lino Voga. Their usage is quite different though, and I guess that sooner or later we will need to split this template into two. The interesting question will then be how to keep as much as possible within a common base template.

The quick_search_fields of lino_avanti.lib.avanti.Client now includes the ref field.

The detail window of lino_avanti.lib.courses.Enrolment now also shows the data problems (i.e. lino.modlib.checkdata.ProblemsByController which now uses a summary panel and whose detail_layout I optimized).

## Documentation¶

I moved the docstrings from the lino_xl.lib.coachings module to the The coachings plugin page.

Lino surprised me once more: The help text of the coaching_type field is indeed given in the The coachings plugin page.

## release@avanti¶

I upgraded their production site because all items of #2075 are done.