Wednesday, February 25, 2015¶
Learning from yesterday¶
I solved #107, at least theoretically. To be tested on the field by #108.
A ticket for Mahmoud¶
Created new #109 and assigned it to Mahmoud.
Miscellaneous¶
Created new #110. This is waiting for confirmation from Chatelet.
Final sprint in Eupen¶
Recorded and fixed a subtle new ticket #111.
First of all there was a translation problem: “Ausgestellte Bescheinigungen” –> “Ausgestellte Bestätigungen”
The problem was in
lino.modlib.excerpts.models.post_init_excerpt()
when setting the default language of a new excerpt. I had been thinking that therecipient
overrides theowner
, but as it turns out it is the opposite: the owner overrides the recipient. This rule is important when they specify both a recipient and a language on theConfirmation
.
setup() got an unexpected keyword argument ‘known_values’¶
Created new #112 and fixed it. Here is the exception:
WARNING AjaxExceptionResponse:
TypeError
setup() got an unexpected keyword argument 'known_values'
TRACEBACK:
File "/home/luc/pythonenvs/py27/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 112, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/luc/pythonenvs/py27/local/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view
return self.dispatch(request, *args, **kwargs)
File "/home/luc/pythonenvs/py27/local/lib/python2.7/site-packages/django/views/generic/base.py", line 87, in dispatch
return handler(request, *args, **kwargs)
File "/home/luc/hgwork/lino/lino/modlib/extjs/views.py", line 208, in get
return settings.SITE.kernel.run_callback(request, thread_id, button_id)
File "/home/luc/hgwork/lino/lino/core/kernel.py", line 507, in run_callback
c.func(ar)
File "/home/luc/hgwork/lino/lino/modlib/beid/mixins.py", line 370, in yes
return self.goto_client_response(ar2, obj, msg)
File "/home/luc/hgwork/lino/lino/modlib/beid/mixins.py", line 297, in goto_client_response
ar.goto_instance(obj)
File "/home/luc/hgwork/lino/lino/core/requests.py", line 886, in goto_instance
self.set_response(data_record=self.elem2rec_detailed(obj))
File "/home/luc/hgwork/lino/lino/core/requests.py", line 695, in elem2rec_detailed
rec = ar.elem2rec1(rh, elem, **rec)
File "/home/luc/hgwork/lino/lino/core/requests.py", line 666, in elem2rec1
rec.update(data=rh.store.row2dict(ar, elem))
File "/home/luc/hgwork/lino/lino/core/store.py", line 1166, in row2dict
v = fld.full_value_from_object(row, ar)
File "/home/luc/hgwork/lino/lino/core/store.py", line 337, in full_value_from_object
return self.vf.value_from_object(obj, ar)
File "/home/luc/hgwork/lino/lino/core/fields.py", line 435, in value_from_object
return m(obj, ar)
File "/home/luc/hgwork/lino/lino/modlib/uploads/choicelists.py", line 100, in f
known_values=dict(type=utype))
File "/home/luc/hgwork/lino/lino/core/requests.py", line 267, in spawn_request
return self.__class__(**kw)
File "/home/luc/hgwork/lino/lino/core/requests.py", line 186, in __init__
self.setup(**kw)
[25/Feb/2015 14:00:13] "GET /callbacks/-1064089634/yes?_dc=1424865612749 HTTP/1.1" 500 2183
The problem was in lino.core.kernel.Kernel.run_callback()
who
created the callback request always as an instance of
ActorRequest
. But most
requests are instances of TableRequest
instances. We must take care to
create the right class.
Left for a future occasion: Why did
lino_welfare.projects.std.tests.test_beid
not find this bug?
Write a test case which would have detected the problem.
Applets using “resources from the remote locations”¶
When I go to a Lino site with DavLink and eidreader, I currently always need to manually confirm two exceptions:
The application [DavLink|EIDReader] from http://127.0.0.1:8000/ uses resources from the following remote locations:
Are you sure you want to run this application?
For more information see:and
Tutorials and the test suite¶
I noted that The Lino Polls tutorial is part of the test suite, but
it is not a demo project (see demo_projects
). This means that running the
Lino test suite does currently not create a persitent cached demo
database and a media/cache of that project. To get that, we would
need to move the Python code from /docs to /lino (i.e. to
somewhere under lino.projects
). That’s needed when running the
test suite on Travis. This move would require substantial changes in
the text. But it would have another advantage: we would be able to
write more than one tested document about the same demo project.