multiSSH3 6.14__tar.gz → 6.16__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.14 → multissh3-6.16}/PKG-INFO +1 -1
- {multissh3-6.14 → multissh3-6.16}/multiSSH3.egg-info/PKG-INFO +1 -1
- {multissh3-6.14 → multissh3-6.16}/multiSSH3.py +7 -11
- {multissh3-6.14 → multissh3-6.16}/README.md +0 -0
- {multissh3-6.14 → multissh3-6.16}/multiSSH3.egg-info/SOURCES.txt +0 -0
- {multissh3-6.14 → multissh3-6.16}/multiSSH3.egg-info/dependency_links.txt +0 -0
- {multissh3-6.14 → multissh3-6.16}/multiSSH3.egg-info/entry_points.txt +0 -0
- {multissh3-6.14 → multissh3-6.16}/multiSSH3.egg-info/requires.txt +0 -0
- {multissh3-6.14 → multissh3-6.16}/multiSSH3.egg-info/top_level.txt +0 -0
- {multissh3-6.14 → multissh3-6.16}/setup.cfg +0 -0
- {multissh3-6.14 → multissh3-6.16}/setup.py +0 -0
- {multissh3-6.14 → multissh3-6.16}/test/test.py +0 -0
- {multissh3-6.14 → multissh3-6.16}/test/testCurses.py +0 -0
- {multissh3-6.14 → multissh3-6.16}/test/testCursesOld.py +0 -0
- {multissh3-6.14 → multissh3-6.16}/test/testPerfCompact.py +0 -0
- {multissh3-6.14 → multissh3-6.16}/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.16'
|
|
88
89
|
VERSION = version
|
|
89
90
|
__version__ = version
|
|
90
|
-
COMMIT_DATE = '2026-03-
|
|
91
|
+
COMMIT_DATE = '2026-03-16'
|
|
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,
|
|
@@ -3155,7 +3151,7 @@ def form_merge_groups(hostnames_by_line_bag_len, sorted_hostnames_by_line_bag_le
|
|
|
3155
3151
|
# if other_line_bag_len < line_bag_len:
|
|
3156
3152
|
# continue
|
|
3157
3153
|
for other_hostname in hostnames_by_line_bag_len.get(other_line_bag_len, set()).copy():
|
|
3158
|
-
if can_merge(this_line_bag, line_bag_by_hostname[other_hostname], diff_display_threshold):
|
|
3154
|
+
if other_hostname in line_bag_by_hostname and can_merge(this_line_bag, line_bag_by_hostname[other_hostname], diff_display_threshold):
|
|
3159
3155
|
merge_group.append(other_hostname)
|
|
3160
3156
|
hostnames_by_line_bag_len[other_line_bag_len].remove(other_hostname)
|
|
3161
3157
|
if not hostnames_by_line_bag_len[other_line_bag_len]:
|
|
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
|