Skip to content

Commit e79f932

Browse files
authored
Merge pull request #9 from eadwinCode/injector_rename
Starlette Class Renames
2 parents ad7eb9d + b566f3a commit e79f932

File tree

16 files changed

+89
-105
lines changed

16 files changed

+89
-105
lines changed

ellar/cli.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
from typer import Typer, echo
22

3-
app = Typer()
3+
_typer = Typer()
44

55

6-
@app.command()
6+
@_typer.command()
77
def init(name: str):
88
echo(f"Welcome {name} to Ellar CLI, python web framework")
99

1010

1111
def main():
12-
app(prog_name="Ellar, Python Web framework")
12+
_typer(prog_name="Ellar, Python Web framework")
1313

1414

1515
if __name__ == "__main__":

ellar/common/decorators/html.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def render(template_name: t.Optional[str] = NOT_SET) -> t.Callable:
2828
if template_name is not NOT_SET:
2929
assert isinstance(
3030
template_name, str
31-
), "Render Operation must invoked eg. @Render()"
31+
), "Render Operation must invoked eg. @render()"
3232
template_name = None if template_name is NOT_SET else template_name
3333
class_base_function_regex = re.compile(
3434
"<\\w+ (\\w+)\\.(\\w+) at \\w+>", re.IGNORECASE

ellar/core/factory.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from ellar.core.main import App
1515
from ellar.core.modules import ModuleBase
1616
from ellar.core.modules.ref import ModuleTemplateRef, create_module_ref_factor
17-
from ellar.di import ProviderConfig, StarletteInjector
17+
from ellar.di import EllarInjector, ProviderConfig
1818
from ellar.reflect import reflect
1919

2020
if t.TYPE_CHECKING: # pragma: no cover
@@ -35,7 +35,7 @@ def _read_all_module(
3535

3636
@classmethod
3737
def _build_modules(
38-
cls, app_module: t.Type[ModuleBase], config: Config, injector: StarletteInjector
38+
cls, app_module: t.Type[ModuleBase], config: Config, injector: EllarInjector
3939
) -> None:
4040
assert reflect.get_metadata(
4141
MODULE_WATERMARK, app_module
@@ -69,7 +69,7 @@ def _create_app(cls, module: t.Type[ModuleBase], config_module: str = None) -> A
6969
assert reflect.get_metadata(MODULE_WATERMARK, module), "Only Module is allowed"
7070

7171
config = Config(app_configured=True, config_module=config_module)
72-
injector = StarletteInjector(auto_bind=t.cast(bool, config.INJECTOR_AUTO_BIND))
72+
injector = EllarInjector(auto_bind=t.cast(bool, config.INJECTOR_AUTO_BIND))
7373
cls._build_modules(app_module=module, injector=injector, config=config)
7474

7575
shutdown_event = config[ON_REQUEST_STARTUP_KEY]

ellar/core/main.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from ellar.core.routing import ApplicationRouter
1919
from ellar.core.templating import AppTemplating, Environment
2020
from ellar.core.versioning import VERSIONING, BaseAPIVersioning
21-
from ellar.di.injector import StarletteInjector
21+
from ellar.di.injector import EllarInjector
2222
from ellar.logger import logger
2323
from ellar.services.reflector import Reflector
2424
from ellar.types import ASGIApp, T, TReceive, TScope, TSend
@@ -28,7 +28,7 @@ class App(AppTemplating):
2828
def __init__(
2929
self,
3030
config: Config,
31-
injector: StarletteInjector,
31+
injector: EllarInjector,
3232
on_startup_event_handlers: t.Optional[t.Sequence[EventHandler]] = None,
3333
on_shutdown_event_handlers: t.Optional[t.Sequence[EventHandler]] = None,
3434
lifespan: t.Optional[t.Callable[["App"], t.AsyncContextManager]] = None,
@@ -38,8 +38,8 @@ def __init__(
3838
):
3939
assert isinstance(config, Config), "config must instance of Config"
4040
assert isinstance(
41-
injector, StarletteInjector
42-
), "injector must instance of StarletteInjector"
41+
injector, EllarInjector
42+
), "injector must instance of EllarInjector"
4343

4444
# The lifespan context function is a newer style that replaces
4545
# on_startup / on_shutdown handlers. Use one or the other, not both.
@@ -49,7 +49,7 @@ def __init__(
4949

5050
self._config = config
5151
# TODO: read auto_bind from configure
52-
self._injector: StarletteInjector = injector
52+
self._injector: EllarInjector = injector
5353

5454
self._global_guards = [] if global_guards is None else list(global_guards)
5555
self._exception_handlers = dict(t.cast(dict, self.config.EXCEPTION_HANDLERS))
@@ -141,7 +141,7 @@ def use_global_guards(self, *guards: "GuardCanActivate") -> None:
141141
self._global_guards.extend(guards)
142142

143143
@property
144-
def injector(self) -> StarletteInjector:
144+
def injector(self) -> EllarInjector:
145145
return self._injector
146146

147147
@property

ellar/core/middleware/di.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from ellar.types import ASGIApp, TReceive, TScope, TSend
1111

1212
if t.TYPE_CHECKING: # pragma: no cover
13-
from ellar.di.injector import StarletteInjector
13+
from ellar.di.injector import EllarInjector
1414

1515

1616
class RequestServiceProviderMiddleware(ServerErrorMiddleware):
@@ -19,7 +19,7 @@ def __init__(
1919
app: ASGIApp,
2020
*,
2121
debug: bool,
22-
injector: "StarletteInjector",
22+
injector: "EllarInjector",
2323
handler: t.Callable = None
2424
) -> None:
2525
super(RequestServiceProviderMiddleware, self).__init__(

ellar/core/staticfiles.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
import typing as t
44

55
import anyio
6-
from starlette.staticfiles import PathLike, StaticFiles
6+
from starlette.staticfiles import PathLike, StaticFiles as StarletteStaticFiles
77

88

9-
class StarletteStaticFiles(StaticFiles):
9+
class StaticFiles(StarletteStaticFiles):
1010
def __init__(
1111
self,
1212
*,
@@ -15,7 +15,7 @@ def __init__(
1515
html: bool = False, # TODO: expose to config
1616
check_dir: bool = True, # TODO: expose to config
1717
):
18-
super(StarletteStaticFiles, self).__init__(
18+
super(StaticFiles, self).__init__(
1919
html=html, packages=packages, check_dir=check_dir
2020
)
2121
self._directories = [] if directories is None else list(directories)

ellar/core/templating/interface.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from ellar.compatible import cached_property
1111
from ellar.constants import TEMPLATE_FILTER_KEY, TEMPLATE_GLOBAL_KEY
1212
from ellar.core.connection import Request
13-
from ellar.core.staticfiles import StarletteStaticFiles
13+
from ellar.core.staticfiles import StaticFiles
1414
from ellar.types import ASGIApp, TemplateFilterCallable, TemplateGlobalCallable
1515

1616
from ..conf import Config
@@ -19,7 +19,7 @@
1919

2020
if t.TYPE_CHECKING: # pragma: no cover
2121
from ellar.core.main import App
22-
from ellar.di import StarletteInjector
22+
from ellar.di import EllarInjector
2323

2424

2525
class TemplateFunctionData(t.NamedTuple):
@@ -133,7 +133,7 @@ def static_directory(self) -> t.Optional[str]:
133133
class AppTemplating(JinjaTemplating):
134134
config: Config
135135
_static_app: t.Optional[ASGIApp]
136-
_injector: "StarletteInjector"
136+
_injector: "EllarInjector"
137137
has_static_files: bool
138138

139139
def get_module_loaders(self) -> t.Generator[ModuleTemplating, None, None]:
@@ -192,7 +192,7 @@ def create_global_jinja_loader(self) -> JinjaLoader:
192192
return JinjaLoader(t.cast("App", self))
193193

194194
def create_static_app(self) -> ASGIApp:
195-
return StarletteStaticFiles(
195+
return StaticFiles(
196196
directories=self.static_files, packages=self.config.STATIC_FOLDER_PACKAGES # type: ignore
197197
)
198198

ellar/di/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from .injector import Container, RequestServiceProvider, StarletteInjector
1+
from .injector import Container, EllarInjector, RequestServiceProvider
22
from .scopes import (
33
RequestScope,
44
SingletonScope,
@@ -18,7 +18,7 @@
1818
__all__ = [
1919
"Container",
2020
"RequestServiceProvider",
21-
"StarletteInjector",
21+
"EllarInjector",
2222
"RequestScope",
2323
"SingletonScope",
2424
"TransientScope",

ellar/di/injector.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def get(self, interface: t.Type[T]) -> T:
4949
scope_instance = t.cast(DIScope, scope_binding.provider.get(self))
5050

5151
log.debug(
52-
"%StarletteInjector.get(%r, scope=%r) using %r",
52+
"%EllarInjector.get(%r, scope=%r) using %r",
5353
self._log_prefix,
5454
interface,
5555
scope,
@@ -79,7 +79,7 @@ def dispose(self) -> None:
7979
class Container(InjectorBinder):
8080
__slots__ = ("injector", "_auto_bind", "_bindings", "parent")
8181

82-
injector: "StarletteInjector"
82+
injector: "EllarInjector"
8383

8484
@t.no_type_check
8585
def create_binding(
@@ -211,7 +211,7 @@ def register_services(self, container):
211211
return instance
212212

213213

214-
class StarletteInjector(Injector):
214+
class EllarInjector(Injector):
215215
__slots__ = ("_stack", "parent", "app", "container", "_modules")
216216

217217
def __init__(
@@ -229,7 +229,7 @@ def __init__(
229229
parent=parent.binder if parent is not None else None,
230230
)
231231
# Bind some useful types
232-
self.container.register_instance(self, StarletteInjector)
232+
self.container.register_instance(self, EllarInjector)
233233
self.container.register_instance(self.binder)
234234
self._modules: t.DefaultDict = defaultdict(OrderedDict)
235235
self._modules[MODULE_REF_TYPES.TEMPLATE] = OrderedDict()

tests/test_di/test_injector.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33

44
from ellar.common import Module
55
from ellar.core import ModuleBase
6-
from ellar.di import Container, StarletteInjector
6+
from ellar.di import Container, EllarInjector
77
from ellar.di.providers import ClassProvider, InstanceProvider
88

99
from .examples import Foo, Foo1, Foo2
1010

1111

1212
def test_container_install_module():
1313
called = False
14-
app_container = StarletteInjector().container
14+
app_container = EllarInjector().container
1515

1616
class FakeModule(ModuleBase):
1717
def register_services(self, container: Container) -> None:
@@ -36,10 +36,10 @@ def register_services(self, container: Container) -> None:
3636

3737

3838
def test_default_container_registration():
39-
injector = StarletteInjector(auto_bind=False)
39+
injector = EllarInjector(auto_bind=False)
4040
assert isinstance(injector.get(Container), Container)
41-
assert isinstance(injector.get(StarletteInjector), StarletteInjector)
42-
assert isinstance(injector.get(StarletteInjector), StarletteInjector)
41+
assert isinstance(injector.get(EllarInjector), EllarInjector)
42+
assert isinstance(injector.get(EllarInjector), EllarInjector)
4343

4444
with pytest.raises(UnsatisfiedRequirement):
4545
injector.get(Injector)
@@ -50,7 +50,7 @@ def test_default_container_registration():
5050

5151
@pytest.mark.asyncio
5252
async def test_request_service_provider():
53-
injector = StarletteInjector(auto_bind=False)
53+
injector = EllarInjector(auto_bind=False)
5454
injector.container.register_scoped(Foo1)
5555
injector.container.register_exact_transient(Foo2)
5656

0 commit comments

Comments
 (0)