From 3c0dd00a99babf6280f5c6baaf11ae879cc55c3e Mon Sep 17 00:00:00 2001 From: Sven Heidemann Date: Fri, 26 Mar 2021 13:16:40 +0100 Subject: [PATCH] Bugfixes --- docs/todo.txt | 2 ++ src/cpl/dependency_injection/__init__.py | 6 +++++- src/cpl/dependency_injection/service_provider.py | 2 ++ src/cpl_cli/startup.py | 5 +++-- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/todo.txt b/docs/todo.txt index e69de29b..0accc4e2 100644 --- a/docs/todo.txt +++ b/docs/todo.txt @@ -0,0 +1,2 @@ +- dbContext!!! +- templates for better Di using! \ No newline at end of file diff --git a/src/cpl/dependency_injection/__init__.py b/src/cpl/dependency_injection/__init__.py index 0091a8a4..d5df833a 100644 --- a/src/cpl/dependency_injection/__init__.py +++ b/src/cpl/dependency_injection/__init__.py @@ -21,7 +21,11 @@ from collections import namedtuple # imports: from .service_abc import ServiceABC -from .service_provider_old import ServiceProvider +from .service_collection import ServiceCollection +from .service_collection_abc import ServiceCollectionABC +from .service_descriptor import ServiceDescriptor +from .service_lifetime_enum import ServiceLifetimeEnum +from .service_provider import ServiceProvider from .service_provider_abc import ServiceProviderABC VersionInfo = namedtuple('VersionInfo', 'major minor micro') diff --git a/src/cpl/dependency_injection/service_provider.py b/src/cpl/dependency_injection/service_provider.py index a167bea2..7f93477c 100644 --- a/src/cpl/dependency_injection/service_provider.py +++ b/src/cpl/dependency_injection/service_provider.py @@ -49,6 +49,8 @@ class ServiceProvider(ServiceProviderABC): else: service_type = descriptor.service_type + break + sig = signature(service_type.__init__) params = [] for param in sig.parameters.items(): diff --git a/src/cpl_cli/startup.py b/src/cpl_cli/startup.py index b936e3ce..5d250cf3 100644 --- a/src/cpl_cli/startup.py +++ b/src/cpl_cli/startup.py @@ -2,6 +2,7 @@ from cpl.application.application_runtime_abc import ApplicationRuntimeABC from cpl.application.startup_abc import StartupABC from cpl.configuration.console_argument import ConsoleArgument from cpl.configuration.configuration_abc import ConfigurationABC +from cpl.dependency_injection.service_collection_abc import ServiceCollectionABC from cpl.dependency_injection.service_provider_abc import ServiceProviderABC from cpl_cli.command.build_service import BuildService from cpl_cli.command.generate_service import GenerateService @@ -22,7 +23,7 @@ from cpl_cli.publish.publisher_abc import PublisherABC class Startup(StartupABC): - def __init__(self, config: ConfigurationABC, runtime: ApplicationRuntimeABC, services: ServiceProviderABC): + def __init__(self, config: ConfigurationABC, runtime: ApplicationRuntimeABC, services: ServiceCollectionABC): StartupABC.__init__(self) self._configuration = config @@ -80,4 +81,4 @@ class Startup(StartupABC): self._services.add_transient(UpdateService) self._services.add_transient(VersionService) - return self._services + return self._services.build_service_provider()