great-ai/great_ai/helper/assert_function_is_not_finalised.py
2022-07-04 19:31:15 +02:00

14 lines
545 B
Python

from typing import Any, Callable
from ..exceptions import WrongDecoratorOrderError
from .get_function_metadata_store import get_function_metadata_store
def assert_function_is_not_finalised(func: Callable[..., Any]) -> None:
error_message = (
"The outer-most (first) decorator has to be `@GreatAI.deploy`. "
+ f"In the case of `{func.__name__}`, it is not: fix this by moving `@GreatAI.deploy` to the top."
)
if get_function_metadata_store(func).is_finalised:
raise WrongDecoratorOrderError(error_message)