Improve music activity reporting and preserve Comfy host fixes

This commit is contained in:
Towsty
2026-09-06 23:05:46 -05:00
parent 53bb58bbd5
commit 5f96807496
8 changed files with 246 additions and 10 deletions
+46
View File
@@ -0,0 +1,46 @@
"""Hide VideoHelperSuite's background command windows without changing its media commands."""
import ast
import pathlib
import shutil
import sys
def patch(source):
lines = source.splitlines(keepends=True)
offsets = [0]
for line in lines:
offsets.append(offsets[-1] + len(line.encode('utf-8')))
raw = source.encode('utf-8')
calls = []
for node in ast.walk(ast.parse(source)):
if not isinstance(node, ast.Call) or not isinstance(node.func, ast.Attribute):
continue
if not isinstance(node.func.value, ast.Name) or node.func.value.id != 'subprocess' or node.func.attr not in ('Popen', 'run', 'check_output', 'check_call', 'call'):
continue
if any(k.arg == 'creationflags' for k in node.keywords):
continue
calls.append(node)
for node in sorted(calls, key=lambda n: (n.end_lineno, n.end_col_offset), reverse=True):
end = offsets[node.end_lineno - 1] + node.end_col_offset - 1
prefix = b'' if raw[:end].rstrip().endswith(b',') else b','
raw = raw[:end] + prefix + b" creationflags=getattr(subprocess, 'CREATE_NO_WINDOW', 0)" + raw[end:]
result = raw.decode('utf-8')
ast.parse(result)
return result
if __name__ == '__main__':
root = pathlib.Path(sys.argv[1]).resolve(strict=True)
plans = []
for name in ('nodes.py', 'utils.py', 'load_video_nodes.py'):
path = root / 'videohelpersuite' / name
source = path.read_text(encoding='utf-8')
plans.append((path, source, patch(source)))
for path, source, result in plans:
if source == result:
print(f'Already patched: {path.name}')
continue
backup = path.with_suffix('.py.before-aigen-hidden')
if backup.exists():
raise RuntimeError(f'Backup already exists: {backup}')
shutil.copy2(path, backup)
path.write_text(result, encoding='utf-8')
print(f'Patched {path.name}; original backed up.')