Skip to content

processor

django_spire.core.management.commands.spire_startapp_pkg.processor

BaseTemplateProcessor

apply_replacement staticmethod

Source code in django_spire/core/management/commands/spire_startapp_pkg/processor.py
@staticmethod
def apply_replacement(text: str, replacements: dict[str, str]) -> str:
    for old, new in replacements.items():
        text = text.replace(old, new)

    return text

replace_content

Source code in django_spire/core/management/commands/spire_startapp_pkg/processor.py
def replace_content(self, path: Path, components: list[str]) -> None:
    replacement = generate_replacement_map(components)

    with open(path, 'r', encoding='utf-8') as handle:
        content = handle.read()

    updated_content = self.apply_replacement(content, replacement)

    with open(path, 'w', encoding='utf-8') as handle:
        handle.write(updated_content)

rename_file

Source code in django_spire/core/management/commands/spire_startapp_pkg/processor.py
def rename_file(self, path: Path, components: list[str]) -> None:
    replacement = generate_replacement_map(components)
    new_name = self.apply_replacement(path.name, replacement)

    if new_name != path.name:
        new_path = path.parent / new_name
        path.rename(new_path)

AppTemplateProcessor

Bases: BaseTemplateProcessor

replace_app_name

Source code in django_spire/core/management/commands/spire_startapp_pkg/processor.py
def replace_app_name(self, directory: Path, components: list[str]) -> None:
    self._process_files(
        directory,
        components,
        '*.template',
        lambda path: path.is_file()
    )

    self._process_files(
        directory,
        components,
        '*.py',
        lambda path: path.is_file()
    )

    self._rename_template_files(directory)

HTMLTemplateProcessor

Bases: BaseTemplateProcessor

replace_template_names

Source code in django_spire/core/management/commands/spire_startapp_pkg/processor.py
def replace_template_names(self, directory: Path, components: list[str]) -> None:
    self._process_files(
        directory,
        components,
        '*.html'
    )