def print_error(error): model = ErrorModel.create(json.loads(error['message']['data'])) red, reset = _get_colors() sys.stdout.write("{red}{time} [{severity}]{reset} Actor: {actor} Message: {message}\n".format( red=red, reset=reset, severity=model.severity.upper(), message=model.message, time=model.time, actor=model.actor)) if model.details: print('Detail: ' + pformat(json.loads(model.details)))
def create_report_from_error(error_dict): """ Convert error json to report json """ error = ErrorModel.create(error_dict) entries = [Title(error.message), Summary(error.details or ""), Severity('high'), Audience('sysadmin')] report = _create_report_object(entries) return json.loads(report.dump()['report'])
def print_error(error): model = ErrorModel.create(json.loads(error['message']['data'])) sys.stdout.write("{red}{time} [{severity}]{reset} Actor: {actor}\nMessage: {message}\n".format( red=Color.red, reset=Color.reset, severity=model.severity.upper(), message=model.message, time=model.time, actor=model.actor)) if model.details: print('Summary:') details = json.loads(model.details) for detail in details: print(' {k}: {v}'.format( k=detail.capitalize(), v=details[detail].rstrip().replace('\n', '\n' + ' ' * (6 + len(detail)))))
def report_error(self, message, severity, actor, details): """ Reports an execution error :param message: Message to print the error :type message: str :param severity: Severity of the error :type severity: ErrorSeverity :param actor: Actor name that produced the message :type actor: leapp.actors.Actor :param details: A dictionary where additional context information can be passed along with the error :type details: dict :return: None """ if details: details = json.dumps(details) model = ErrorModel(message=message, actor=actor.name, severity=severity, details=details, time=datetime.datetime.utcnow()) self._do_produce(model, actor, self._errors)