!25 ConfigShell support passing Console object as parameter

From: @lb1107039128 
Reviewed-by: @Charlie_li 
Signed-off-by: @Charlie_li
This commit is contained in:
openeuler-ci-bot 2023-12-06 09:46:42 +00:00 committed by Gitee
commit 8740a4eaea
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 47 additions and 1 deletions

View File

@ -0,0 +1,41 @@
From fd17712b84cbb896e7532a20e5f1f691e4c33479 Mon Sep 17 00:00:00 2001
From: "mingzhe.zou@easystack.cn" <mingzhe.zou@easystack.cn>
Date: Fri, 22 Oct 2021 12:46:05 +0800
Subject: [PATCH] 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>
---
configshell/shell.py | 6 ++++--
1 file 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
--
2.42.0.windows.2

View File

@ -4,12 +4,14 @@
Name: python-configshell
Summary: Python library that provides a framework for building simple but nice CLI-based applications.
Version: 1.1.27
Release: 3
Release: 4
License: ASL 2.0
URL: https://github.com/open-iscsi/configshell-fb
Source0: https://github.com/open-iscsi/configshell-fb/archive/v1.1.27.tar.gz
BuildArch: noarch
Patch0001: 0001-ConfigShell-support-passing-Console-object-as-parame.patch
%global _description\
%{name} is a Python library that provides a framework for building simple but nice CLI-based applications.\
This runs with Python 3 and python 3 is run by setup.py to run on Python 3.\
@ -47,6 +49,9 @@ popd
%doc README.md
%changelog
* Tue Dec 5 2023 liubo <liubo1@xfusion.com> - 1.1.27-4
- ConfigShell support passing Console object as parameter
* Mon Dec 06 2021 xu_ping <xuping33@huawei.com> - 1.1.27-3
- delete python2