8457869dcd
test / run tests/run_tests.py (pull_request) Successful in 21s
_expand_tilde was a path-string helper on DockerBottleBackend but nothing about it was Docker-specific — any future backend reading host paths from manifest entries would want it. Lift to claude_bottle/util.py (sibling of log.py / manifest.py) as a public expand_tilde() function. Docker-specific primitives stay in claude_bottle/backend/docker/util.py.
19 lines
577 B
Python
19 lines
577 B
Python
"""Cross-cutting utility helpers used by multiple modules.
|
|
|
|
Top-level (i.e. backend-agnostic) — Docker-specific helpers live in
|
|
claude_bottle/backend/docker/util.py."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
|
|
|
|
def expand_tilde(path: str) -> str:
|
|
"""Expand a leading '~' to $HOME. Leaves paths without a leading
|
|
tilde unchanged. Falls back to the empty string if $HOME is unset
|
|
(callers should already have checked HOME if they care)."""
|
|
if path.startswith("~"):
|
|
home = os.environ.get("HOME", "")
|
|
return home + path[1:]
|
|
return path
|