fix: resolve CI linting and type checking errors
Some checks failed
CI / test (push) Has been cancelled

This commit is contained in:
2026-02-04 05:57:54 +00:00
parent ef7b7f7673
commit ce6e879fa9

View File

@@ -1,10 +1,10 @@
"""Code generation functionality.""" """Code generation functionality."""
from typing import Any, Dict, List from typing import Any
from scaffoldforge.generators.models import FileSpec
from scaffoldforge.parsers import IssueData from scaffoldforge.parsers import IssueData
from scaffoldforge.templates import TemplateEngine from scaffoldforge.templates import TemplateEngine
from scaffoldforge.generators.models import FileSpec
class CodeGenerator: class CodeGenerator:
@@ -36,7 +36,7 @@ class CodeGenerator:
def generate_all_files( def generate_all_files(
self, language: str, issue_data: IssueData self, language: str, issue_data: IssueData
) -> List[FileSpec]: ) -> list[FileSpec]:
"""Generate all project files. """Generate all project files.
Args: Args:
@@ -46,7 +46,7 @@ class CodeGenerator:
Returns: Returns:
List of FileSpec objects. List of FileSpec objects.
""" """
files = [] files: list[FileSpec] = []
context = self.template_engine.get_template_context(issue_data) context = self.template_engine.get_template_context(issue_data)
files.extend(self._generate_source_files(language, context)) files.extend(self._generate_source_files(language, context))
@@ -55,8 +55,8 @@ class CodeGenerator:
return files return files
def _generate_source_files( def _generate_source_files(
self, language: str, context: Dict[str, Any] self, language: str, context: dict[str, Any]
) -> List[FileSpec]: ) -> list[FileSpec]:
"""Generate source code files. """Generate source code files.
Args: Args:
@@ -66,7 +66,7 @@ class CodeGenerator:
Returns: Returns:
List of FileSpec objects. List of FileSpec objects.
""" """
files = [] files: list[FileSpec] = []
source_templates = self.DEFAULT_FILES.get(language, []) source_templates = self.DEFAULT_FILES.get(language, [])
for template_name in source_templates: for template_name in source_templates:
@@ -74,8 +74,6 @@ class CodeGenerator:
content = self.template_engine.render( content = self.template_engine.render(
template_name, context, language template_name, context, language
) )
extension = self._get_extension(language)
filename = f"{template_name}{extension}" if not template_name.endswith(extension) else template_name
path = self._get_source_path(template_name, language) path = self._get_source_path(template_name, language)
files.append(FileSpec(path=path, content=content)) files.append(FileSpec(path=path, content=content))
except ValueError: except ValueError:
@@ -84,8 +82,8 @@ class CodeGenerator:
return files return files
def _generate_config_files( def _generate_config_files(
self, language: str, context: Dict[str, Any] self, language: str, context: dict[str, Any]
) -> List[FileSpec]: ) -> list[FileSpec]:
"""Generate configuration files. """Generate configuration files.
Args: Args:
@@ -110,7 +108,7 @@ class CodeGenerator:
return files return files
def _create_empty_file( def _create_empty_file(
self, template_name: str, language: str, context: Dict[str, Any] self, template_name: str, language: str, context: dict[str, Any]
) -> FileSpec: ) -> FileSpec:
"""Create an empty file with TODO comments. """Create an empty file with TODO comments.
@@ -122,8 +120,6 @@ class CodeGenerator:
Returns: Returns:
FileSpec object. FileSpec object.
""" """
extension = self._get_extension(language)
filename = f"{template_name}{extension}"
path = self._get_source_path(template_name, language) path = self._get_source_path(template_name, language)
todo_items = self.issue_data.get_todo_items() todo_items = self.issue_data.get_todo_items()
@@ -135,7 +131,7 @@ class CodeGenerator:
return FileSpec(path=path, content=content) return FileSpec(path=path, content=content)
def _generate_todo_content( def _generate_todo_content(
self, language: str, template_name: str, todo_items: List[str] self, language: str, template_name: str, todo_items: list[str]
) -> str: ) -> str:
"""Generate TODO comments for a file. """Generate TODO comments for a file.
@@ -199,7 +195,7 @@ class CodeGenerator:
return f"{template_name}{self._get_extension(language)}" return f"{template_name}{self._get_extension(language)}"
def generate_single_file( def generate_single_file(
self, filename: str, language: str, extra_context: Dict[str, Any] = None self, filename: str, language: str, extra_context: dict[str, Any] | None = None
) -> str: ) -> str:
"""Generate content for a single file. """Generate content for a single file.