multiSSH3 6.13__tar.gz → 6.15__tar.gz
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.
- {multissh3-6.13 → multissh3-6.15}/PKG-INFO +1 -1
- {multissh3-6.13 → multissh3-6.15}/multiSSH3.egg-info/PKG-INFO +1 -1
- {multissh3-6.13 → multissh3-6.15}/multiSSH3.py +7 -11
- {multissh3-6.13 → multissh3-6.15}/README.md +0 -0
- {multissh3-6.13 → multissh3-6.15}/multiSSH3.egg-info/SOURCES.txt +0 -0
- {multissh3-6.13 → multissh3-6.15}/multiSSH3.egg-info/dependency_links.txt +0 -0
- {multissh3-6.13 → multissh3-6.15}/multiSSH3.egg-info/entry_points.txt +0 -0
- {multissh3-6.13 → multissh3-6.15}/multiSSH3.egg-info/requires.txt +0 -0
- {multissh3-6.13 → multissh3-6.15}/multiSSH3.egg-info/top_level.txt +0 -0
- {multissh3-6.13 → multissh3-6.15}/setup.cfg +0 -0
- {multissh3-6.13 → multissh3-6.15}/setup.py +0 -0
- {multissh3-6.13 → multissh3-6.15}/test/test.py +0 -0
- {multissh3-6.13 → multissh3-6.15}/test/testCurses.py +0 -0
- {multissh3-6.13 → multissh3-6.15}/test/testCursesOld.py +0 -0
- {multissh3-6.13 → multissh3-6.15}/test/testPerfCompact.py +0 -0
- {multissh3-6.13 → multissh3-6.15}/test/testPerfExpand.py +0 -0
|
@@ -30,8 +30,9 @@ import threading
|
|
|
30
30
|
import time
|
|
31
31
|
import typing
|
|
32
32
|
import uuid
|
|
33
|
-
from collections import Counter,
|
|
33
|
+
from collections import Counter, defaultdict, deque
|
|
34
34
|
from itertools import count, product
|
|
35
|
+
from pprint import pformat
|
|
35
36
|
|
|
36
37
|
__curses_available = False
|
|
37
38
|
__resource_lib_available = False
|
|
@@ -84,10 +85,10 @@ except Exception:
|
|
|
84
85
|
print('Warning: functools.lru_cache is not available, multiSSH3 will run slower without cache.',file=sys.stderr)
|
|
85
86
|
def cache_decorator(func):
|
|
86
87
|
return func
|
|
87
|
-
version = '6.
|
|
88
|
+
version = '6.15'
|
|
88
89
|
VERSION = version
|
|
89
90
|
__version__ = version
|
|
90
|
-
COMMIT_DATE = '2026-
|
|
91
|
+
COMMIT_DATE = '2026-03-05'
|
|
91
92
|
|
|
92
93
|
CONFIG_FILE_CHAIN = ['./multiSSH3.config.json',
|
|
93
94
|
'~/multiSSH3.config.json',
|
|
@@ -278,14 +279,9 @@ class Host:
|
|
|
278
279
|
def __iter__(self):
|
|
279
280
|
return zip(['name', 'command', 'returncode', 'stdout', 'stderr'], [self.name, self.command, self.returncode, self.stdout, self.stderr])
|
|
280
281
|
def __repr__(self):
|
|
281
|
-
|
|
282
|
-
return f"Host(name={self.name}, command={self.command}, returncode={self.returncode}, stdout={self.stdout}, stderr={self.stderr}, \
|
|
283
|
-
output={self.output}, lineNumToPrintSet={self.lineNumToPrintSet}, files={self.files}, ipmi={self.ipmi}, \
|
|
284
|
-
interface_ip_prefix={self.interface_ip_prefix}, scp={self.scp}, gatherMode={self.gatherMode}, \
|
|
285
|
-
extraargs={self.extraargs}, resolvedName={self.resolvedName}, i={self.i}, uuid={self.uuid}), \
|
|
286
|
-
identity_file={self.identity_file}, ip={self.ip}, current_color_pair={self.current_color_pair}"
|
|
282
|
+
return f"Host(\n{pformat(self.__dict__)}\n)"
|
|
287
283
|
def __str__(self):
|
|
288
|
-
return f"Host(
|
|
284
|
+
return f"Host(\n{pformat(dict(self))}\n)"
|
|
289
285
|
def get_output_hash(self):
|
|
290
286
|
return hash((
|
|
291
287
|
self.command,
|
|
@@ -2673,7 +2669,7 @@ def __generate_display(stdscr, hosts, lineToDisplay = -1,curserPosition = 0, min
|
|
|
2673
2669
|
elif key == curses.KEY_EXIT or key == 27: # 27 is the key code for ESC
|
|
2674
2670
|
# if the key is exit, we will exit the program
|
|
2675
2671
|
return
|
|
2676
|
-
elif key == curses.KEY_HELP or key == 63 or key == curses.KEY_F1
|
|
2672
|
+
elif key == curses.KEY_HELP or key == 63 or key == curses.KEY_F1: # 63 is the key code for ?
|
|
2677
2673
|
# if the key is help, we will display the help message
|
|
2678
2674
|
if not help_shown:
|
|
2679
2675
|
help_panel.show()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|