Tuesday, November 29, 2016

Reproducing problems under appy.pod

This morning I saw a failing build for Lino Noi on Travis CI (indentation added for readability):

EvaluationError: Problem installing fixture
'/home/travis/virtualenv/python2.7.9/src/lino-xl/lino_xl/lib/excerpts/fixtures/demo2.py':
Error while evaluating the expression "html(body)" defined in
the "from" part of a statement.
Exception: 20150923 html2xhtml(u'Release notes for milestone
    <b>welket:2015-05-03</b>.\n\n\nReleased on 3 May
    2015.\n\n\nPlanned for 3 May 2015.\n\n\n\n\n<div><h2>Deployed
    tickets</h2><table><tbody>No data to
    display</tbody></table></div>\n\n<div><h2>Other
    tickets</h2><table><tbody>No data to
    display</tbody></table></div>\n\n') failed:
Could not load libtidy using any of these names:
libtidy,libtidy.so,libtidy-0.99.so.0,cygtidy-0-99-0,tidylib,libtidy.dylib,tidy

Which told me that the .travis.yml file for Lino Noi did not install tidy.

That error reminds me a problem which Grigorij is having when running the test suite for Lino Welfare. His problem looks as if something is going wrong during the generation of the .odt files. Lino produces them using appy.pod (which creates temporary directories and deletes them afterwards if everything went well). And with appy.pod, when something goes wrong, it can happen that the original error message is difficult to find.

I noticed that the instructions for installing tidy were missing under System requirements in Install your Lino developer environment.

So, Grigorij, I recommend to run this:

$ sudo apt-get install tidy

And also note the new note in How to update your copy of the repositories:

it can happen that Lino’s dependencies change. And simply pulling new sources won’t update these. To prevent problems caused by obsolete or missing dependencies, the easiest way can be to create a new virtualenv (as explained in Set up a virtual Python environment).

Rumma & Ko participates in MobiliseSME

I registered Rumma & Ko at MobiliseSME in the hope of finding a matching company. After some general description copied from our website I added:

We would welcome (1) system administrators who want to learn how to install and maintain a Lino site or (2) independent developers who want to develop a Lino application for themselves or their employer. Or (3) you can ask us to come to your place and help your IT team getting started with Lino. Sessions should not be longer than two weeks.

Wake up lino.api.selenium

I tried to reactivate the Tour de Lino. This document is (or rather was) being automatically generated using lino.api.selenium by the make_screenshots.py script. That script stopped to work at some version of Selenium.

One problem is that driver.get() does not wait if the server is just starting up and therefore not even yet responding to connection requests. The only workaround is currently to run the webserver process in a different terminal.

And even then, the lino.api.selenium.Album.activate() method now seems to fail. It does not wait until the page has been rendered. Yes, this is tricky magic. And now something has broken.

No, I will give this up for now. Somebody will have to manually make screenshots for the coming presentations. We should make a kind of central collection, though.

Code changes: