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
$ ./make_snapshot.sh # just in case
$ a
$ pip uninstall atelier
$ pip install -U rstgen etgen lino lino_xl lino_welfare lino_weleup
$ nano settings.py # edit checkdata.responsible_user and title
$ python manage.py run checkdata_delete_all.py
$ python manage.py checkdata cal.ObsoleteEventTypeChecker --fix
$ python manage.py checkdata
$ sudo service apache2 start
$ sudo service supervisor start
The checkdata_delete_all.py 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/models.py", 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
lino.core.site.Site.startup_time. This is an untested theoretical bug
fix.
Changes in Lino (they don’t get these today):
New command-line option
--pruneforcheckdata.Fix a bug that caused Lino to fail processing database rows with invalid choicelist value even when
lino.core.site.Site.strict_choicelist_valueswas set to False.Fix a bug in
lino.modlib.ipdictthat caused Lino to not show the list of connections when one connection managed to have nolast_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