#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>

Reply via email to