File tree Expand file tree Collapse file tree 1 file changed +13
-4
lines changed
Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change 55from collections .abc import AsyncGenerator , Iterable
66from contextlib import asynccontextmanager
77from pathlib import Path
8- from typing import Any , Self , override
8+ from typing import Any , Literal , Self , override
99
1010import anyio
1111import asyncer
@@ -50,7 +50,9 @@ class Client(
5050 AsyncContextManagerMixin ,
5151 ABC ,
5252):
53- _server_arg : Server | None = field (alias = "server" , default = None )
53+ _server_arg : Server | Literal ["container" , "local" ] | None = field (
54+ alias = "server" , default = None
55+ )
5456 _workspace_arg : RawWorkspace = field (alias = "workspace" , factory = Path .cwd )
5557
5658 sync_file : bool = True
@@ -68,9 +70,16 @@ def _iter_candidate_servers(self) -> Iterable[Server]:
6870 3. Local server (maybe with auto-installation)
6971 """
7072
71- if self ._server_arg :
72- yield self ._server_arg
7373 defaults = self .create_default_servers ()
74+
75+ match self ._server_arg :
76+ case "container" :
77+ yield defaults .container
78+ case "local" :
79+ yield defaults .local
80+ case Server () as server :
81+ yield server
82+
7483 yield defaults .container
7584 yield defaults .local
7685
You can’t perform that action at this time.
0 commit comments