:date: 2016-08-08
======================
Monday, August 8, 2016
======================
NameError: global name 'E' is not defined
=========================================
There were still problems with :ticket:`1059` which took me time to
understand. I got an exception :message:`NameError: global name 'E'
is not defined` when trying to print an invoice with a payment_term
which has a `printed_text`, e.g.::
Prepayment 30% ({{obj.total_incl*0.3}})
due {{fds(obj.due_date)}},
remaining {{obj.total_incl - obj.total_incl*0.3}}
due 10 days before delivery.
Prepayment 30% ({{obj.total_incl*Decimal('0.30')}}) due
{{fds(obj.due_date)}}, remaining
{{obj.total_incl - obj.total_incl*Decimal('0.30')}}
due 10 days before delivery.
>>> from decimal import Decimal
>>> price = Decimal('18.00')
>>> print(price * 0.30)
Traceback (most recent call last):
...
TypeError: unsupported operand type(s) for *: 'Decimal' and 'float'
>>> print(price * 30 / 100)
5.40
>>> price - price * 30 / 100
Decimal('12.60')
Miscellaneous
=============
Jason S asked for `help about how "breadcrumbs" (relbar "parents"
list) work
`_,
and Komiya answered, and I tried that trick for :ref:`book`. I think
the breadcrumbs bar ("relbar") is indeed more intuitive when it
includes the current page. For example
http://lino-framework.org/dev/install.html
Lino Welfare
============
The `esf_field` is now included in the detail of a calendar event
type. This is the first use case of a field defined as DummyField on
the model and then "overridden" (or rather converted into a real
field) if :mod:`lino_welfare.modlib.esf` is installed.
New ESF field type :class:`GuestHoursFixed` because we realized that
they don't want the number of presences (:class:`GuestCount`) but a
fixed time per presence. For information sessions it is 2 hours per
presence, for the other fields it is 1 hour per presence.
'extra' does not exist in evaluation environment
================================================
:cmd:`inv mm` said::
pkg_resources._vendor.packaging.markers.UndefinedEnvironmentName: 'extra' does not exist in evaluation environment.
::
$ pip install -U setuptools
Collecting setuptools
Using cached setuptools-25.1.6-py2.py3-none-any.whl
Installing collected packages: setuptools
Found existing installation: setuptools 25.1.1
Uninstalling setuptools-25.1.1:
Successfully uninstalled setuptools-25.1.1
Successfully installed setuptools-25.1.6