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