jenkins-error-explainer / extract_error_features.py
Arvind2006's picture
Upload folder using huggingface_hub
f18435c verified
raw
history blame contribute delete
655 Bytes
import re
from error_taxonomy import ERROR_CATEGORIES
COMPILED_PATTERNS = {
cat: [re.compile(p) for p in pats]
for cat, pats in ERROR_CATEGORIES.items()
}
def extract_error_features(log_text: str) -> dict:
result = {
"category": "unknown",
"matched_signals": [],
"line_numbers": []
}
for category, patterns in COMPILED_PATTERNS.items():
for pattern in patterns:
if pattern.search(log_text):
result["category"] = category
result["matched_signals"].append(pattern.pattern)
result["line_numbers"] = re.findall(r"line (\d+)", log_text)
return result