Improved app builder to return self in use_extension
This commit is contained in:
@@ -15,7 +15,7 @@ __title__ = 'cpl_core.application'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
|
||||
__version__ = '2022.10.0'
|
||||
__version__ = '2022.10.0.post1'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@@ -29,4 +29,4 @@ from .startup_abc import StartupABC
|
||||
from .startup_extension_abc import StartupExtensionABC
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2022', minor='10', micro='0')
|
||||
version_info = VersionInfo(major='2022', minor='10', micro='0.post1')
|
||||
|
@@ -33,12 +33,14 @@ class ApplicationBuilder(ApplicationBuilderABC):
|
||||
def use_startup(self, startup: Type[StartupABC]):
|
||||
self._startup = startup()
|
||||
|
||||
def use_extension(self, extension: Type[Union[ApplicationExtensionABC, StartupExtensionABC]]):
|
||||
def use_extension(self, extension: Type[Union[ApplicationExtensionABC, StartupExtensionABC]]) -> 'ApplicationBuilder':
|
||||
if issubclass(extension, ApplicationExtensionABC) and extension not in self._app_extensions:
|
||||
self._app_extensions.append(extension)
|
||||
elif issubclass(extension, StartupExtensionABC) and extension not in self._startup_extensions:
|
||||
self._startup_extensions.append(extension)
|
||||
|
||||
return self
|
||||
|
||||
def _build_startup(self):
|
||||
for ex in self._startup_extensions:
|
||||
extension = ex()
|
||||
|
Reference in New Issue
Block a user