From 1bdbc7918f1b610a474f67331649b84a2256c2ea Mon Sep 17 00:00:00 2001 From: Daniel Shashko Date: Mon, 23 Mar 2026 14:57:30 +0200 Subject: [PATCH] fix: address review feedback - Move json import to module level instead of inline - Log content fetch errors instead of swallowing silently - Use split-based vendor check for robustness with comma-separated configs --- tradingagents/agents/analysts/social_media_analyst.py | 3 ++- tradingagents/dataflows/bright_data.py | 10 ++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/tradingagents/agents/analysts/social_media_analyst.py b/tradingagents/agents/analysts/social_media_analyst.py index 8537c533..673cab25 100644 --- a/tradingagents/agents/analysts/social_media_analyst.py +++ b/tradingagents/agents/analysts/social_media_analyst.py @@ -13,8 +13,9 @@ def create_social_media_analyst(llm): # Check if bright_data vendor is configured for social sentiment config = get_config() news_vendor = config.get("data_vendors", {}).get("news_data", "") + news_vendors = [v.strip() for v in news_vendor.split(",")] tools = [get_news] - if "bright_data" in news_vendor: + if "bright_data" in news_vendors: tools.append(get_social_sentiment) system_message = ( diff --git a/tradingagents/dataflows/bright_data.py b/tradingagents/dataflows/bright_data.py index ad52cf2f..dcf239d4 100644 --- a/tradingagents/dataflows/bright_data.py +++ b/tradingagents/dataflows/bright_data.py @@ -78,13 +78,11 @@ def _serp_search(query: str, num_results: int = 10) -> list[dict]: # Parse organic results from SERP response # The SERP API wraps results in a "body" key as a JSON string - import json as _json - body = data.get("body", data) if isinstance(body, str): try: - body = _json.loads(body) - except _json.JSONDecodeError: + body = json.loads(body) + except json.JSONDecodeError: body = data organic = body.get("organic", []) if isinstance(body, dict) else [] @@ -170,8 +168,8 @@ def _search_and_fetch( if len(content) > max_content_length: content = content[:max_content_length] + "\n[... truncated ...]" r["content"] = content - except Exception: - r["content"] = "" + except Exception as e: + r["content"] = f"[Content fetch failed: {e}]" return results