summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-07-18 18:40:53 +0000
committerGerrit Code Review <review@openstack.org>2022-07-18 18:40:53 +0000
commit13f08e4828a7c60f522d7fa5858487ec35a06699 (patch)
tree01f99b76dad86440cb5d1c6a380f79e4fe19c07b
parent1b3d1b55b0df50409f322be3a44f60c6a869b2a8 (diff)
parent6811218817ccc034161dfe1b14d51eb9edc05579 (diff)
downloadcliff-13f08e4828a7c60f522d7fa5858487ec35a06699.tar.gz
Merge "Defer loading cmd2"
-rw-r--r--cliff/app.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/cliff/app.py b/cliff/app.py
index 798b41f..10a4941 100644
--- a/cliff/app.py
+++ b/cliff/app.py
@@ -20,8 +20,6 @@ import logging.handlers
import os
import sys
-import cmd2
-
from cliff import _argparse
from . import complete
from . import help
@@ -403,7 +401,12 @@ class App(object):
try:
parsed_args = cmd_parser.parse_args(sub_argv)
except SystemExit as ex:
- raise cmd2.exceptions.Cmd2ArgparseError from ex
+ if self.interactive_mode:
+ # Defer importing cmd2 as it is a slow import
+ import cmd2
+ raise cmd2.exceptions.Cmd2ArgparseError from ex
+ else:
+ raise ex
result = cmd.run(parsed_args)
except BrokenPipeError as err1:
result = _SIGPIPE_EXIT