From: Michael Tremer Date: Fri, 2 Jun 2017 17:03:00 +0000 (+0200) Subject: errors: Print a nice message on dependency errors X-Git-Tag: 0.9.28~1285^2~1335 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8cf2641992ca36568d40020e2ddd67377452bdff;p=pakfire.git errors: Print a nice message on dependency errors Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/errors.py b/src/pakfire/errors.py index e8236f7e6..6524638c1 100644 --- a/src/pakfire/errors.py +++ b/src/pakfire/errors.py @@ -55,7 +55,31 @@ class DatabaseError(Error): class DependencyError(Error): exit_code = 4 - message = _("One or more dependencies could not been resolved.") + def __init__(self, request): + Error.__init__(self) + + # Request object that could not be solved + self.request = request + + @property + def message(self): + lines = [ + _("One or more dependencies could not been resolved"), + "", # empty line + ] + + for problem in self.request.problems: + lines.append("%s" % problem) + + lines.append(_("Possible solutions are:")) + for solution in problem.solutions: + lines.append(" %s" % solution) + + # Add another empty line + lines.append("") + + return "\n".join(lines) + class DownloadError(Error): message = _("An error occured when pakfire tried to download files.")