in src/pydolphinscheduler/tasks/python.py [0:0]
def _build_exe_str(self) -> str:
"""Build executable string from given definition.
Attribute ``self.definition`` almost is a function, we need to call this function after parsing it
to string. The easier way to call a function is using syntax ``func()`` and we use it to call it too.
"""
definition = getattr(self, "definition")
if isinstance(definition, types.FunctionType):
loc = definition.__code__.co_filename
extractor = Extractor(Path(loc).open("r").read())
stm = extractor.get_code(definition.__name__)
func_str = f"{stm}{definition.__name__}()"
else:
pattern = re.compile("^def (\\w+)\\(")
find = pattern.findall(definition)
if not find:
return definition
# Keep function str and function callable always have one blank line
func_str = (
f"{definition}{find[0]}()"
if definition.endswith("\n")
else f"{definition}\n{find[0]}()"
)
return func_str