Hi Theodoros,

In data martedì 29 gennaio 2013 10:42:51, Theodoros Theodoropoulos ha scritto:
> I need to import a few thousand records (that were converted to marcxml
> from RefWorks format using bibconvert) into my Invenio instance.
> Because of the complexity of the original records -and mainly because
> not all users followed the instructions when filling the Refworks forms-
> the final records may lack some important fields to us (like 100$a or
> 260$c).
> So, i was wondering if there is way to check the produced marcxml file
> before importing it into the system and bibcheck came to my mind... It
> seems however, that although bibcheck web admin is there, there is no
> bibcheck cli... Is this module still in use? I also remember vaguely
> that they were plans to add checking functions in bibedit (web/cli)...
> With these in mind, do you have any suggestion as to what is currently
> the best way to check records that exist either in a marcxml file or in
> the holding pen?

there is an old Lisp implementation of bibcheck that was never committed into 
the Invenio repository but that is the one referenced by the web admin. (Tibor 
can tell you more about that).

Indeed we plan to re-implement this in Python using our plugin-based 
infrastructure, to allow for all sorts of checks (and automatic, when 
possible, correctors).

<http://invenio-software.org/wiki/Talk/BibCheck>

The tool need still to be implemented though :-)

So for the time being I'd suggest you to write a custom script that exploits 
the BibRecord library.

Basically:

[...]
#!/usr/bin/env python

import sys
from invenio.bibrecord import create_records, record_get_field_instances, \     
    
                              field_get_subfield_instances
for record, status_code, list_of_errors in create_records(sys.stdin.read()):
    ### here in record you have dictionary representation of a record
    ### with record_get_field_instances and field_get_subfield_instances
    ### you can extract all sorts of fields, values etc. and do your checks...
[...]

Hope this helps.

Cheers!
        Sam
-- 
Samuele Kaplun
Invenio Developer ** <http://invenio-software.org/>

Reply via email to