Thursday, August 16, 2018¶
About pushing too quickly to master¶
Oops, yesterday evening Hamza reported a test failure caused by my changes. I quickly answered “These failures are my mistake. I also had them yesterday and fixed them and pushed the fix. So I was just too quick with pushing my changes to github.” Now I ran the test suite again on my machine and saw that there was yet another failure, caused by the fact that I changed the verbose_name of one field from “Sales Base account” to “Sales account”. Such failures are trivial to fix for me because I caused them, but they are not trivial to Hamza.
Switching from Ubuntu Desktop to xfce¶
I tried to switch from Ubuntu Desktop to xfce. Looks sympathic, but
ssh-agent doesn’t seem to work. For every inv pd
I am getting
asked again and again:
Enter passphrase for key '/home/luc/.ssh/id_rsa':
I just want it to work as it does in Ubuntu Desktop: pop up a window when some program needs my passphrase for the first time.
This thread explains how they did a similar solution (asking the password after starting the session, which would be suboptimal for me, but maybe I would get used to it). made me try to install ssh-askpass:
$ sudo apt install ssh-askpass
But no change. I also read this and this, but I don’t understand them. Yes, there are different programs to do this, and it seems not trivial to configure them. I don’t understand why this is such a problem. I don’t want to dive that deep into this, at least not right now. I switch back to Ubuntu Desktop where it works out of the box.
Manually entering invoices - optimizations¶
I had another phone meeting with Vera. She is really doing a hard and frustrating job: she must continue what had been done during 20 years by Lydia who had to stop for health reasons. Both she and me knew in advance that it would be hard. But yesterday morning she told me for the first time that she had had some moments of happiness with Lino.
After the phone meeting I opened #2490. Since Vera is
entering purchase invoices which are half a year old, she didn’t want
Lino to suggest dd.today()
as the entry date for each new
invoice. Also for suppliers having an empty purchase_account
Lino was suggesting the rather arbitrary account I chose as the
base_account
for
purchases.
I added the notion of “Waiting account”: a new choice waiting
in
lino_xl.lib.accounting.CommonAccounts
and changed
lino_xl.lib.vat.VatDocument
so that it uses this as the
default account (instead of the TradeType’s main_account
).
As for the entry date I used the recently discovered approach of using
a new database model lino_xl.lib.accounting.LedgerInfo
with a
OneToOneField (similar to lino_xl.lib.invoicing.SalesRule
,
see Thursday, July 12, 2018). Before that date I would have used
dd.inject_field
in such a
case.
En passant I fixed another stupid bug that would cause frustration
once Vera would discover it: after having registered an invoice, the
insert button was disabled as long as you were in detail view. You
had to close the detail view to re-enable the button. The
ShowInsert
action has now
readonly
= True because
otherwise it was disabled when the current row was a registered
document.
Making Lino installable using pip¶
Hamza, please note that noi, xl, avanti and voga have currently version “18.04.” which causes a UserWarning “Normalizing ‘18.04.0’ to ‘18.4.0’”. The version should be without a leading 0. And it should be set to 18.8.0 for all projects soon (before doing the first official PyPI release).
Lino Tera continued¶
I had a meeting with Daniel, Harry and Gregor about the therapeutic functions in Lino Tera. Here is my new task list.
I closed the release notes for 18.8.0 (2018-08-16) and started a new page Lino Tera die Nächste.
Making Lino installable using pip¶
Hamza and I did research for the release process.
We would like to separate our private temporary package repository from the book because e.g. if Hamza works on the deployment and I change documentation and publish them, the LF site would serve my version of the dl files instead of his version.
One idea was to use twine
directly on test.pypi. Twine has an option --skip-existing
which
should make it possible to overwrite our packages without changing the
version (an important feature since there are quite some issues which
appear only when installing apypi version of Lino). But test.pypi.org
unfortunately doesn’t support this option.
At this point our internet connection broke. But I continued because the solution was so close: using pypiserver I got it to work.
I updated Simulating a release on PyPI and Install your Lino developer environment.
There is still at least one problem (obviously not detected by the
test suite): runserver
starts but does not find the static
files. So there is only a white screen. Hamza, I leave this for you.
See in lino.core.urls
where it adds a pattern to MEDIA_ROOT.
And see how the MEDIA_ROOT setting is set as a child of
lino.core.site.Site.site_dir
in lino.core.site
.