multiSSH3 5.48__py3-none-any.whl → 5.50__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of multiSSH3 might be problematic. Click here for more details.
- {multiSSH3-5.48.dist-info → multiSSH3-5.50.dist-info}/METADATA +3 -1
- multiSSH3-5.50.dist-info/RECORD +6 -0
- multiSSH3.py +21 -13
- multiSSH3-5.48.dist-info/RECORD +0 -6
- {multiSSH3-5.48.dist-info → multiSSH3-5.50.dist-info}/WHEEL +0 -0
- {multiSSH3-5.48.dist-info → multiSSH3-5.50.dist-info}/entry_points.txt +0 -0
- {multiSSH3-5.48.dist-info → multiSSH3-5.50.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: multiSSH3
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.50
|
|
4
4
|
Summary: Run commands on multiple hosts via SSH
|
|
5
5
|
Home-page: https://github.com/yufei-pan/multiSSH3
|
|
6
6
|
Author: Yufei Pan
|
|
@@ -9,6 +9,8 @@ License: GPLv3+
|
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
10
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
11
11
|
Classifier: Operating System :: POSIX :: Linux
|
|
12
|
+
Classifier: Operating System :: MacOS
|
|
13
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
12
14
|
Requires-Python: >=3.6
|
|
13
15
|
Description-Content-Type: text/markdown
|
|
14
16
|
Requires-Dist: argparse
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
multiSSH3.py,sha256=4XPEcfGf7Gqq0YvVvsAve4x5Afb4Nse_0_nRJTm5T6A,137371
|
|
2
|
+
multiSSH3-5.50.dist-info/METADATA,sha256=63ZfVMNdX55SxVFWL8EogyLiOHWDerdjsVovEbNCBf8,18092
|
|
3
|
+
multiSSH3-5.50.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
4
|
+
multiSSH3-5.50.dist-info/entry_points.txt,sha256=xi2rWWNfmHx6gS8Mmx0rZL2KZz6XWBYP3DWBpWAnnZ0,143
|
|
5
|
+
multiSSH3-5.50.dist-info/top_level.txt,sha256=tUwttxlnpLkZorSsroIprNo41lYSxjd2ASuL8-EJIJw,10
|
|
6
|
+
multiSSH3-5.50.dist-info/RECORD,,
|
multiSSH3.py
CHANGED
|
@@ -47,8 +47,9 @@ except AttributeError:
|
|
|
47
47
|
# If neither is available, use a dummy decorator
|
|
48
48
|
def cache_decorator(func):
|
|
49
49
|
return func
|
|
50
|
-
version = '5.
|
|
50
|
+
version = '5.50'
|
|
51
51
|
VERSION = version
|
|
52
|
+
__version__ = version
|
|
52
53
|
COMMIT_DATE = '2025-01-30'
|
|
53
54
|
|
|
54
55
|
CONFIG_FILE_CHAIN = ['./multiSSH3.config.json',
|
|
@@ -2175,18 +2176,7 @@ def curses_print(stdscr, hosts, threads, min_char_len = DEFAULT_CURSES_MINIMUM_C
|
|
|
2175
2176
|
#time.sleep(0.25)
|
|
2176
2177
|
|
|
2177
2178
|
# ------------ Generate Output Block ----------------
|
|
2178
|
-
def
|
|
2179
|
-
'''
|
|
2180
|
-
Print / generate the output of the hosts to the terminal
|
|
2181
|
-
|
|
2182
|
-
Args:
|
|
2183
|
-
hosts (list): A list of Host objects
|
|
2184
|
-
usejson (bool, optional): Whether to print the output in JSON format. Defaults to False.
|
|
2185
|
-
quiet (bool, optional): Whether to print the output. Defaults to False.
|
|
2186
|
-
|
|
2187
|
-
Returns:
|
|
2188
|
-
str: The pretty output generated
|
|
2189
|
-
'''
|
|
2179
|
+
def generate_output(hosts, usejson = False, greppable = False):
|
|
2190
2180
|
global __keyPressesIn
|
|
2191
2181
|
global __global_suppress_printout
|
|
2192
2182
|
hosts = [dict(host) for host in hosts]
|
|
@@ -2251,6 +2241,21 @@ def print_output(hosts,usejson = False,quiet = False,greppable = False):
|
|
|
2251
2241
|
__keyPressesIn = [[]]
|
|
2252
2242
|
if __global_suppress_printout and not outputs:
|
|
2253
2243
|
rtnStr += 'Success'
|
|
2244
|
+
return rtnStr
|
|
2245
|
+
|
|
2246
|
+
def print_output(hosts,usejson = False,quiet = False,greppable = False):
|
|
2247
|
+
'''
|
|
2248
|
+
Print / generate the output of the hosts to the terminal
|
|
2249
|
+
|
|
2250
|
+
Args:
|
|
2251
|
+
hosts (list): A list of Host objects
|
|
2252
|
+
usejson (bool, optional): Whether to print the output in JSON format. Defaults to False.
|
|
2253
|
+
quiet (bool, optional): Whether to print the output. Defaults to False.
|
|
2254
|
+
|
|
2255
|
+
Returns:
|
|
2256
|
+
str: The pretty output generated
|
|
2257
|
+
'''
|
|
2258
|
+
rtnStr = generate_output(hosts,usejson,greppable)
|
|
2254
2259
|
if not quiet:
|
|
2255
2260
|
print(rtnStr)
|
|
2256
2261
|
return rtnStr
|
|
@@ -2448,6 +2453,7 @@ def run_command_on_hosts(hosts = DEFAULT_HOSTS,commands = None,oneonone = DEFAUL
|
|
|
2448
2453
|
global __DEBUG_MODE
|
|
2449
2454
|
global __thread_start_delay
|
|
2450
2455
|
global __max_connections_nofile_limit_supported
|
|
2456
|
+
global __keyPressesIn
|
|
2451
2457
|
_emo = False
|
|
2452
2458
|
_no_env = no_env
|
|
2453
2459
|
if os.path.exists(os.path.join(tempfile.gettempdir(),'__multiSSH3_UNAVAILABLE_HOSTS.csv')):
|
|
@@ -2511,6 +2517,8 @@ def run_command_on_hosts(hosts = DEFAULT_HOSTS,commands = None,oneonone = DEFAUL
|
|
|
2511
2517
|
unavailableHosts = __globalUnavailableHosts
|
|
2512
2518
|
else:
|
|
2513
2519
|
unavailableHosts = set()
|
|
2520
|
+
# set global input to empty
|
|
2521
|
+
__keyPressesIn = [[]]
|
|
2514
2522
|
else:
|
|
2515
2523
|
# if run in command line ( or emulating running in command line, we default to skip unreachable hosts within one command call )
|
|
2516
2524
|
if skipUnreachable:
|
multiSSH3-5.48.dist-info/RECORD
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
multiSSH3.py,sha256=gMGDhDGQFKooYgRUqPW0HQcCpLmOcYgyoHIccs4tQuU,137140
|
|
2
|
-
multiSSH3-5.48.dist-info/METADATA,sha256=NOgMgyRTE1TtYuy3a8kWwqF7M5UXj--jMakNGfLXBg4,18001
|
|
3
|
-
multiSSH3-5.48.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
4
|
-
multiSSH3-5.48.dist-info/entry_points.txt,sha256=xi2rWWNfmHx6gS8Mmx0rZL2KZz6XWBYP3DWBpWAnnZ0,143
|
|
5
|
-
multiSSH3-5.48.dist-info/top_level.txt,sha256=tUwttxlnpLkZorSsroIprNo41lYSxjd2ASuL8-EJIJw,10
|
|
6
|
-
multiSSH3-5.48.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|