From 113d3199b11683b87d9975896eaf503e049166eb Mon Sep 17 00:00:00 2001 From: Sven Heidemann Date: Sat, 10 Apr 2021 12:04:47 +0200 Subject: [PATCH] Improved main.py templates for new command to handle local imports --- .../templates/new/console/source/name/main.py | 26 ++++++++++++++++--- .../templates/new/library/source/name/main.py | 26 ++++++++++++++++--- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/src/cpl_cli/templates/new/console/source/name/main.py b/src/cpl_cli/templates/new/console/source/name/main.py index 9c8321dd..fa4a8cf6 100644 --- a/src/cpl_cli/templates/new/console/source/name/main.py +++ b/src/cpl_cli/templates/new/console/source/name/main.py @@ -13,11 +13,16 @@ class MainWithApplicationHostAndStartupTemplate(TemplateFileABC): name = String.convert_to_snake_case(name) self._name = 'main.py' self._path = os.path.join(path, name) + + import_pkg = f'{name}.' + if name == '': + import_pkg = '' + self._value = textwrap.dedent(f"""\ from cpl.application import ApplicationBuilder - from {name}.application import Application - from {name}.startup import Startup + from {import_pkg}application import Application + from {import_pkg}startup import Startup def main(): @@ -51,10 +56,15 @@ class MainWithApplicationBaseTemplate(TemplateFileABC): name = String.convert_to_snake_case(name) self._name = 'main.py' self._path = os.path.join(path, name) + + import_pkg = f'{name}.' + if name == '': + import_pkg = '' + self._value = textwrap.dedent(f"""\ from cpl.application import ApplicationBuilder - from {name}.application import Application + from {import_pkg}application import Application def main(): @@ -87,6 +97,11 @@ class MainWithoutApplicationBaseTemplate(TemplateFileABC): name = String.convert_to_snake_case(name) self._name = 'main.py' self._path = os.path.join(path, name) + + import_pkg = f'{name}.' + if name == '': + import_pkg = '' + self._value = textwrap.dedent("""\ from cpl.console import Console @@ -120,6 +135,11 @@ class MainWithDependencyInjection(TemplateFileABC): name = String.convert_to_snake_case(name) self._name = 'main.py' self._path = os.path.join(path, name) + + import_pkg = f'{name}.' + if name == '': + import_pkg = '' + self._value = textwrap.dedent("""\ from cpl.configuration import Configuration, ConfigurationABC from cpl.console import Console diff --git a/src/cpl_cli/templates/new/library/source/name/main.py b/src/cpl_cli/templates/new/library/source/name/main.py index c33e2b7f..e9686271 100644 --- a/src/cpl_cli/templates/new/library/source/name/main.py +++ b/src/cpl_cli/templates/new/library/source/name/main.py @@ -13,11 +13,16 @@ class MainWithApplicationHostAndStartupTemplate(TemplateFileABC): name = String.convert_to_snake_case(name) self._name = 'main.py' self._path = os.path.join(path, name) + + import_pkg = f'{name}.' + if name == '': + import_pkg = '' + self._value = textwrap.dedent(f"""\ from cpl.application import ApplicationBuilder - from {name}.application import Application - from {name}.startup import Startup + from {import_pkg}application import Application + from {import_pkg}startup import Startup def main(): @@ -51,10 +56,15 @@ class MainWithApplicationBaseTemplate(TemplateFileABC): name = String.convert_to_snake_case(name) self._name = 'main.py' self._path = os.path.join(path, name) + + import_pkg = f'{name}.' + if name == '': + import_pkg = '' + self._value = textwrap.dedent(f"""\ from cpl.application import ApplicationBuilder - from {name}.application import Application + from {import_pkg}application import Application def main(): @@ -86,6 +96,11 @@ class MainWithoutApplicationBaseTemplate(TemplateFileABC): self._name = 'main.py' self._path = os.path.join(path, name) + + import_pkg = f'{name}.' + if name == '': + import_pkg = '' + self._value = textwrap.dedent("""\ from cpl.console import Console @@ -118,6 +133,11 @@ class MainWithDependencyInjection(TemplateFileABC): self._name = 'main.py' self._path = os.path.join(path, name) + + import_pkg = f'{name}.' + if name == '': + import_pkg = '' + self._value = textwrap.dedent("""\ from cpl.configuration import Configuration, ConfigurationABC from cpl.console import Console