@_memoize_get_file_map
def get_file_map(node, file_map):
 for (key, value) in file_map:
  (yield (key, value, node._id))
 for child in node.nodes_primary:
  for (key, value, node_id) in get_file_map(child):
   (yield (key, value, node_id))

@ _memoize_get_file_map def get_file_map ( node , file_map ) : for ( key , value ) in file_map : ( yield ( key , value , node . _id ) ) for child in node . nodes_primary : for ( key , value , node_id ) in get_file_map ( child ) : ( yield ( key , value , node_id ) )
note:: file_map is injected implictly by the decorator; this method is called like: get_file_map .