Make error messages look a little nicer
This commit is contained in:
@@ -206,7 +206,16 @@ class BaseCommand(object):
|
||||
try:
|
||||
cmd = cls(_do_cli=True)
|
||||
except Exception as err:
|
||||
print >> sys.stderr, 'error:', err.message
|
||||
if isinstance(err, EnvironmentError):
|
||||
# These don't have regular 'message' attributes, and they occur
|
||||
# frequently enough they we handle them specially.
|
||||
if hasattr(err, 'filename'):
|
||||
print >> sys.stderr, 'error:', err.strerror + ':', \
|
||||
err.filename
|
||||
else:
|
||||
print >> sys.stderr, 'error:', err.strerror
|
||||
else:
|
||||
print >> sys.stderr, 'error:', err.message or str(err)
|
||||
# Since we don't even have a config file to consult our options for
|
||||
# determining when debugging is on are limited to what we got at
|
||||
# the command line.
|
||||
|
||||
@@ -57,5 +57,7 @@ class ServerError(Exception):
|
||||
return self.response.text or ''
|
||||
|
||||
def __str__(self):
|
||||
return '({code}) {msg}'.format(code=self.status_code,
|
||||
msg=(self.message or ''))
|
||||
s_bits = [self.__class__.__name__ + ':', self.status_code]
|
||||
if self.message:
|
||||
s_bits.append(self.message)
|
||||
return ' '.join(s_bits)
|
||||
|
||||
@@ -205,7 +205,8 @@ class BaseRequest(BaseCommand):
|
||||
|
||||
def handle_cli_exception(self, err):
|
||||
if isinstance(err, ServerError):
|
||||
print >> sys.stderr, 'error:', str(err)
|
||||
print >> sys.stderr, 'error ({0}): {1}'.format(
|
||||
getattr(err, 'code', err.status_code), err.message)
|
||||
if self.debug:
|
||||
raise
|
||||
sys.exit(1)
|
||||
|
||||
Reference in New Issue
Block a user