#441: BibExport: bug when adding job with already existing name
-----------------------+----------------------------------------------------
 Reporter:  jcaffaro   |       Owner:     
     Type:  defect     |      Status:  new
 Priority:  minor      |   Milestone:     
Component:  BibExport  |     Version:     
 Keywords:             |  
-----------------------+----------------------------------------------------
 An exception is raised when adding a new BibExport job with a name that
 already exists:

 {{{
 Traceback (most recent call last):
   File "/usr/lib/python2.6/dist-
 packages/invenio/webinterface_handler_wsgi.py", line 368, in application
     ret = invenio_handler(req)
   File "/usr/lib/python2.6/dist-packages/invenio/webinterface_handler.py",
 line 334, in _profiler
     return _handler(req)
   File "/usr/lib/python2.6/dist-packages/invenio/webinterface_handler.py",
 line 376, in _handler
     return root._traverse(req, path, False, guest_p)
   File "/usr/lib/python2.6/dist-packages/invenio/webinterface_handler.py",
 line 224, in _traverse
     return obj._traverse(req, path, do_head, guest_p)
   File "/usr/lib/python2.6/dist-packages/invenio/webinterface_handler.py",
 line 237, in _traverse
     result = _check_result(req, obj(req, form))
   File "/usr/lib/python2.6/dist-
 packages/invenio/bibexport_method_fieldexporter_webinterface.py", line
 180, in edit_job
     language = language)
   File "/usr/lib/python2.6/dist-
 packages/invenio/bibexport_method_fieldexporter.py", line 302, in
 perform_request_save_job
     return fieldexporter_dblayer.save_job(user_id, job)
   File "/usr/lib/python2.6/dist-
 packages/invenio/bibexport_method_fieldexporter_dblayer.py", line 528, in
 save_job
     return _insert_job(user_id, job)
   File "/usr/lib/python2.6/dist-
 packages/invenio/bibexport_method_fieldexporter_dblayer.py", line 676, in
 _insert_job
     job.get_output_directory()
   File "/usr/lib/python2.6/dist-packages/invenio/dbquery.py", line 160, in
 run_sql
     rc = cur.execute(sql, param)
   File "/usr/lib/pymodules/python2.6/MySQLdb/cursors.py", line 166, in
 execute
     self.errorhandler(self, exc, value)
   File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 35, in
 defaulterrorhandler
     raise errorclass, errorvalue
 IntegrityError: (1062, "Duplicate entry 'foo' for key 'jobname'")
 Locals by frame, innermost last
 }}}

 A similar exception is produced when trying to edit an existing job, and
 rename it to an already existing name:

 {{{
 Traceback (most recent call last):
   File "/usr/lib/python2.6/dist-
 packages/invenio/webinterface_handler_wsgi.py", line 368, in application
     ret = invenio_handler(req)
   File "/usr/lib/python2.6/dist-packages/invenio/webinterface_handler.py",
 line 334, in _profiler
     return _handler(req)
   File "/usr/lib/python2.6/dist-packages/invenio/webinterface_handler.py",
 line 376, in _handler
     return root._traverse(req, path, False, guest_p)
   File "/usr/lib/python2.6/dist-packages/invenio/webinterface_handler.py",
 line 224, in _traverse
     return obj._traverse(req, path, do_head, guest_p)
   File "/usr/lib/python2.6/dist-packages/invenio/webinterface_handler.py",
 line 237, in _traverse
     result = _check_result(req, obj(req, form))
   File "/usr/lib/python2.6/dist-
 packages/invenio/bibexport_method_fieldexporter_webinterface.py", line
 180, in edit_job
     language = language)
   File "/usr/lib/python2.6/dist-
 packages/invenio/bibexport_method_fieldexporter.py", line 302, in
 perform_request_save_job
     return fieldexporter_dblayer.save_job(user_id, job)
   File "/usr/lib/python2.6/dist-
 packages/invenio/bibexport_method_fieldexporter_dblayer.py", line 526, in
 save_job
     return _update_job(job)
   File "/usr/lib/python2.6/dist-
 packages/invenio/bibexport_method_fieldexporter_dblayer.py", line 703, in
 _update_job
     job.get_id()
   File "/usr/lib/python2.6/dist-packages/invenio/dbquery.py", line 160, in
 run_sql
     rc = cur.execute(sql, param)
   File "/usr/lib/pymodules/python2.6/MySQLdb/cursors.py", line 166, in
 execute
     self.errorhandler(self, exc, value)
   File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 35, in
 defaulterrorhandler
     raise errorclass, errorvalue
 IntegrityError: (1062, "Duplicate entry 'bar' for key 'jobname'")
 Locals by frame, innermost last
 }}}

-- 
Ticket URL: <http://invenio-software.org/ticket/441>
Invenio <http://invenio-software.org>

Reply via email to