2025-08-23 23:56:19 +02:00

106 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
echo "🔧 Setting up Video Inspiration Finder..."
# Create virtual environment if it doesn't exist
if [ ! -d "venv" ]; then
echo "📦 Creating virtual environment..."
python -m venv venv
fi
# Activate virtual environment
echo "🔄 Activating virtual environment..."
source venv/bin/activate
# Install dependencies
echo "📚 Installing dependencies..."
pip install requests pandas scikit-learn numpy python-dotenv flask flask-cors
echo "✅ Setup complete!"
# Function to check if database has videos
check_videos() {
if [ -f "video_inspiration.db" ]; then
video_count=$(sqlite3 video_inspiration.db "SELECT COUNT(*) FROM videos;" 2>/dev/null || echo "0")
echo $video_count
else
echo "0"
fi
}
# Function to check unrated videos count
check_unrated_videos() {
if [ -f "video_inspiration.db" ]; then
unrated_count=$(sqlite3 video_inspiration.db "SELECT COUNT(*) FROM videos v LEFT JOIN preferences p ON v.id = p.video_id WHERE p.video_id IS NULL;" 2>/dev/null || echo "0")
echo $unrated_count
else
echo "0"
fi
}
# Check current state
video_count=$(check_videos)
unrated_count=$(check_unrated_videos)
echo ""
echo "📊 Current Status:"
echo " Total videos: $video_count"
echo " Unrated videos: $unrated_count"
echo ""
# Main menu
echo "Choose what you want to do:"
echo "1. 🌐 Launch Dashboard (recommended)"
echo "2. 📱 Interactive CLI Rating Session"
echo "3. 🔍 Search for More Videos"
echo "4. 🛠️ Full Setup (Search + Rate + Dashboard)"
echo ""
read -p "Enter choice (1-4): " choice
case $choice in
1)
echo ""
echo "🌐 Launching Dashboard..."
if [ "$unrated_count" -eq "0" ] && [ "$video_count" -gt "0" ]; then
echo "⚠️ All videos are rated. Searching for more videos first..."
python search_more_videos.py
elif [ "$video_count" -eq "0" ]; then
echo "⚠️ No videos found. Searching for videos first..."
python main.py --search-only 2>/dev/null || python search_more_videos.py
fi
echo ""
echo "📱 Dashboard will be available at: http://localhost:5001"
echo "🛑 Press Ctrl+C to stop the server"
echo "----------------------------------------"
python dashboard_api.py
;;
2)
echo ""
echo "📱 Starting Interactive Rating Session..."
python main.py
;;
3)
echo ""
echo "🔍 Searching for more videos..."
python search_more_videos.py
echo ""
echo "✅ Search complete! You can now:"
echo " • Run './setup.sh' again and choose option 1 for Dashboard"
echo " • Run 'python dashboard_api.py' directly"
;;
4)
echo ""
echo "🛠️ Running Full Setup..."
echo "🔍 Step 1: Searching for videos..."
python main.py --search-only 2>/dev/null || python search_more_videos.py
echo ""
echo "📱 Step 2: Starting rating session..."
echo "💡 Tip: Rate at least 10 videos to activate AI recommendations"
echo " (You can press 'q' anytime to skip to dashboard)"
python main.py
;;
*)
echo "❌ Invalid choice. Please run './setup.sh' again."
exit 1
;;
esac