def evaluate_results(self, callback):
for server, result in callback.unreachable.items():<EOL><INDENT>log.error(u'<STR_LIT>'.format(server))<EOL>log.debug(u'<STR_LIT>'.format(pformat(result)))<EOL>if self.api.ignore_unreachable:<EOL><INDENT>continue<EOL><DEDENT>self.trigger_event(server, '<STR_LIT>', (<EOL>self, server<EOL>))<EOL><DEDENT>for server, answer in callback.contacted.items():<EOL><INDENT>success = answer['<STR_LIT:success>']<EOL>result = answer['<STR_LIT:result>']<EOL>if result.get('<STR_LIT>'):  <EOL><INDENT>success = False<EOL><DEDENT>if '<STR_LIT>' in result:<EOL><INDENT>if self.api.is_valid_return_code(result['<STR_LIT>']):<EOL><INDENT>success = True<EOL><DEDENT><DEDENT>if not success:<EOL><INDENT>log.error(u'<STR_LIT>'.format(self, server))<EOL>log.debug(u'<STR_LIT>'.format(pformat(result)))<EOL>if self.api.ignore_errors:<EOL><INDENT>continue<EOL><DEDENT>self.trigger_event(server, '<STR_LIT>', (<EOL>self, server, result<EOL>))<EOL><DEDENT><DEDENT>return RunnerResults({<EOL>'<STR_LIT>': {<EOL>server: answer['<STR_LIT:result>']<EOL>for server, answer in callback.contacted.items()<EOL>}<EOL>})<EOL>
prepare the result of runner call for use with RunnerResults.