Hi Theodoros,

On 11/11/2013 01:38 PM, Theodoros Theodoropoulos wrote:
Hello all,

I recently deleted the demo records in a demo site (running latest
master) by replacing all 113 demo records
with an empty xml containing only 001 and 980__c:DELETED.
For this, I used bibupload -r and everything seemed fine.

But when I tried running:
sudo -u apache /opt/invenio/bin/bibindex -w filetype -R

I got:
2013-11-11 14:20:37 --> Creating new tmp index tables for id 25
2013-11-11 14:20:37 --> tmp_idxWORD25F contains 0 words from 0 records
2013-11-11 14:20:37 --> tmp_idxWORD25F is in consistent state
2013-11-11 14:20:37 --> tmp_idxWORD25F for 1-113 is in consistent state
2013-11-11 14:20:37 --> tmp_idxWORD25F adding records #1-#113 started
2013-11-11 14:20:37 --> Exception caught: argument of type 'NoneType' is
not iterable
2013-11-11 14:20:37 --> Exception caught: argument of type 'NoneType' is
not iterable
2013-11-11 14:20:37 --> tmp_idxWORD25F normal wordtable flush started
2013-11-11 14:20:37 --> ...updating 0 words into tmp_idxWORD25F started
2013-11-11 14:20:37 --> ...updating 0 words into tmp_idxWORD25F ended
2013-11-11 14:20:37 --> ...updating reverse table tmp_idxWORD25R started
2013-11-11 14:20:37 --> ...updating reverse table tmp_idxWORD25R ended
2013-11-11 14:20:37 --> tmp_idxWORD25F normal wordtable flush ended
2013-11-11 14:20:37 --> Traceback (most recent call last):
   File "/usr/lib64/python2.6/site-packages/invenio/bibtask.py", line
984, in _task_run
     if callable(task_run_fnc) and task_run_fnc():
   File "/usr/lib64/python2.6/site-packages/invenio/bibindex_engine.py",
line 1435, in task_run_core
     wordTable.add_recIDs_by_date(task_get_option("modified"),
task_get_option("flush"))
   File "/usr/lib64/python2.6/site-packages/invenio/bibindex_engine.py",
line 821, in add_recIDs_by_date
     self.add_recIDs(alist, opt_flush)
   File "/usr/lib64/python2.6/site-packages/invenio/bibindex_engine.py",
line 757, in add_recIDs
     just_processed = self.add_recID_range(i_low, i_high)
   File "/usr/lib64/python2.6/site-packages/invenio/bibindex_engine.py",
line 883, in add_recID_range
     record = get_record(recID)
   File "/usr/lib64/python2.6/site-packages/invenio/bibfield.py", line
109, in get_record
     record = CFG_BIBFIELD_READERS['bibfield_%sreader.py' %
(blob_wrapper.master_format,)](blob_wrapper)
   File
"/usr/lib64/python2.6/site-packages/invenio/bibfield_jsonreader.py",
line 76, in __init__
     self._translate()
   File
"/usr/lib64/python2.6/site-packages/invenio/bibfield_jsonreader.py",
line 234, in _translate
     self._unpack_rule(json_id, field_name)
   File
"/usr/lib64/python2.6/site-packages/invenio/bibfield_jsonreader.py",
line 261, in _unpack_rule
     return self._apply_virtual_rule(field_name, rule_def['aliases'],
rule_def['rules'], rule_def['type'])
   File
"/usr/lib64/python2.6/site-packages/invenio/bibfield_jsonreader.py",
line 310, in _apply_virtual_rule
     if rule['only_if'] and not all(self._try_to_eval(rule['only_if'])):
   File "/usr/lib64/python2.6/site-packages/invenio/bibfield_utils.py",
line 352, in _try_to_eval
     res = eval(string, globals().update(context), locals())  #
kwalitee: disable=eval
   File "<string>", line 1, in <module>
TypeError: argument of type 'NoneType' is not iterable
2013-11-11 14:20:38 --> Task #123 finished. [CERROR]

The same applies for itemcount index:
sudo -u apache /opt/invenio/bin/bibindex -w itemcount -R

All other indexes work fine.
Can you imagine what's going wrong or should I include the whole stack
from the relevant exception in my mail?

This is happening because this is a virtual field that is not comming from marc directly.

Running inveniocfg --load-bibfield-conf should solve the problem.

Cheers,
    Esteban
--
Esteban J. G. Gabancho
Software Engineer

CERN, IT Department, Digital Library Services Section

Reply via email to