File size: 721 Bytes
5f83674 6d88ccb 5f83674 6d88ccb 5f83674 6d88ccb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import traceback
class PythonEvaluator:
"""Evaluates Python code safely in a sandboxed manner (basic placeholder)."""
def __init__(self, name: str = "python_evaluator") -> None:
self.name = name
def evaluate(self, code_str, globals_dict=None, locals_dict=None):
if globals_dict is None:
globals_dict = {}
if locals_dict is None:
locals_dict = {}
try:
exec(code_str, globals_dict, locals_dict)
return {"success": True, "globals": globals_dict, "locals": locals_dict}
except Exception as exc: # pragma: no cover - defensive
return {"success": False, "error": str(exc), "traceback": traceback.format_exc()}
|