Sigrid De los Santos commited on
Commit
1353a1f
Β·
1 Parent(s): 7cb8f2e

debugging for analysis tables

Browse files
Files changed (2) hide show
  1. app.py +7 -1
  2. src/main.py +11 -9
app.py CHANGED
@@ -34,7 +34,7 @@ with st.form("topics_form"):
34
  submitted = st.form_submit_button("Run Analysis")
35
 
36
  # === Tabs Setup ===
37
- tab_report, tab_articles, tab_insights = st.tabs(["πŸ“ Report", "πŸ“‹ Articles", "πŸ“Š Insights"])
38
 
39
  if submitted:
40
  if not openai_api_key or not tavily_api_key or not all([td['topic'] for td in topics_data]):
@@ -137,10 +137,16 @@ if submitted:
137
  )
138
  else:
139
  st.info("No insights available.")
 
 
 
140
 
141
  except Exception as e:
142
  spinner_box.error("❌ Failed.")
143
  log_box.error(f"❌ Error: {e}")
 
 
 
144
 
145
  # import os
146
  # import sys
 
34
  submitted = st.form_submit_button("Run Analysis")
35
 
36
  # === Tabs Setup ===
37
+ tab_report, tab_articles, tab_insights, tab_debug = st.tabs(["πŸ“ Report", "πŸ“‹ Articles", "πŸ“Š Insights", "πŸ›  Debug"])
38
 
39
  if submitted:
40
  if not openai_api_key or not tavily_api_key or not all([td['topic'] for td in topics_data]):
 
137
  )
138
  else:
139
  st.info("No insights available.")
140
+ with tab_debug:
141
+ st.subheader("πŸ›  Debug Log")
142
+ st.code("\n".join(logs) if logs else "No logs yet.")
143
 
144
  except Exception as e:
145
  spinner_box.error("❌ Failed.")
146
  log_box.error(f"❌ Error: {e}")
147
+ # === Debug Tab ===
148
+
149
+
150
 
151
  # import os
152
  # import sys
src/main.py CHANGED
@@ -38,7 +38,15 @@ def run_value_investing_analysis(csv_path, progress_callback=None):
38
  if progress_callback:
39
  progress_callback(f"πŸ” Processing topic: {topic} ({timespan} days)")
40
 
41
- news = fetch_deep_news(topic, timespan)
 
 
 
 
 
 
 
 
42
  if not news:
43
  if progress_callback:
44
  progress_callback(f"⚠️ No news found for topic: {topic}")
@@ -50,7 +58,6 @@ def run_value_investing_analysis(csv_path, progress_callback=None):
50
  url = article.get("url", "")
51
  date = article.get("date", datetime.now().strftime("%Y-%m-%d"))
52
 
53
- # === Sentiment Analysis ===
54
  try:
55
  result = analyze_article(summary)
56
  sentiment = result.get("sentiment", "Neutral")
@@ -75,13 +82,12 @@ def run_value_investing_analysis(csv_path, progress_callback=None):
75
  })
76
 
77
  company_data.append({
78
- "Company": topic, # Use topic as placeholder for company detection
79
  "Sentiment": sentiment,
80
  "Confidence": confidence,
81
  "Summary": summary,
82
  })
83
 
84
- # Save markdown report
85
  try:
86
  report_body = generate_value_investor_report(topic, news)
87
  filename = f"{topic.replace(' ', '_').lower()}_{datetime.now().strftime('%Y-%m-%d')}.md"
@@ -113,16 +119,13 @@ def build_company_insights(company_data):
113
  "Confidence": avg_confidence,
114
  "Highlights": highlights
115
  })
116
-
117
- insights_df = pd.DataFrame(insights)
118
- return insights_df.sort_values(by="Confidence", ascending=False).head(5)
119
 
120
  # === Pipeline ===
121
  def run_pipeline(csv_path, tavily_api_key, progress_callback=None):
122
  os.environ["TAVILY_API_KEY"] = tavily_api_key
123
  all_articles, company_data = run_value_investing_analysis(csv_path, progress_callback)
124
 
125
- # Convert markdown to HTML
126
  html_paths = []
127
  for md_file in os.listdir(DATA_DIR):
128
  if md_file.endswith(".md"):
@@ -133,7 +136,6 @@ def run_pipeline(csv_path, tavily_api_key, progress_callback=None):
133
  insights_df = build_company_insights(company_data)
134
  return html_paths, articles_df, insights_df
135
 
136
-
137
  # import os
138
  # import pandas as pd
139
  # from datetime import datetime
 
38
  if progress_callback:
39
  progress_callback(f"πŸ” Processing topic: {topic} ({timespan} days)")
40
 
41
+ try:
42
+ news = fetch_deep_news(topic, timespan)
43
+ if progress_callback:
44
+ progress_callback(f"[DEBUG] fetch_deep_news returned {len(news) if news else 0} articles.")
45
+ except Exception as e:
46
+ if progress_callback:
47
+ progress_callback(f"[ERROR] fetch_deep_news failed: {e}")
48
+ continue
49
+
50
  if not news:
51
  if progress_callback:
52
  progress_callback(f"⚠️ No news found for topic: {topic}")
 
58
  url = article.get("url", "")
59
  date = article.get("date", datetime.now().strftime("%Y-%m-%d"))
60
 
 
61
  try:
62
  result = analyze_article(summary)
63
  sentiment = result.get("sentiment", "Neutral")
 
82
  })
83
 
84
  company_data.append({
85
+ "Company": topic,
86
  "Sentiment": sentiment,
87
  "Confidence": confidence,
88
  "Summary": summary,
89
  })
90
 
 
91
  try:
92
  report_body = generate_value_investor_report(topic, news)
93
  filename = f"{topic.replace(' ', '_').lower()}_{datetime.now().strftime('%Y-%m-%d')}.md"
 
119
  "Confidence": avg_confidence,
120
  "Highlights": highlights
121
  })
122
+ return pd.DataFrame(insights).sort_values(by="Confidence", ascending=False).head(5)
 
 
123
 
124
  # === Pipeline ===
125
  def run_pipeline(csv_path, tavily_api_key, progress_callback=None):
126
  os.environ["TAVILY_API_KEY"] = tavily_api_key
127
  all_articles, company_data = run_value_investing_analysis(csv_path, progress_callback)
128
 
 
129
  html_paths = []
130
  for md_file in os.listdir(DATA_DIR):
131
  if md_file.endswith(".md"):
 
136
  insights_df = build_company_insights(company_data)
137
  return html_paths, articles_df, insights_df
138
 
 
139
  # import os
140
  # import pandas as pd
141
  # from datetime import datetime