myrmidon / python /src /server /services /search /result_formatters.py
tek Atrust
chore(deploy): build monolithic server for Hugging Face
d5ef46f
Raw
History Blame Contribute Delete
1.08 kB
"""
Result formatters and context extractors for search results.
"""
from typing import Any
def extract_code_context(result: dict[str, Any]) -> dict[str, Any]:
"""
Extract additional context information from a code example result.
Args:
result: Raw search result from database
Returns:
Dictionary with contextual information
"""
context = {}
metadata = result.get("metadata", {})
if isinstance(metadata, dict):
if "language" in metadata:
context["language"] = metadata["language"]
if "framework" in metadata:
context["framework"] = metadata["framework"]
if "file_path" in metadata:
context["file_path"] = metadata["file_path"]
if "line_start" in metadata and "line_end" in metadata:
context["line_range"] = f"{metadata['line_start']}-{metadata['line_end']}"
content = result.get("content", "")
if content:
context["content_length"] = len(content)
context["line_count"] = content.count("\\n") + 1
return context