def retrieve(self, key_term):
if key_term not in self.key_terms:<EOL><INDENT>raise IndexError('<STR_LIT>')<EOL><DEDENT>store = self._store<EOL>retrieved = []<EOL>for key in list(store.keys()):<EOL><INDENT>record = copy.deepcopy(store[key])<EOL>if len(record) > <NUM_LIT:0>:<EOL><INDENT>if key_term == '<STR_LIT>':<EOL><INDENT>retrieved.append(key)<EOL><DEDENT>else:<EOL><INDENT>retrieved.append(record[<NUM_LIT:0>][key_term])<EOL><DEDENT><DEDENT><DEDENT>if re.search('<STR_LIT:path>', key_term):<EOL><INDENT>retrieved = [[r2 for r2 in r1.split('<STR_LIT:|>')[<NUM_LIT:1>:]] for r1 in retrieved]<EOL><DEDENT>return retrieved<EOL>
Return data for key term specified for each resolved name as a list.
Possible terms (02/12/2013): 'query_name', 'classification_path',
'data_source_title', 'match_type', 'score', 'classification_path_ranks',
'name_string', 'canonical_form',\
'classification_path_ids', 'prescore', 'data_source_id', 'taxon_id',
'gni_uuid