24 lines
590 B
Python

from gnuradio.grc.core.base import Element
from gnuradio_mcp.models import ErrorModel
from gnuradio_mcp.utils import format_error_message
class ElementMiddleware:
def __init__(self, element: Element):
self._element = element
def _rewrite(self):
self._element.rewrite()
def validate(self):
self._rewrite()
self._element.validate()
def get_all_errors(self) -> list[ErrorModel]:
self.validate()
return [
format_error_message(elem, msg)
for elem, msg in self._element.iter_error_messages()
]