Source code for objwatch.wrappers.base_wrapper

# MIT License
# Copyright (c) 2025 aeeeeeep

from types import FrameType
from typing import Any, Tuple

from .abc_wrapper import ABCWrapper


[docs] class BaseWrapper(ABCWrapper): """ BaseWrapper implements the ABCWrapper abstract methods to provide basic logging functionality. """
[docs] def wrap_call(self, func_name: str, frame: FrameType) -> str: """ Format the function call information. Args: func_name (str): Name of the function being called. frame (FrameType): The current stack frame. Returns: str: Formatted call message. """ args, kwargs = self._extract_args_kwargs(frame) call_msg = self._format_args_kwargs(args, kwargs) return call_msg
[docs] def wrap_return(self, func_name: str, result: Any) -> str: """ Format the function return information. Args: func_name (str): Name of the function returning. result (Any): The result returned by the function. Returns: str: Formatted return message. """ return_msg = self._format_return(result) return return_msg
[docs] def wrap_upd(self, old_value: Any, current_value: Any) -> Tuple[str, str]: """ Format the update information of a variable. Args: old_value (Any): The old value of the variable. current_value (Any): The new value of the variable. Returns: Tuple[str, str]: Formatted old and new values. """ old_msg = self._format_value(old_value) current_msg = self._format_value(current_value) return old_msg, current_msg