Renamed cpl to cpl_core & added config and services as arguments to startup
This commit is contained in:
@@ -12,9 +12,9 @@ class ApplicationABC(ABC):
|
||||
|
||||
Parameters
|
||||
----------
|
||||
config: :class:`cpl.configuration.configuration_abc.ConfigurationABC`
|
||||
config: :class:`cpl_core.configuration.configuration_abc.ConfigurationABC`
|
||||
Contains object loaded from appsettings
|
||||
services: :class:`cpl.dependency_injection.service_provider_abc.ServiceProviderABC`
|
||||
services: :class:`cpl_core.dependency_injection.service_provider_abc.ServiceProviderABC`
|
||||
Contains instances of prepared objects
|
||||
"""
|
||||
|
||||
@@ -39,7 +39,7 @@ class ApplicationABC(ABC):
|
||||
def configure(self):
|
||||
r"""Configure the application
|
||||
|
||||
Called by :class:`cpl.application.application_abc.ApplicationABC.run`
|
||||
Called by :class:`cpl_core.application.application_abc.ApplicationABC.run`
|
||||
"""
|
||||
pass
|
||||
|
||||
@@ -47,6 +47,6 @@ class ApplicationABC(ABC):
|
||||
def main(self):
|
||||
r"""Custom entry point
|
||||
|
||||
Called by :class:`cpl.application.application_abc.ApplicationABC.run`
|
||||
Called by :class:`cpl_core.application.application_abc.ApplicationABC.run`
|
||||
"""
|
||||
pass
|
||||
|
@@ -8,11 +8,11 @@ from cpl_core.dependency_injection.service_collection import ServiceCollection
|
||||
|
||||
|
||||
class ApplicationBuilder(ApplicationBuilderABC):
|
||||
r"""This is class is used to build a object of :class:`cpl.application.application_abc.ApplicationABC`
|
||||
r"""This is class is used to build a object of :class:`cpl_core.application.application_abc.ApplicationABC`
|
||||
|
||||
Parameter
|
||||
---------
|
||||
app: Type[:class:`cpl.application.application_abc.ApplicationABC`]
|
||||
app: Type[:class:`cpl_core.application.application_abc.ApplicationABC`]
|
||||
Application to build
|
||||
"""
|
||||
|
||||
@@ -26,11 +26,11 @@ class ApplicationBuilder(ApplicationBuilderABC):
|
||||
self._services = ServiceCollection(self._configuration)
|
||||
|
||||
def use_startup(self, startup: Type[StartupABC]):
|
||||
self._startup = startup(self._configuration, self._services)
|
||||
self._startup = startup()
|
||||
|
||||
def build(self) -> ApplicationABC:
|
||||
if self._startup is not None:
|
||||
self._startup.configure_configuration()
|
||||
self._startup.configure_services()
|
||||
self._startup.configure_configuration(self._configuration, self._environment)
|
||||
self._startup.configure_services(self._services, self._environment)
|
||||
|
||||
return self._app(self._configuration, self._services.build_service_provider())
|
||||
|
@@ -6,7 +6,7 @@ from cpl_core.application.startup_abc import StartupABC
|
||||
|
||||
|
||||
class ApplicationBuilderABC(ABC):
|
||||
r"""ABC for the :class:`cpl.application.application_builder.ApplicationBuilder`"""
|
||||
r"""ABC for the :class:`cpl_core.application.application_builder.ApplicationBuilder`"""
|
||||
|
||||
@abstractmethod
|
||||
def __init__(self, *args):
|
||||
@@ -18,7 +18,7 @@ class ApplicationBuilderABC(ABC):
|
||||
|
||||
Parameter
|
||||
---------
|
||||
startup: Type[:class:`cpl.application.startup_abc.StartupABC`]
|
||||
startup: Type[:class:`cpl_core.application.startup_abc.StartupABC`]
|
||||
Startup class to use
|
||||
"""
|
||||
pass
|
||||
@@ -29,6 +29,6 @@ class ApplicationBuilderABC(ABC):
|
||||
|
||||
Returns
|
||||
-------
|
||||
Object of :class:`cpl.application.application_abc.ApplicationABC`
|
||||
Object of :class:`cpl_core.application.application_abc.ApplicationABC`
|
||||
"""
|
||||
pass
|
||||
|
@@ -1,7 +1,9 @@
|
||||
from abc import ABC, abstractmethod
|
||||
|
||||
from cpl_core.configuration.configuration_abc import ConfigurationABC
|
||||
from cpl_core.dependency_injection.service_collection_abc import ServiceCollectionABC
|
||||
from cpl_core.dependency_injection.service_provider_abc import ServiceProviderABC
|
||||
from cpl_core.environment.application_environment_abc import ApplicationEnvironmentABC
|
||||
|
||||
|
||||
class StartupABC(ABC):
|
||||
@@ -12,21 +14,26 @@ class StartupABC(ABC):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def configure_configuration(self) -> ConfigurationABC:
|
||||
def configure_configuration(self, config: ConfigurationABC, env: ApplicationEnvironmentABC) -> ConfigurationABC:
|
||||
r"""Creates configuration of application
|
||||
|
||||
Parameter
|
||||
---------
|
||||
config: :class:`cpl_core.configuration.configuration_abc.ConfigurationABC`
|
||||
env: :class:`cpl_core.environment.application_environment_abc`
|
||||
|
||||
Returns
|
||||
-------
|
||||
Object of :class:`cpl.configuration.configuration_abc.ConfigurationABC`
|
||||
Object of :class:`cpl_core.configuration.configuration_abc.ConfigurationABC`
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def configure_services(self) -> ServiceProviderABC:
|
||||
def configure_services(self, service: ServiceCollectionABC, env: ApplicationEnvironmentABC) -> ServiceProviderABC:
|
||||
r"""Creates service provider
|
||||
|
||||
Returns
|
||||
-------
|
||||
Object of :class:`cpl.dependency_injection.service_provider_abc.ServiceProviderABC`
|
||||
Object of :class:`cpl_core.dependency_injection.service_provider_abc.ServiceProviderABC`
|
||||
"""
|
||||
pass
|
||||
|
Reference in New Issue
Block a user