return 128 + signal.SIGINT
+ except DependencyError as e:
+ self.ui.message(_("One or more dependencies could not been resolved"))
+ self.ui.message("") # empty line
+
+ # This exception provides a list of all problems
+ problems, = e.args
+
+ # List all problems
+ for problem in problems:
+ self.ui.message(" * %s" % problem)
+
+ self.ui.message(" %s" % _("Possible solutions are:"))
+ for solution in problem.solutions:
+ self.ui.message(" * %s" % solution)
+
+ # Add another empty line
+ self.ui.message("")
+
+ return 4
+
# Catch all errors and show a user-friendly error message.
except Error as e:
self.ui.message(_("An error has occured when running Pakfire"), level=logging.CRITICAL)
from .i18n import _
+from ._pakfire import DependencyError
+
class commandTimeoutExpired(Exception):
pass # XXX cannot be as is
class DatabaseError(Error):
pass
-class DependencyError(Error):
- exit_code = 4
-
- 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.")