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 rstgen.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…

In I had:

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 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 now also shows the data problems (i.e. lino.modlib.checkdata.ProblemsByController which now uses a summary panel and whose detail_layout I optimized).


I moved the docstrings from the lino_xl.lib.coachings module to the coachings : Managing coachings page.

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


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