mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-18 04:41:56 +00:00
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:
parent
259ae846c8
commit
96917fb74a
2 changed files with 7 additions and 9 deletions
|
|
@ -190,11 +190,10 @@ def _fetch_pypi_latest(package: str = "hermes-agent") -> Optional[str]:
|
|||
"""Fetch the latest version of a package from PyPI. Returns None on failure."""
|
||||
try:
|
||||
import urllib.request
|
||||
import json as _json
|
||||
url = f"https://pypi.org/pypi/{package}/json"
|
||||
req = urllib.request.Request(url, headers={"Accept": "application/json"})
|
||||
with urllib.request.urlopen(req, timeout=5) as resp:
|
||||
data = _json.loads(resp.read())
|
||||
data = json.loads(resp.read())
|
||||
return data.get("info", {}).get("version")
|
||||
except Exception:
|
||||
return None
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue