Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

options.py: o.fatal(): print error after, not before, usage message.

git prints the error *before* the usage message, but the more I play with
it, the more I'm annoyed by that behaviour.  The usage message can be pretty
long, and the error gots lost way above the usage message.  The most
important thing *is* the error, so let's print it last.

Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
  • Loading branch information...
commit 5a9bc0a6c31d2d0824261685b6ce7a359729436d 1 parent c078168
@apenwarr authored
Showing with 10 additions and 10 deletions.
  1. +4 −3 lib/bup/options.py
  2. +6 −7 main.py
View
7 lib/bup/options.py
@@ -184,14 +184,15 @@ def _gen_usage(self):
def usage(self, msg=""):
"""Print usage string to stderr and abort."""
sys.stderr.write(self._usagestr)
+ if msg:
+ sys.stderr.write(msg)
e = self._onabort and self._onabort(msg) or None
if e:
raise e
- def fatal(self, s):
+ def fatal(self, msg):
"""Print an error message to stderr and abort with usage string."""
- msg = 'error: %s\n' % s
- sys.stderr.write(msg)
+ msg = '\nerror: %s\n' % msg
return self.usage(msg)
def parse(self, args):
View
13 main.py
@@ -29,7 +29,7 @@
# after running 'bup newliner', the tty_width() ioctl won't work anymore
os.environ['WIDTH'] = str(tty_width())
-def usage():
+def usage(msg=""):
log('Usage: bup [-?|--help] [-d BUP_DIR] [--debug] [--profile] '
'<command> [options...]\n\n')
common = dict(
@@ -62,6 +62,8 @@ def usage():
log("See 'bup help COMMAND' for more information on " +
"a specific command.\n")
+ if msg:
+ log("\n%s\n" % msg)
sys.exit(99)
@@ -73,8 +75,7 @@ def usage():
optspec = ['help', 'version', 'debug', 'profile', 'bup-dir=']
global_args, subcmd = getopt.getopt(argv[1:], '?VDd:', optspec)
except getopt.GetoptError, ex:
- log('error: ' + ex.msg + '\n')
- usage()
+ usage('error: %s' % ex.msg)
help_requested = None
dest_dir = None
@@ -93,8 +94,7 @@ def usage():
elif opt[0] in ['-d', '--bup-dir']:
dest_dir = opt[1]
else:
- log('error: unexpected option "%s"\n' % opt[0])
- usage()
+ usage('error: unexpected option "%s"' % opt[0])
if len(subcmd) == 0:
if help_requested:
@@ -124,8 +124,7 @@ def subpath(s):
subcmd[0] = subpath(subcmd_name)
if not os.path.exists(subcmd[0]):
- log('error: unknown command "%s"\n' % subcmd_name)
- usage()
+ usage('error: unknown command "%s"' % subcmd_name)
already_fixed = atoi(os.environ.get('BUP_FORCE_TTY'))
if subcmd_name in ['mux', 'ftp', 'help']:
Please sign in to comment.
Something went wrong with that request. Please try again.