#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
YouTube Shorts Maker - 테스트 스크립트
간단한 동영상으로 기능 테스트
"""

from youtube_shorts_maker import YouTubeShortsConverter
import sys

def test_basic_conversion():
    """기본 변환 테스트"""
    print("=" * 60)
    print("🧪 기본 변환 테스트 시작")
    print("=" * 60)
    
    # 짧은 테스트 동영상 URL (YouTube의 첫 번째 동영상)
    test_url = "https://www.youtube.com/watch?v=jNQXAC9IVRw"
    
    converter = YouTubeShortsConverter(output_dir="./test_output")
    
    try:
        print("\n📌 테스트 URL: Me at the zoo (19초 동영상)")
        print("   → 10초 쇼츠로 변환 테스트\n")
        
        shorts_path = converter.convert_url_to_shorts(
            youtube_url=test_url,
            target_duration=10,  # 짧은 테스트를 위해 10초
            add_watermark=True,
            keep_temp=True
        )
        
        print("\n" + "=" * 60)
        print("✅ 테스트 성공!")
        print("=" * 60)
        print(f"생성된 파일: {shorts_path}")
        print("\n💡 파일을 직접 재생해서 확인해보세요!")
        
        return True
        
    except Exception as e:
        print("\n" + "=" * 60)
        print("❌ 테스트 실패!")
        print("=" * 60)
        print(f"오류: {str(e)}")
        return False


def test_custom_url():
    """사용자 지정 URL 테스트"""
    print("=" * 60)
    print("🧪 사용자 지정 URL 테스트")
    print("=" * 60)
    
    if len(sys.argv) < 2:
        print("❌ URL을 입력해주세요.")
        print("\n사용법:")
        print("  python test_shorts_maker.py <YouTube_URL>")
        print("\n예시:")
        print("  python test_shorts_maker.py 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'")
        return False
    
    url = sys.argv[1]
    converter = YouTubeShortsConverter(output_dir="./test_output")
    
    try:
        shorts_path = converter.convert_url_to_shorts(
            youtube_url=url,
            target_duration=30,  # 테스트용 30초
            add_watermark=True,
            keep_temp=False
        )
        
        print("\n✅ 변환 성공!")
        print(f"생성된 파일: {shorts_path}")
        return True
        
    except Exception as e:
        print(f"\n❌ 변환 실패: {str(e)}")
        return False


def main():
    """메인 함수"""
    print("\n🎬 YouTube Shorts Maker - 테스트 도구\n")
    print("선택하세요:")
    print("1. 기본 테스트 (짧은 동영상)")
    print("2. 직접 URL 입력")
    print()
    
    if len(sys.argv) > 1:
        # 커맨드 라인에서 URL이 제공된 경우
        test_custom_url()
    else:
        # 인터랙티브 모드
        choice = input("선택 (1 또는 2): ").strip()
        
        if choice == "1":
            test_basic_conversion()
        elif choice == "2":
            url = input("유튜브 URL을 입력하세요: ").strip()
            sys.argv.append(url)
            test_custom_url()
        else:
            print("❌ 잘못된 선택입니다.")


if __name__ == "__main__":
    main()
