Spaces:
Running
Running
#!/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() | |