#533: WebBasket: more robust tmpl_create_pseudo_item()
-----------------------+-----------------
Reporter: jcaffaro | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: WebBasket | Version:
Keywords: |
-----------------------+-----------------
Function webbasket_templates.tmpl_create_pseudo_item() does fail when it
is trying to extract the information to display from the DB-stored HB
representation. The following can occur when the HB output does not have
the expected format (i.e. not on 3 lines, with title, abstract and URL)
{{{
Traceback (most recent call last):
File "/usr/lib64/python2.4/site-
packages/invenio/webinterface_handler.py", line 376, in _handler
return root._traverse(req, path, False, guest_p)
File "/usr/lib64/python2.4/site-
packages/invenio/webinterface_handler.py", line 224, in _traverse
return obj._traverse(req, path, do_head, guest_p)
File "/usr/lib64/python2.4/site-
packages/invenio/webinterface_handler.py", line 237, in _traverse
result = _check_result(req, obj(req, form))
File "/usr/lib64/python2.4/site-
packages/invenio/webbasket_webinterface.py", line 1271, in display_public
ln=argd['ln'])
File "/usr/lib64/python2.4/site-packages/invenio/webbasket.py", line
136, in perform_request_display_public
ln)
File "/usr/lib64/python2.4/site-packages/invenio/webbasket.py", line
232, in __display_public_basket
ln)
File "/usr/lib64/python2.4/site-
packages/invenio/webbasket_templates.py", line 2957, in tmpl_public_basket
ln)
File "/usr/lib64/python2.4/site-
packages/invenio/webbasket_templates.py", line 3108, in
tmpl_public_basket_content
ln=ln)
File "/usr/lib64/python2.4/site-
packages/invenio/webbasket_templates.py", line 3199, in
__tmpl_public_basket_item
out = out % {'count': count,
File "/usr/lib64/python2.4/site-
packages/invenio/webbasket_templates.py", line 3713, in
tmpl_create_pseudo_item
(es_title, es_desc, es_url) = tuple(item.split('\n'))
ValueError: need more than 1 value to unpack
Locals by frame, innermost last
}}}
The function should at least be more robust, if not smarter.
--
Ticket URL: <http://invenio-software.org/ticket/533>
Invenio <http://invenio-software.org>