equal
deleted
inserted
replaced
52 |
52 |
53 |
53 |
54 class Abort(Hint, Exception): |
54 class Abort(Hint, Exception): |
55 """Raised if a command needs to print an error and exit.""" |
55 """Raised if a command needs to print an error and exit.""" |
56 |
56 |
57 def __init__(self, message, hint=None, detailed_exit_code=None): |
57 def __init__( |
|
58 self, message, hint=None, coarse_exit_code=None, detailed_exit_code=None |
|
59 ): |
58 # type: (bytes, Optional[bytes]) -> None |
60 # type: (bytes, Optional[bytes]) -> None |
59 self.message = message |
61 self.message = message |
60 self.hint = hint |
62 self.hint = hint |
|
63 self.coarse_exit_code = coarse_exit_code |
61 self.detailed_exit_code = detailed_exit_code |
64 self.detailed_exit_code = detailed_exit_code |
62 # Pass the message into the Exception constructor to help extensions |
65 # Pass the message into the Exception constructor to help extensions |
63 # that look for exc.args[0]. |
66 # that look for exc.args[0]. |
64 Exception.__init__(self, message) |
67 Exception.__init__(self, message) |
65 |
68 |
190 super(WorkerError, self).__init__(status_code) |
193 super(WorkerError, self).__init__(status_code) |
191 |
194 |
192 __bytes__ = _tobytes |
195 __bytes__ = _tobytes |
193 |
196 |
194 |
197 |
195 class InterventionRequired(Hint, Exception): |
198 class InterventionRequired(Abort): |
196 """Exception raised when a command requires human intervention.""" |
199 """Exception raised when a command requires human intervention.""" |
197 |
200 |
198 __bytes__ = _tobytes |
201 def __init__(self, message, hint=None): |
|
202 super(InterventionRequired, self).__init__( |
|
203 message, hint=hint, coarse_exit_code=1, detailed_exit_code=240 |
|
204 ) |
|
205 |
|
206 def format(self): |
|
207 # type: () -> bytes |
|
208 from .i18n import _ |
|
209 |
|
210 message = _(b"%s\n") % self.message |
|
211 if self.hint: |
|
212 message += _(b"(%s)\n") % self.hint |
|
213 return message |
199 |
214 |
200 |
215 |
201 class ConflictResolutionRequired(InterventionRequired): |
216 class ConflictResolutionRequired(InterventionRequired): |
202 """Exception raised when a continuable command required merge conflict resolution.""" |
217 """Exception raised when a continuable command required merge conflict resolution.""" |
203 |
218 |