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