From d6246ae309132f6f14ca1548ea5e40bed2f1ad8a Mon Sep 17 00:00:00 2001 From: Brad Warren Date: Fri, 26 Jun 2015 16:09:46 -0700 Subject: [PATCH] Special cased KeyboardInterrupt --- letsencrypt/cli.py | 6 +++++- letsencrypt/tests/cli_test.py | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/letsencrypt/cli.py b/letsencrypt/cli.py index 4f645c9b8..dc93c838e 100644 --- a/letsencrypt/cli.py +++ b/letsencrypt/cli.py @@ -676,10 +676,14 @@ def main(cli_args=sys.argv[1:]): except errors.Error as error: handle_exception_common() return error - except: # pylint: disable=bare-except + except KeyboardInterrupt: handle_exception_common() # Ensures a new line is printed return "" + except: # pylint: disable=bare-except + handle_exception_common() + return ("\nAn unexpected error occured. Please see the logfiles in {0} " + "for more details.".format(args.logs_dir)) if __name__ == "__main__": diff --git a/letsencrypt/tests/cli_test.py b/letsencrypt/tests/cli_test.py index 5b3393996..9c8363205 100644 --- a/letsencrypt/tests/cli_test.py +++ b/letsencrypt/tests/cli_test.py @@ -72,6 +72,10 @@ class CLITest(unittest.TestCase): self._call(['--debug'] + cmd_arg, attrs) self._call(cmd_arg, attrs) + attrs['view_config_changes.side_effect'] = [ValueError] + with self.assertRaises(ValueError): + self._call(['--debug'] + cmd_arg, attrs) + self._call(cmd_arg, attrs) if __name__ == '__main__': unittest.main() # pragma: no cover