#NEWLINE# def remove_index( self , index , value , root_prefix_level = 2 , cb = None ) : #NEWLINE# #INDENT# '\n        Remove value (typically a node id) from the storage as a set.\n        index: a string with slash as delimiter for finer level of index,\n               e.g. node/address/example_street/3/buildingA/level3/room3003,\n               node/affiliation/owner/com.ericsson/Harald,\n               node/affiliation/name/com.ericsson/laptop\n        value: the value that is to be removed from the set stored at each level of the index\n        root_prefix_level: the top level of the index that can be searched,\n               with =1 then e.g. node/address, node/affiliation\n        cb: will be called when done.\n        ' #NEWLINE# _log . debug ( ( 'remove index %s: %s' % ( index , value ) ) ) #NEWLINE# indexes = self . _index_strings ( index , root_prefix_level ) #NEWLINE# for i in indexes [ : ] : #NEWLINE# #INDENT# self . remove ( prefix = 'index-' , key = i , value = [ value ] , cb = ( CalvinCB ( self . index_cb , org_cb = cb , index_items = indexes ) if cb else None ) )