add decorater to show func name
This commit is contained in:
parent
4f62e02b88
commit
0313757946
39
visualize.py
Normal file
39
visualize.py
Normal file
@ -0,0 +1,39 @@
|
||||
import functools
|
||||
import os
|
||||
from typing import Any, Callable
|
||||
|
||||
"""
|
||||
This file contains some decorators for visualization.
|
||||
To use all of this decorators, you MUST set env RUNNING_UNITTESTS=1.
|
||||
"""
|
||||
|
||||
|
||||
def show_name_args(func: Callable) -> Callable:
|
||||
"""
|
||||
A decorator that prints function information when running under unittests.
|
||||
|
||||
Args:
|
||||
func (Callable): The function to wrap with the decorator.
|
||||
|
||||
Returns:
|
||||
Callable: The wrapped function with conditional logging.
|
||||
"""
|
||||
|
||||
@functools.wraps(func)
|
||||
def wrapper(*args: Any, **kwargs: Any) -> Any:
|
||||
# Check if running under unittest environment (e.g., an environment variable is set)
|
||||
if os.getenv("RUNNING_UNITTESTS"):
|
||||
print(f"Calling {func.__name__} with args {args} and kwargs {kwargs}")
|
||||
return func(*args, **kwargs)
|
||||
|
||||
return wrapper
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Example of using the decorator
|
||||
@show_name_args
|
||||
def my_function(x: int, y: int) -> int:
|
||||
"""Add two numbers."""
|
||||
return x + y
|
||||
|
||||
print(my_function(1, 4))
|
Loading…
x
Reference in New Issue
Block a user