Skip to content

Commit c85f0c9

Browse files
committed
renamed ControllerRouterBuilder to RouterBuilder and fixed circular import issues
1 parent 2cc75d2 commit c85f0c9

File tree

16 files changed

+64
-57
lines changed

16 files changed

+64
-57
lines changed

ellar/core/controller/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from .factory import ControllerRouterFactory
21
from .model import ControllerBase, ControllerType
32

4-
__all__ = ["ControllerBase", "ControllerType", "ControllerRouterFactory"]
3+
__all__ = ["ControllerBase", "ControllerType"]

ellar/core/modules/ref.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
TEMPLATE_FILTER_KEY,
1515
TEMPLATE_GLOBAL_KEY,
1616
)
17-
from ellar.core.controller.builder import get_controller_builder_factory
1817
from ellar.core.routing import ModuleMount
18+
from ellar.core.routing.builder import get_controller_builder_factory
1919
from ellar.core.templating import ModuleTemplating
2020
from ellar.di import Container, ProviderConfig, injectable, is_decorated_with_injectable
2121
from ellar.di.providers import ModuleProvider

ellar/core/routing/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
from .app import ApplicationRouter
12
from .base import RouteOperationBase
3+
from .factory import ControllerRouterFactory
4+
from .mount import ModuleMount, ModuleRouter
25
from .operation_definitions import OperationDefinitions
36
from .route import RouteOperation
4-
from .router import ApplicationRouter, ModuleMount, ModuleRouter, RouteCollection
7+
from .route_collections import RouteCollection
58
from .websocket import WebsocketRouteOperation
69

710
__all__ = [
@@ -13,4 +16,5 @@
1316
"RouteOperationBase",
1417
"OperationDefinitions",
1518
"WebsocketRouteOperation",
19+
"ControllerRouterFactory",
1620
]
File renamed without changes.

ellar/core/controller/builder.py renamed to ellar/core/routing/builder.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,28 @@
55
if t.TYPE_CHECKING:
66
from ellar.core.routing import ModuleMount
77

8-
_controller_build_factory: t.Dict[t.Type, t.Type["ControllerRouterBuilder"]] = {}
8+
_router_builder_factory: t.Dict[t.Type, t.Type["RouterBuilder"]] = {}
99

1010

1111
def _register_controller_builder(
12-
controller_type: t.Type, factory: t.Type["ControllerRouterBuilder"]
12+
controller_type: t.Type, factory: t.Type["RouterBuilder"]
1313
) -> None:
14-
_controller_build_factory[controller_type] = factory
14+
_router_builder_factory[controller_type] = factory
1515

1616

1717
def get_controller_builder_factory(
1818
controller_type: t.Type,
19-
) -> t.Type["ControllerRouterBuilder"]:
20-
return _controller_build_factory[controller_type]
19+
) -> t.Type["RouterBuilder"]:
20+
res = _router_builder_factory.get(controller_type)
21+
if not res:
22+
raise Exception(
23+
f"Router Factory Builder was not found.\nUse `ControllerRouterBuilderFactory` "
24+
f"as an example create a FactoryBuilder for this type: {controller_type}"
25+
)
26+
return res
2127

2228

23-
class ControllerRouterBuilder:
29+
class RouterBuilder:
2430
@classmethod
2531
def build(
2632
cls, controller_type: t.Union[t.Type, t.Any]

ellar/core/routing/controller/route.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010
from .base import ControllerRouteOperationBase
1111

1212

13-
class ControllerRouteOperation( # type:ignore[misc]
14-
ControllerRouteOperationBase, RouteOperation
15-
):
13+
class ControllerRouteOperation(ControllerRouteOperationBase, RouteOperation):
1614
methods: t.Set[str]
1715

1816
async def _handle_request(self, context: IExecutionContext) -> t.Any:

ellar/core/controller/factory.py renamed to ellar/core/routing/factory.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,15 @@
77
CONTROLLER_OPERATION_HANDLER_KEY,
88
CONTROLLER_WATERMARK,
99
)
10-
from ellar.core.routing import ModuleMount, RouteCollection
10+
from ellar.core.controller.model import ControllerBase, ControllerType
1111
from ellar.reflect import reflect
1212

13-
from .builder import ControllerRouterBuilder
14-
from .model import ControllerBase, ControllerType
13+
from .builder import RouterBuilder
14+
from .mount import ModuleMount
15+
from .route_collections import RouteCollection
1516

1617

17-
class ControllerRouterFactory(
18-
ControllerRouterBuilder, controller_type=type(ControllerBase)
19-
):
18+
class ControllerRouterFactory(RouterBuilder, controller_type=type(ControllerBase)):
2019
@classmethod
2120
def build(
2221
cls, controller_type: t.Union[t.Type[ControllerBase], t.Any]

ellar/core/routing/router/module.py renamed to ellar/core/routing/mount.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,9 @@
1717
from ellar.helper import get_unique_control_type
1818
from ellar.reflect import reflect
1919

20-
from ..operation_definitions import (
21-
OperationDefinitions,
22-
TOperation,
23-
TWebsocketOperation,
24-
)
25-
from ..schema import RouteParameters, WsRouteParameters
20+
from .operation_definitions import OperationDefinitions, TOperation, TWebsocketOperation
2621
from .route_collections import RouteCollection
22+
from .schema import RouteParameters, WsRouteParameters
2723

2824
if t.TYPE_CHECKING: # pragma: no cover
2925
from ellar.core.guard import GuardCanActivate

ellar/core/routing/router/route_collections.py renamed to ellar/core/routing/route_collections.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,17 @@
55
from starlette.routing import BaseRoute, Host, Mount
66

77
from ellar.constants import CONTROLLER_CLASS_KEY
8-
from ellar.core.routing import RouteOperation, RouteOperationBase
9-
from ellar.core.routing.websocket.route import WebsocketRouteOperation
108
from ellar.helper import (
119
generate_controller_operation_unique_id,
1210
get_unique_control_type,
1311
)
1412
from ellar.logger import logger
1513
from ellar.reflect import reflect
1614

15+
from .base import RouteOperationBase
16+
from .route import RouteOperation
17+
from .websocket.route import WebsocketRouteOperation
18+
1719

1820
class RouteCollection(t.Sequence[BaseRoute]):
1921
__slots__ = ("_routes", "_served_routes")

ellar/core/routing/router/__init__.py

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)