#96: BibUpload: broken holding pen upload
-----------------------+----------------------------------------------------
Reporter: simko | Owner:
Type: defect | Status: new
Priority: blocker | Milestone: v1.0
Component: BibUpload | Version:
Keywords: |
-----------------------+----------------------------------------------------
1) The holding pen option combined with a regular correct option
{{{-o -c}}} makes the changeset to go straight into the production
database. It should not.
2) Uploading with {{{-o}}} only gives the following crash:
{{{
File "/usr/lib/python2.5/site-packages/invenio/bibtask.py", line 817, in
_task_run
if callable(task_run_fnc) and task_run_fnc():
File "/usr/lib/python2.5/site-packages/invenio/bibupload.py", line 1964,
in task_run_core
insert_record_into_holding_pen(record, record_id)
File "/usr/lib/python2.5/site-packages/invenio/bibupload.py", line 439,
in insert_record_into_holding_pen
bibrec_ids = find_record_ids_by_oai_id(oai_id) # here determining the
identifier of the record
File "/usr/lib/python2.5/site-packages/invenio/bibupload.py", line 416,
in find_record_ids_by_oai_id
recids1 = search_pattern(p=oaiId, f=CFG_BIBUPLOAD_EXTERNAL_OAIID_TAG,
m='e').tolist()
File "intbitset.pyx", line 738, in lib.intbitset.intbitset.tolist
(intbitset.c:8362)
OverflowError: It's impossible to retrieve a list of an infinite set
}}}
The test input file for the above cases was:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<collection xmlns="http://www.loc.gov/MARC21/slim">
<record>
<controlfield tag="001">54</controlfield>
<datafield tag="700" ind1=" " ind2=" ">
<subfield code="a">Kleefeld, F</subfield>
</datafield>
<datafield tag="700" ind1=" " ind2=" ">
<subfield code="a">Newcomer, Y</subfield>
</datafield>
<datafield tag="700" ind1=" " ind2=" ">
<subfield code="a">Rupp, G</subfield>
</datafield>
<datafield tag="700" ind1=" " ind2=" ">
<subfield code="a">Scadron, M D</subfield>
</datafield>
</record>
</collection>
}}}
3) The BibUpload Admin Guide should be updated with the information
about holding pen upload.
4) A few regression test cases should be written to prevent the above
problems from happening again.
--
Ticket URL: <http://invenio-software.org/ticket/96>
Invenio <http://invenio-software.org>