Thursday, July 23, 2020

Now that the big move to Python 3 is finally done (after 20 months of stable operation), weleup will become more active again.

Steve and I decided that lino_welfare.modlib.pcsw.IdentityChecker is useless and gets deactivated.

The lino_xl.lib.coachings.ClientChecker mixin was duplicated lino_welfare.modlib.pcsw. Actually it should be named CoachableChecker, but that’s a minor naming inconsistency.

The checkdata message “Similar clients” appeared in English and not in the language of the responsible user. That was because the checker did this:

msg = _("Similar clients: {clients}").format(
    clients=', '.join([str(i) for i in lst]))
yield (False, msg)

The correct way is like this:

msg = format_lazy(_("Similar clients: {clients}"),
    clients=', '.join([str(i) for i in lst]))
yield (False, msg)

After-release on weleup site

First minor upgrade with above changes plus those since their code freeze (20200720), including especially the reorganization into new package rstgen.

Releases to PyPI with today’s work: xl 20.7.7, welfare 20.7.2, weleup 20.7.1

Todo on the server:

$ sudo service apache2 stop
$ sudo service supervisor stop
$ go prod
$ ./  # just in case
$ a
$ pip uninstall atelier
$ pip install -U rstgen etgen lino lino_xl lino_welfare lino_weleup
$ nano  # edit checkdata.responsible_user and title
$ python run
$ python checkdata cal.ObsoleteEventTypeChecker --fix
$ python checkdata
$ sudo service apache2 start
$ sudo service supervisor start

The script is a quick workaround for the problem that Lino does not (yet) delete “invalid” checkdata messages (i.e. messages with an unknown checker).

They had a traceback caused by lino.modlib.ipdict:

  File ".../lino/modlib/ipdict/", line 46, in get_data_rows
    key=lambda x: x.last_request))
TypeError: '<' not supported between instances of 'datetime.datetime' and 'NoneType'

I don’t know how they managed to do this, but indeed it is obviously possible to have an lino.modlib.ipdict.IPRecord instance with last_request being None. Okay, let’s sort them as if their last_request was This is an untested theoretical bug fix.

Changes in Lino (they don’t get these today):

  • New command-line option --prune for checkdata.

  • Fix a bug that caused Lino to fail processing database rows with invalid choicelist value even when was set to False.

  • Fix a bug in lino.modlib.ipdict that caused Lino to not show the list of connections when one connection managed to have no last_request. Not reproduced and not tested.

Review dockerfiles for getlino

$ docker container rm mycont $ docker run -it –name mycont debian_with_getlino /bin/bash $ docker start mycont $ docker attach mycont