Source code for rook.fixes.legacy.utils.common_utils
"""Common utility functions for legacy data operations."""
from pydoc import locate
[docs]
def handle_derive_str(value, ds_id, ds):
"""Handle derive expressions by resolving and invoking the target callable."""
if isinstance(value, str) and "derive" in value:
components = value.split(":")
func = locate(components[1].strip())
if len(components) > 2:
arg = value.split(":")[-1].strip()
return func(ds_id, ds, arg)
return func(ds_id, ds)
return value