def update(self, tids, info):
outputs_dir = os.path.join(info['<STR_LIT>'], '<STR_LIT>')<EOL>pattern = '<STR_LIT>' % info['<STR_LIT>']<EOL>flist = os.listdir(outputs_dir)<EOL>try:<EOL><INDENT>outputs = []<EOL>for tid in tids:<EOL><INDENT>matches = fnmatch.filter(flist, pattern.format(tid=tid))<EOL>if len(matches) != <NUM_LIT:1>:<EOL><INDENT>self.warning("<STR_LIT>" % tid)<EOL><DEDENT>contents = open(os.path.join(outputs_dir, matches[<NUM_LIT:0>]),'<STR_LIT:r>').read()<EOL>outputs.append(self.output_extractor(contents))<EOL><DEDENT>self._next_val = self._update_state(outputs)<EOL>self.trace.append((outputs, self._next_val))<EOL><DEDENT>except:<EOL><INDENT>self.warning("<STR_LIT>")<EOL>self._next_val = StopIteration<EOL><DEDENT>
Called to update the state of the iterator.  This methods
receives the set of task ids from the previous set of tasks
together with the launch information to allow the output
values to be parsed using the output_extractor. This data is then
used to determine the next desired point in the parameter
space by calling the _update_state method.