Benjamin Consolvo commited on
Commit
606890c
·
1 Parent(s): 5ff4511

formatting of text of headlines

Browse files
Files changed (1) hide show
  1. app.py +15 -7
app.py CHANGED
@@ -463,19 +463,17 @@ class TradingApp:
463
 
464
  if symbol and sentiment_symbol == symbol and sentiment_result is not None:
465
  st.markdown(f"**Sentiment for {symbol.upper()} ({sentiment_source}):** {sentiment_result if sentiment_result in ['Positive', 'Negative', 'Neutral'] else 'No sentiment available'}")
466
- # Show the actual average score below
467
  if sentiment_score is not None:
468
  st.markdown(f"<span style='font-size:0.8em;color:#888;'>Average sentiment score: <b>{sentiment_score:.3f}</b></span>", unsafe_allow_html=True)
469
  elif symbol and sentiment_symbol == symbol and sentiment_result is None:
470
  st.markdown("**Sentiment:** No sentiment available")
471
 
472
- # Shrink headlines font, number them, and use dark blue/white with underline for links
473
  if symbol and sentiment_symbol == symbol and article_headlines:
474
  st.markdown(
475
  "<div style='font-size: 0.75em; margin-bottom: 0.5em;'><b>Recent Headlines:</b></div>",
476
  unsafe_allow_html=True
477
  )
478
- # Try to get URLs for headlines if available
479
  headlines_with_links = []
480
  try:
481
  if sentiment_source == "NewsAPI":
@@ -496,25 +494,35 @@ class TradingApp:
496
  headlines_with_links = [
497
  (item.get("title"), item.get("url")) for item in feed if item.get("title")
498
  ]
 
 
 
 
 
 
499
  else:
500
  headlines_with_links = [(headline, None) for headline in article_headlines]
501
  except Exception as e:
502
  logger.error(f"Error fetching URLs for headlines: {e}")
503
  headlines_with_links = [(headline, None) for headline in article_headlines]
504
 
505
- # Use dark blue (#003366) for links, white for dark backgrounds (auto-detect not possible, so use blue)
506
  for idx, (headline, url) in enumerate(headlines_with_links, 1):
 
 
 
 
507
  if url:
508
  st.markdown(
509
- f"<div style='font-size:0.75em; margin-bottom:0.15em; color:#003366;'>"
510
  f"<span style='font-weight:bold;'>{idx}.</span> "
511
- f"<a href='{url}' target='_blank' style='color:#003366; text-decoration:underline;'>{headline}</a>"
512
  f"</div>",
513
  unsafe_allow_html=True
514
  )
515
  else:
516
  st.markdown(
517
- f"<div style='font-size:0.75em; margin-bottom:0.15em; color:#003366;'>"
518
  f"<span style='font-weight:bold;'>{idx}.</span> {headline}"
519
  f"</div>",
520
  unsafe_allow_html=True
 
463
 
464
  if symbol and sentiment_symbol == symbol and sentiment_result is not None:
465
  st.markdown(f"**Sentiment for {symbol.upper()} ({sentiment_source}):** {sentiment_result if sentiment_result in ['Positive', 'Negative', 'Neutral'] else 'No sentiment available'}")
 
466
  if sentiment_score is not None:
467
  st.markdown(f"<span style='font-size:0.8em;color:#888;'>Average sentiment score: <b>{sentiment_score:.3f}</b></span>", unsafe_allow_html=True)
468
  elif symbol and sentiment_symbol == symbol and sentiment_result is None:
469
  st.markdown("**Sentiment:** No sentiment available")
470
 
471
+ # Shrink headlines font, number them, and use white with underline for links if AlpacaNews, else blue
472
  if symbol and sentiment_symbol == symbol and article_headlines:
473
  st.markdown(
474
  "<div style='font-size: 0.75em; margin-bottom: 0.5em;'><b>Recent Headlines:</b></div>",
475
  unsafe_allow_html=True
476
  )
 
477
  headlines_with_links = []
478
  try:
479
  if sentiment_source == "NewsAPI":
 
494
  headlines_with_links = [
495
  (item.get("title"), item.get("url")) for item in feed if item.get("title")
496
  ]
497
+ elif sentiment_source == "AlpacaNews":
498
+ # Fetch Alpaca news with URLs
499
+ news_items = self.sentiment.alpaca_api.get_news(symbol, limit=5)
500
+ headlines_with_links = [
501
+ (item.headline, getattr(item, "url", None)) for item in news_items if hasattr(item, "headline")
502
+ ]
503
  else:
504
  headlines_with_links = [(headline, None) for headline in article_headlines]
505
  except Exception as e:
506
  logger.error(f"Error fetching URLs for headlines: {e}")
507
  headlines_with_links = [(headline, None) for headline in article_headlines]
508
 
509
+ # Use white for AlpacaNews, blue for others
510
  for idx, (headline, url) in enumerate(headlines_with_links, 1):
511
+ if sentiment_source == "AlpacaNews":
512
+ color = "#fff"
513
+ else:
514
+ color = "#003366"
515
  if url:
516
  st.markdown(
517
+ f"<div style='font-size:0.75em; margin-bottom:0.15em; color:{color};'>"
518
  f"<span style='font-weight:bold;'>{idx}.</span> "
519
+ f"<a href='{url}' target='_blank' style='color:{color}; text-decoration:underline;'>{headline}</a>"
520
  f"</div>",
521
  unsafe_allow_html=True
522
  )
523
  else:
524
  st.markdown(
525
+ f"<div style='font-size:0.75em; margin-bottom:0.15em; color:{color};'>"
526
  f"<span style='font-weight:bold;'>{idx}.</span> {headline}"
527
  f"</div>",
528
  unsafe_allow_html=True