|
1 | | -from importlib import import_module |
2 | | -from typing import Any, Dict, Optional, Tuple, Type, TypeVar, cast |
| 1 | +from typing import Any, Dict, Optional, Tuple, Type, TypeVar |
3 | 2 |
|
4 | 3 | from idom.core.element import ElementConstructor |
5 | 4 | from idom.widgets.utils import multiview, hotswap, MultiViewMount, MountFunc |
6 | 5 |
|
7 | 6 | from .base import AbstractRenderServer |
8 | | -from .utils import find_available_port |
| 7 | +from .utils import find_available_port, find_builtin_server_type |
9 | 8 |
|
10 | 9 |
|
11 | 10 | _S = TypeVar("_S", bound=AbstractRenderServer[Any, Any]) |
12 | 11 |
|
13 | 12 |
|
14 | | -def _find_default_server_type() -> Optional[Type[_S]]: |
15 | | - for name in ["sanic.PerClientStateServer"]: |
16 | | - module_name, server_name = name.split(".") |
17 | | - try: |
18 | | - module = import_module(f"idom.server.{module_name}") |
19 | | - except ImportError: # pragma: no cover |
20 | | - pass |
21 | | - else: |
22 | | - return cast(Type[_S], getattr(module, server_name)) |
23 | | - else: # pragma: no cover |
24 | | - return None |
25 | | - |
26 | | - |
27 | 13 | def run( |
28 | 14 | element: ElementConstructor, |
29 | | - server_type: Optional[Type[_S]] = _find_default_server_type(), |
| 15 | + server_type: Optional[Type[_S]] = find_builtin_server_type("PerClientStateServer"), |
30 | 16 | host: str = "127.0.0.1", |
31 | 17 | port: Optional[int] = None, |
32 | 18 | server_config: Optional[Any] = None, |
|
0 commit comments