summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormingzhe.zou@easystack.cn <mingzhe.zou@easystack.cn>2021-10-22 12:46:05 +0800
committermingzhe.zou@easystack.cn <mingzhe.zou@easystack.cn>2021-10-22 13:52:35 +0800
commitfd17712b84cbb896e7532a20e5f1f691e4c33479 (patch)
tree4348db42856a32e9344d751716c46181c1ac1983
parentd74a33b69f688ed9b8b28033835303604639d4eb (diff)
downloadconfigshell-fb-fd17712b84cbb896e7532a20e5f1f691e4c33479.tar.gz
ConfigShell support passing Console object as parameter
Setting preference maybe rollback when execute multiple targetcli requests concurrently. Please see https://github.com/open-iscsi/targetcli-fb/issues/188 for details. In order to solve this problem we must first initialize a Console object. Signed-off-by: Zou Mingzhe <mingzhe.zou@easystack.cn>
-rw-r--r--configshell/shell.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/configshell/shell.py b/configshell/shell.py
index 437186d..be84b40 100644
--- a/configshell/shell.py
+++ b/configshell/shell.py
@@ -101,7 +101,7 @@ class ConfigShell(object):
_current_token = ''
_current_completions = []
- def __init__(self, preferences_dir=None):
+ def __init__(self, preferences_dir=None, console=None):
'''
Creates a new ConfigShell.
@param preferences_dir: Directory to load/save preferences from/to
@@ -177,7 +177,9 @@ class ConfigShell(object):
if pref not in self.prefs:
self.prefs[pref] = value
- self.con = console.Console()
+ if console is None:
+ console = console.Console()
+ self.con = console
# Private methods