Compare commits

..

No commits in common. "f23d32a92a1d34794ae43aef942a301c3ad7b588" and "41d24aae9973404965932d4e4df01d49b7d9e835" have entirely different histories.

4 changed files with 82 additions and 40 deletions

View File

@ -5,30 +5,51 @@ from cpl_cli._templates.template_file_abc import TemplateFileABC
class StartupTemplate(TemplateFileABC): class StartupTemplate(TemplateFileABC):
def __init__(self, name: str, path: str): def __init__(self, name: str, path: str, use_async: bool):
TemplateFileABC.__init__(self) TemplateFileABC.__init__(self)
self._name = 'startup.py' self._name = 'startup.py'
self._path = path self._path = path
self._use_async = use_async
self._value = textwrap.dedent("""\ if self._use_async:
from cpl_core.application import StartupABC self._value = textwrap.dedent("""\
from cpl_core.configuration import ConfigurationABC from cpl_core.application import StartupABC
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC from cpl_core.configuration import ConfigurationABC
from cpl_core.environment import ApplicationEnvironment from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironment
class Startup(StartupABC): class Startup(StartupABC):
def __init__(self): def __init__(self):
StartupABC.__init__(self) StartupABC.__init__(self)
def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC: async def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC:
return configuration return configuration
def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC: async def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC:
return services.build_service_provider() return services.build_service_provider()
""") """)
else:
self._value = textwrap.dedent("""\
from cpl_core.application import StartupABC
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironment
class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC:
return configuration
def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC:
return services.build_service_provider()
""")
@property @property
def name(self) -> str: def name(self) -> str:

View File

@ -5,29 +5,50 @@ from cpl_cli._templates.template_file_abc import TemplateFileABC
class StartupTemplate(TemplateFileABC): class StartupTemplate(TemplateFileABC):
def __init__(self, name: str, path: str): def __init__(self, name: str, path: str, use_async: bool):
TemplateFileABC.__init__(self) TemplateFileABC.__init__(self)
self._name = 'startup.py' self._name = 'startup.py'
self._path = path self._path = path
self._value = textwrap.dedent("""\
from cpl_core.application import StartupABC if use_async:
from cpl_core.configuration import ConfigurationABC self._value = textwrap.dedent("""\
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC from cpl_core.application import StartupABC
from cpl_core.environment import ApplicationEnvironment from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironment
class Startup(StartupABC): class Startup(StartupABC):
def __init__(self): def __init__(self):
StartupABC.__init__(self) StartupABC.__init__(self)
def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC: async def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC:
return configuration return configuration
def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC: async def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC:
return services.build_service_provider() return services.build_service_provider()
""") """)
else:
self._value = textwrap.dedent("""\
from cpl_core.application import StartupABC
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironment
class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC:
return configuration
def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC:
return services.build_service_provider()
""")
@property @property
def name(self) -> str: def name(self) -> str:

View File

@ -109,7 +109,7 @@ class ConsoleBuilder:
templates.append(ApplicationTemplate(src_name, py_src_rel_path, use_async)) templates.append(ApplicationTemplate(src_name, py_src_rel_path, use_async))
if use_startup: if use_startup:
templates.append(StartupTemplate(src_name, py_src_rel_path)) templates.append(StartupTemplate(src_name, py_src_rel_path, use_async))
templates.append(MainWithApplicationHostAndStartupTemplate(src_name, py_src_rel_path, use_async)) templates.append(MainWithApplicationHostAndStartupTemplate(src_name, py_src_rel_path, use_async))
else: else:
templates.append(MainWithApplicationBaseTemplate(src_name, py_src_rel_path, use_async)) templates.append(MainWithApplicationBaseTemplate(src_name, py_src_rel_path, use_async))

View File

@ -113,7 +113,7 @@ class LibraryBuilder:
templates.append(ApplicationTemplate(src_name, py_src_rel_path, use_async)) templates.append(ApplicationTemplate(src_name, py_src_rel_path, use_async))
if use_startup: if use_startup:
templates.append(StartupTemplate(src_name, py_src_rel_path)) templates.append(StartupTemplate(src_name, py_src_rel_path, use_async))
templates.append(MainWithApplicationHostAndStartupTemplate(src_name, py_src_rel_path, use_async)) templates.append(MainWithApplicationHostAndStartupTemplate(src_name, py_src_rel_path, use_async))
else: else:
templates.append(MainWithApplicationBaseTemplate(src_name, py_src_rel_path, use_async)) templates.append(MainWithApplicationBaseTemplate(src_name, py_src_rel_path, use_async))