Added logic to handle StartupExtension classes

This commit is contained in:
2022-04-30 17:43:34 +02:00
parent 581013b61a
commit 97e52b39c0
10 changed files with 89 additions and 22 deletions

View File

@@ -21,9 +21,13 @@
},
"DatabaseSettings": {
"AuthPlugin": "mysql_native_password",
"ConnectionString": "mysql+mysqlconnector://sh_cpl:$credentials@localhost/sh_cpl",
"Credentials": "MHZhc0Y2bjhKc1VUMWV0Qw==",
"Encoding": "utf8mb4"
"Host": "localhost",
"User": "sh_cpl",
"Password": "MHZhc0Y2bjhKc1VUMWV0Qw==",
"Database": "sh_cpl",
"Charset": "utf8mb4",
"UseUnicode": "true",
"Buffered": "true",
"AuthPlugin": "mysql_native_password"
}
}

View File

@@ -16,9 +16,9 @@
"LicenseName": "MIT",
"LicenseDescription": "MIT, see LICENSE for more details.",
"Dependencies": [
"sh_cpl==2021.4.0.post2"
"cpl_core==2022.6.1"
],
"PythonVersion": ">=3.8",
"PythonVersion": ">=3.10",
"PythonPath": {
"linux": "../../../../../../cpl-env/bin/python3.9",
"win32": ""

View File

@@ -1,12 +1,14 @@
from application import Application
from cpl_core.application import ApplicationBuilder
from general.test_extension import TestExtension
from test_extension import TestExtension
from startup import Startup
from test_startup_extension import TestStartupExtension
def main():
app_builder = ApplicationBuilder(Application)
app_builder.use_startup(Startup)
app_builder.use_extension(TestStartupExtension)
app_builder.use_extension(TestExtension)
app_builder.build().run()

View File

@@ -0,0 +1,17 @@
from cpl_core.application import StartupExtensionABC
from cpl_core.configuration import ConfigurationABC
from cpl_core.console import Console
from cpl_core.dependency_injection import ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironmentABC
class TestStartupExtension(StartupExtensionABC):
def __init__(self):
StartupExtensionABC.__init__(self)
def configure_configuration(self, config: ConfigurationABC, env: ApplicationEnvironmentABC):
Console.write_line('config')
def configure_services(self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC):
Console.write_line('services')