def _load_callback(callback_name):
"""
Load a callback function by name and check its form (must have one parameter named "entity").
:param callback_name: Name of the callback function to load.
:return: The callback function.
"""
try:
callback_function = getattr(callbacks, callback_name)
callback_parameters = signature(callback_function).parameters
# check if callback has the correct form (only one parameter named "entity")
if len(callback_parameters) == 1 and "entity" in callback_parameters:
return callback_function
else:
raise IllegalArgumentError("Invalid callback: " + str(callback_name))
except AttributeError:
raise IllegalConfigurationError("Parsing configuration file failed: Callback "
+ callback_name + " not found.")
评论列表
文章目录