Files
aperisolve/aperisolve/analyzers/template_analyzer.py
T
2026-01-02 23:33:18 +01:00

31 lines
999 B
Python

# flake8: noqa: E203,E501,W503
# pylint: disable=C0413,W0718,R0903,R0801
# mypy: disable-error-code=unused-awaitable
"""<toolname> Analyzer for Image Submissions."""
from pathlib import Path
from typing import Optional
from .base_analyzer import SubprocessAnalyzer
class TemplateAnalyzer(SubprocessAnalyzer):
"""Analyzer for <toolname>."""
def __init__(self, input_img: Path, output_dir: Path) -> None:
super().__init__("<toolname>", input_img, output_dir, has_archive=True)
def build_cmd(self, password: Optional[str] = None) -> list[str]:
if password:
return ["<toolname>", "-p", password, "-i", self.img]
return ["<toolname>", "-i", self.img]
def analyze_template(input_img: Path, output_dir: Path, password: Optional[str] = None) -> None:
"""Analyze an image submission using <toolname>."""
analyzer = TemplateAnalyzer(input_img, output_dir)
if password:
analyzer.analyze(password)
else:
analyzer.analyze()