diff --git a/apps/slack_data/slack_mcp_reader.py b/apps/slack_data/slack_mcp_reader.py index 71fa457..8f24e1d 100644 --- a/apps/slack_data/slack_mcp_reader.py +++ b/apps/slack_data/slack_mcp_reader.py @@ -7,6 +7,7 @@ for indexing in LEANN. It supports various Slack MCP server implementations and flexible message processing options. """ +import ast import asyncio import json import logging @@ -146,16 +147,16 @@ class SlackMCPReader: match = re.search(r"'error':\s*(\{[^}]+\})", str(e)) if match: try: - error_dict = eval(match.group(1)) - except (ValueError, SyntaxError, NameError): + error_dict = ast.literal_eval(match.group(1)) + except (ValueError, SyntaxError): pass else: # Try alternative format match = re.search(r"Failed to fetch messages:\s*(\{[^}]+\})", str(e)) if match: try: - error_dict = eval(match.group(1)) - except (ValueError, SyntaxError, NameError): + error_dict = ast.literal_eval(match.group(1)) + except (ValueError, SyntaxError): pass if self._is_cache_sync_error(error_dict):