BibGuard / src /checkers /__init__.py
thinkwee
init
46df5f0
"""Checkers module for paper submission quality checks."""
from .base import BaseChecker, CheckResult, CheckSeverity
from .caption_checker import CaptionChecker
from .reference_checker import ReferenceChecker
from .ai_artifacts_checker import AIArtifactsChecker
from .formatting_checker import FormattingChecker
from .anonymization_checker import AnonymizationChecker
from .number_checker import NumberChecker
from .sentence_checker import SentenceChecker
from .consistency_checker import ConsistencyChecker
from .citation_quality_checker import CitationQualityChecker
from .equation_checker import EquationChecker
from .acronym_checker import AcronymChecker
__all__ = [
'BaseChecker',
'CheckResult',
'CheckSeverity',
'CaptionChecker',
'ReferenceChecker',
'AIArtifactsChecker',
'FormattingChecker',
'AnonymizationChecker',
'NumberChecker',
'SentenceChecker',
'ConsistencyChecker',
'CitationQualityChecker',
'EquationChecker',
'AcronymChecker',
]
# Registry of all available checkers
CHECKER_REGISTRY = {
'caption': CaptionChecker,
'reference': ReferenceChecker,
'ai_artifacts': AIArtifactsChecker,
'formatting': FormattingChecker,
'anonymization': AnonymizationChecker,
'number': NumberChecker,
'sentence': SentenceChecker,
'consistency': ConsistencyChecker,
'citation_quality': CitationQualityChecker,
'equation': EquationChecker,
'acronym': AcronymChecker,
}
def get_checker(name: str) -> BaseChecker:
"""Get a checker instance by name."""
if name not in CHECKER_REGISTRY:
raise ValueError(f"Unknown checker: {name}")
return CHECKER_REGISTRY[name]()
def run_all_checkers(tex_content: str, config: dict = None) -> list:
"""Run all checkers and return combined results."""
results = []
config = config or {}
for name, checker_class in CHECKER_REGISTRY.items():
checker = checker_class()
checker_results = checker.check(tex_content, config)
results.extend(checker_results)
return results