From 3cd00a0809fc1fc855b20c06e673eaaff3d659d7 Mon Sep 17 00:00:00 2001 From: Jonathan Waltman Date: Fri, 4 Jan 2013 22:52:42 -0600 Subject: [PATCH] sphinx-build: Provide more specific error messages for invalid arguments. --- CHANGES | 3 +++ sphinx/cmdline.py | 11 +++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 5f5ab76d9..cd07d18b9 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ Release 1.2 (in development) ============================ +* sphinx-build now provides more specific error messages when called with + invalid options or arguments. + * sphinx-build now supports the standard :option:`--help` and :option:`--version` options. diff --git a/sphinx/cmdline.py b/sphinx/cmdline.py index 026bcd45c..ceb067e16 100644 --- a/sphinx/cmdline.py +++ b/sphinx/cmdline.py @@ -97,15 +97,18 @@ def main(argv): if not path.isdir(outdir): print >>sys.stderr, 'Making output directory...' os.makedirs(outdir) - except (IndexError, getopt.error): - usage(argv) + except getopt.error, err: + usage(argv, 'Error: %s' % err) + return 1 + except IndexError: + usage(argv, 'Error: Insufficient arguments.') return 1 filenames = args[2:] err = 0 for filename in filenames: if not path.isfile(filename): - print >>sys.stderr, 'Cannot find file %r.' % filename + print >>sys.stderr, 'Error: Cannot find file %r.' % filename err = 1 if err: return 1 @@ -132,7 +135,7 @@ def main(argv): buildername = val elif opt == '-a': if filenames: - usage(argv, 'Cannot combine -a option and filenames.') + usage(argv, 'Error: Cannot combine -a option and filenames.') return 1 force_all = True elif opt == '-t':