from textblob import TextBlob
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
from typing import Dict, Any

def analyze_sentiment_textblob(text: str) -> TextBlob:
    """Analyze the sentiment of the given text using TextBlob.
    
    Args:
        text (str): The text to analyze.
    
    Returns:
        TextBlob: The sentiment analysis result from TextBlob.
    """
    try:
        blob = TextBlob(text)
        sentiment = blob.sentiment
        return sentiment
    except Exception as e:
        print(f"Error analyzing sentiment with TextBlob: {e}")
        return None

def analyze_sentiment_vader(text: str) -> Dict[str, Any]:
    """Analyze the sentiment of the given text using VADER.
    
    Args:
        text (str): The text to analyze.
    
    Returns:
        dict: The sentiment analysis result from VADER.
    """
    try:
        analyzer = SentimentIntensityAnalyzer()
        sentiment = analyzer.polarity_scores(text)
        return sentiment
    except Exception as e:
        print(f"Error analyzing sentiment with VADER: {e}")
        return {}