Friday, March 15, 2019

Today I changed my default Python environment from py27 to py36.

Support Python 3 (by using feedgen instead of feedformatter)

My sphinxfeed fork now works under Python 3.

To generate the RSS feeds for my blogs I used sphinxfeed. Which uses feedformatter, which is dead. So I had replace it. See also Thursday, February 28, 2019. But which replacement to choose? There is Santiago Valdarrama’s rfeed, but Lars Kiesow’s feedgen seems a better choice because GitHub shows 31 contributors and last commit was in December 2018.

The change was not fully trivial because the APIs differ quite much. sphinxfeed now needs dateutil to find the local timezone which is now required for generating the RSS file.

Related commits:

  • 2019-03-15 06:16 in sphinxfeed: 1d25ae7

  • 2019-03-15 06:25 in blog: 787415d

  • 2019-03-15 12:26 in patrols: 3a3a7c1

  • 2019-03-15 12:26 in logos: 38333c4

Result: All my blogs are now being built under Python 3.

On this thread TormodLandet writes that sphinxcontrib-newsfeed supports Python 3 since 2015. Why am I not using this? I vaguely remember that I did use it in the beginning but were not satisfied because it is more difficult to configure and requires more everyday typing.

React front-end for Lino getting ready

I did #2889: All references to tickets in this blog (made using ticket) now link to hobbit instead of bugs. For me this was just a setting in my file, but for Lino it is a historic step: it shows that the React front end for Lino front-end is now far enough to start using it. There are still some quirks, but for everyday work it is usable. We started using it on our Lino Noi instance at

Related commits:

  • 2019-03-15 12:26 in blog: b8204c4

Lino Presto continued

Alle händisch erstellten Rechnungen (G, GH, R…) werden jetzt nicht mehr als Aufträge erfasst, sondern als Verkaufsrechnungen. Pro Arbeitsbereich ein eigenes Journal. Die Nummern der händischen Rechnungen werden bis auf weiteres (wenn überhaupt) im Feld Betreff eingegeben. (Oder muss hier eine Kontrolle stattfinden? Und wenn ja, wie soll das vor sich gehen?)


  • Removed bevats plugin as they don’t use it

  • This required to define at least one VAT regime in lino_xl.lib.vat

  • lino_xl.lib.ledger.MatchRule now has allow_cascaded_delete set to “journal” (when you delete a journal, related match rules should delete automatically)

  • Presto demo fixture removes Journals SLS and SLC.


  • New journals have no match rules

  • hide VAT related fields