Skip to content

Commit 79230dd

Browse files
committed
fix(balatrobot): add session_id to BalatroInstance
1 parent f4246e6 commit 79230dd

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/balatrobot/manager.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,21 @@
1717
class BalatroInstance:
1818
"""Context manager for a single Balatro instance."""
1919

20-
def __init__(self, config: Config | None = None, **overrides) -> None:
20+
def __init__(
21+
self, config: Config | None = None, session_id: str | None = None, **overrides
22+
) -> None:
2123
"""Initialize a Balatro instance.
2224
2325
Args:
2426
config: Base configuration. If None, uses Config from environment.
27+
session_id: Optional session ID for log directory. If None, generated at start().
2528
**overrides: Override specific config fields (e.g., port=12347).
2629
"""
2730
base = config or Config.from_env()
2831
self._config = replace(base, **overrides) if overrides else base
2932
self._process: subprocess.Popen | None = None
3033
self._log_path: Path | None = None
34+
self._session_id = session_id
3135

3236
@property
3337
def port(self) -> int:
@@ -73,8 +77,8 @@ async def start(self) -> None:
7377
if self._process is not None:
7478
raise RuntimeError("Instance already started")
7579

76-
# Create session directory
77-
timestamp = datetime.now().strftime("%Y-%m-%dT%H-%M-%S")
80+
# Create session directory (use provided session_id or generate one)
81+
timestamp = self._session_id or datetime.now().strftime("%Y-%m-%dT%H-%M-%S")
7882
session_dir = Path(self._config.logs_path) / timestamp
7983
session_dir.mkdir(parents=True, exist_ok=True)
8084
self._log_path = session_dir / f"{self._config.port}.log"

0 commit comments

Comments
 (0)