#NEWLINE# def _get_item( self , path , links = None ) : #NEWLINE# #INDENT# node = self . _fetch_node ( path , normalized = True ) #NEWLINE# if ( 'target' in node . metadata ) : #NEWLINE# #INDENT# path = node . metadata [ 'target' ] #NEWLINE# if ( links is None ) : #NEWLINE# #INDENT# links = [ ] #NEWLINE# #UNINDENT# if ( path in links ) : #NEWLINE# #INDENT# raise ValueError ( ( 'Recursive link following not allowed (loop %s detected)' % ( links + [ path ] ) ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# links . append ( path ) #NEWLINE# #UNINDENT# return self . _get_item ( path , links = links ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return self . _copier ( node . metadata [ 'value' ] )