#!/usr/bin/env python3 # -*- coding: utf-8 -*- # File: src/scitex_writer/_compile/_parser.py """ Compilation output parsing. Parses LaTeX compilation output and log files for errors and warnings. """ from __future__ import annotations from logging import getLogger from pathlib import Path from typing import List, Optional, Tuple from .._utils._parse_latex_logs import parse_compilation_output logger = getLogger(__name__) def parse_output( stdout: str, stderr: str, log_file: Optional[Path] = None, ) -> Tuple[List[str], List[str]]: """ Parse compilation output for errors and warnings. Parameters ---------- stdout : str Standard output from compilation stderr : str Standard error from compilation log_file : Path, optional Path to LaTeX log file Returns ------- tuple (errors, warnings) as lists of strings """ error_issues, warning_issues = parse_compilation_output( stdout + stderr, log_file=log_file ) # Convert LaTeXIssue objects to strings for backward compatibility errors = [str(issue) for issue in error_issues] warnings = [str(issue) for issue in warning_issues] return errors, warnings __all__ = ["parse_output"] # EOF