refactor: fix review findings — remove duplicate imports and deduplicate update command

- banner.py: remove redundant `import json as _json` (json already at module level)
- main.py: _cmd_update_pip now delegates to recommended_update_command_for_method
  instead of duplicating the uv-vs-pip detection logic
- main.py: remove redundant `import subprocess as _sp` (subprocess already at module level)
This commit is contained in:
alt-glitch 2026-05-15 12:38:04 +00:00 committed by Teknium
parent 259ae846c8
commit 96917fb74a
2 changed files with 7 additions and 9 deletions

View file

@ -7673,20 +7673,19 @@ def cmd_update(args):
def _cmd_update_pip(args):
"""Update Hermes via pip (for PyPI installs)."""
import subprocess as _sp
from hermes_cli import __version__
from hermes_cli.config import recommended_update_command_for_method
print(f"→ Current version: {__version__}")
print("→ Checking PyPI for updates...")
uv = shutil.which("uv")
if uv:
cmd = [uv, "pip", "install", "--upgrade", "hermes-agent"]
else:
cmd = [sys.executable, "-m", "pip", "install", "--upgrade", "hermes-agent"]
cmd_str = recommended_update_command_for_method("pip")
cmd = cmd_str.split()
if cmd[0] == "pip":
cmd = [sys.executable, "-m", "pip"] + cmd[1:]
print(f"→ Running: {' '.join(cmd)}")
result = _sp.run(cmd)
result = subprocess.run(cmd)
if result.returncode != 0:
print("✗ Update failed")
sys.exit(1)