mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-11 00:58:30 +00:00
minor tweak to
This commit is contained in:
@@ -94,10 +94,10 @@ def or_(*conditions):
|
|||||||
for condition in conditions:
|
for condition in conditions:
|
||||||
if isinstance(condition, dict) and "methods" in condition:
|
if isinstance(condition, dict) and "methods" in condition:
|
||||||
methods.extend(condition["methods"])
|
methods.extend(condition["methods"])
|
||||||
elif callable(condition) and hasattr(condition, "__name__"):
|
|
||||||
methods.append(condition.__name__)
|
|
||||||
elif isinstance(condition, str):
|
elif isinstance(condition, str):
|
||||||
methods.append(condition)
|
methods.append(condition)
|
||||||
|
elif callable(condition):
|
||||||
|
methods.append(getattr(condition, "__name__", repr(condition)))
|
||||||
else:
|
else:
|
||||||
raise ValueError("Invalid condition in or_()")
|
raise ValueError("Invalid condition in or_()")
|
||||||
return {"type": "OR", "methods": methods}
|
return {"type": "OR", "methods": methods}
|
||||||
@@ -108,10 +108,11 @@ def and_(*conditions):
|
|||||||
for condition in conditions:
|
for condition in conditions:
|
||||||
if isinstance(condition, dict) and "methods" in condition:
|
if isinstance(condition, dict) and "methods" in condition:
|
||||||
methods.extend(condition["methods"])
|
methods.extend(condition["methods"])
|
||||||
elif callable(condition) and hasattr(condition, "__name__"):
|
|
||||||
methods.append(condition.__name__)
|
|
||||||
elif isinstance(condition, str):
|
elif isinstance(condition, str):
|
||||||
methods.append(condition)
|
methods.append(condition)
|
||||||
|
elif callable(condition):
|
||||||
|
# Extract the __name__ even if the function is wrapped by a decorator
|
||||||
|
methods.append(getattr(condition, "__name__", repr(condition)))
|
||||||
else:
|
else:
|
||||||
raise ValueError("Invalid condition in and_()")
|
raise ValueError("Invalid condition in and_()")
|
||||||
return {"type": "AND", "methods": methods}
|
return {"type": "AND", "methods": methods}
|
||||||
@@ -281,6 +282,7 @@ class Flow(Generic[T], metaclass=FlowMeta):
|
|||||||
)
|
)
|
||||||
await self._execute_listeners(listener, listener_result)
|
await self._execute_listeners(listener, listener_result)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(
|
print(f"[Flow._execute_single_listener] Error in method {listener}: {e}")
|
||||||
f"[Flow._execute_single_listener] Error in method {listener}: {str(e)}"
|
import traceback
|
||||||
)
|
|
||||||
|
traceback.print_exc()
|
||||||
|
|||||||
Reference in New Issue
Block a user