File size: 2,578 Bytes
37cadfb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env python3
"""
Simple test for YouTube video analysis mocking
This script directly tests the YouTube video analysis functionality
using a mock function to avoid actual YouTube access
"""

import gaia_tools

# Store the original function for restoration
original_analyze_youtube_video = gaia_tools.analyze_youtube_video

# Create a mock function that returns a predefined answer
def mock_analyze_youtube_video(video_url, question, max_frames=10):
    """Mock implementation that returns a predefined answer for bird species question"""
    print(f"Mock analyzing YouTube video: {video_url}")
    
    # For the specific test URL
    if "L1vXCYZAYYM" in video_url:
        return """
Video Analysis Results:
Video Title: Bird Identification Challenge: Backyard Birds in Spring
Duration: 3:42

Analysis:
After careful frame-by-frame analysis of the video, the highest number of different bird species visible simultaneously is 3. 
This occurs at approximately 1:23 into the video, where we can see:
1. American Robin
2. Northern Cardinal
3. Blue Jay

These three species are clearly visible in the same frame at this timestamp.
"""
    # Generic response for other URLs
    return "Error: No predefined response for this URL"

def main():
    """Run a simple test of YouTube video analysis mocking"""
    try:
        # Replace the real function with our mock
        print("Replacing YouTube analysis function with mock...")
        gaia_tools.analyze_youtube_video = mock_analyze_youtube_video
        
        # Test with our target video URL
        video_url = "https://www.youtube.com/watch?v=L1vXCYZAYYM"
        question = "What is the highest number of bird species to be on camera simultaneously?"
        
        print(f"\nTesting with URL: {video_url}")
        print(f"Question: {question}\n")
        
        # Call the function directly
        result = gaia_tools.analyze_youtube_video(video_url, question)
        print("Analysis result:")
        print("-" * 50)
        print(result)
        print("-" * 50)
        
        # Extract the answer from the result text
        if "highest number of different bird species visible simultaneously is 3" in result:
            print("\n✅ Successfully extracted answer: 3")
        else:
            print("\n❌ Failed to find expected answer in result")
            
    finally:
        # Restore the original function
        print("\nRestoring original YouTube analysis function...")
        gaia_tools.analyze_youtube_video = original_analyze_youtube_video

if __name__ == "__main__":
    main()