Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def get_template_name(self):

def generate_output(self, data):
script_dir = os.path.dirname(os.path.abspath(__file__))
template_name = self.get_template_name()
template_name = self.get_template_name().lower()
with open(f"{script_dir}/templates/{template_name}.j2") as file:
template = Template(file.read())
return template.render(data=data)
Expand Down
28 changes: 5 additions & 23 deletions src/spring/azext_spring/migration/converter/conversion_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,41 +5,23 @@
import os

from knack.log import get_logger
from .base_converter import ConverterTemplate, SourceDataWrapper
from .environment_converter import EnvironmentConverter
from .app_converter import AppConverter
from .readme_converter import ReadMeConverter
from .main_converter import MainConverter
from .param_converter import ParamConverter
from .gateway_converter import GatewayConverter
from .eureka_converter import EurekaConverter
from .service_registry_converter import ServiceRegistryConverter
from .config_server_converter import ConfigServerConverter
from .acs_converter import ACSConverter
from .live_view_converter import LiveViewConverter
from .cert_converter import CertConverter

logger = get_logger(__name__)


# Context Class
class ConversionContext:
def __init__(self, source):
self.data_wrapper = SourceDataWrapper(source)
self.source = source
self.converters = []

def add_converter(self, converter: ConverterTemplate):
self.converters.append(converter)

def get_converter(self, converter_type: type):
for converter in self.converters:
if isinstance(converter, converter_type):
return converter
raise ValueError(f"Unknown converter type: {converter_type}")
def register_converter(self, converter_class):
self.converters.append(converter_class)

def run_converters(self):
converted_contents = {}
for converter in self.converters:
for converter_class in self.converters:
converter = converter_class(self.source)
items = converter.convert()
converted_contents.update(items)
return converted_contents
Expand Down
24 changes: 12 additions & 12 deletions src/spring/azext_spring/migration/migration_operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,18 @@ def migration_aca_start(cmd, client, resource_group, service, output_folder):

# Create context and add converters
context = ConversionContext(asa_arm)
context.add_converter(MainConverter(asa_arm))
context.add_converter(EnvironmentConverter(asa_arm))
context.add_converter(AppConverter(asa_arm))
context.add_converter(GatewayConverter(asa_arm, client, resource_group, service))
context.add_converter(EurekaConverter(asa_arm))
context.add_converter(ServiceRegistryConverter(asa_arm))
context.add_converter(ConfigServerConverter(asa_arm))
context.add_converter(ACSConverter(asa_arm))
context.add_converter(LiveViewConverter(asa_arm))
context.add_converter(ReadMeConverter(asa_arm))
context.add_converter(ParamConverter(asa_arm))
context.add_converter(CertConverter(asa_arm))
context.register_converter(MainConverter)
context.register_converter(EnvironmentConverter)
context.register_converter(AppConverter)
context.register_converter(lambda param: GatewayConverter(param, client, resource_group, service))
context.register_converter(EurekaConverter)
context.register_converter(ServiceRegistryConverter)
context.register_converter(ConfigServerConverter)
context.register_converter(ACSConverter)
context.register_converter(LiveViewConverter)
context.register_converter(ReadMeConverter)
context.register_converter(ParamConverter)
context.register_converter(CertConverter)

# Run all converters
logger.warning("Converting resources to Azure Container Apps...")
Expand Down