#!/usr/bin/env python
"""测试图片导出功能"""

import asyncio
import logging
from app.services.simple_image_export import SimpleImageExportService

# 设置日志
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

async def test_image_export():
    """测试图片导出服务"""
    
    # 创建服务实例
    service = SimpleImageExportService()
    
    # 测试数据 - 包含Acne Studios围巾
    test_skus = [
        {
            'product_name': '小王国 Acne Studios 长款200*70CM羊毛围巾 SCAR000217 8.11AT',
            'product_code': 'SCAR000217',
            'brand': 'Acne Studios',
            'color': '灰色',
            'size': '200*70CM',
            'quantity': 1,
            'image_url': 'https://img.alicdn.com/bao/uploaded/i3/13261416/O1CN01rrH2ih1MKZuZkrMLq_!!13261416.png',
            'procurement_method': 'AT'
        },
        {
            'product_name': 'Tods女款蓝色鳄鱼压纹麻花扣乐福鞋',
            'product_code': 'TOD001',
            'brand': 'Tods',
            'color': '蓝色',
            'size': '36',
            'quantity': 1,
            'image_url': 'https://example.com/test.jpg',  # 测试无效URL
            'procurement_method': 'NY'
        }
    ]
    
    try:
        # 生成图片
        logger.info("开始生成图片...")
        images = await service.generate_sku_images(test_skus)
        
        logger.info(f"成功生成 {len(images)} 张图片")
        
        # 保存图片到本地进行验证
        import os
        output_dir = "/Users/jinjunqian/PycharmProjects/订单处理新版/ordersys/test_export_images"
        os.makedirs(output_dir, exist_ok=True)
        
        for img in images:
            filepath = os.path.join(output_dir, img['filename'])
            with open(filepath, 'wb') as f:
                f.write(img['data'])
            logger.info(f"已保存图片: {filepath}")
        
        logger.info(f"测试完成！图片已保存到: {output_dir}")
        
    except Exception as e:
        logger.error(f"测试失败: {e}", exc_info=True)

if __name__ == "__main__":
    # 切换到正确的目录
    import sys
    import os
    sys.path.insert(0, '/Users/jinjunqian/PycharmProjects/订单处理新版/ordersys/backend')
    os.chdir('/Users/jinjunqian/PycharmProjects/订单处理新版/ordersys/backend')
    
    # 运行测试
    asyncio.run(test_image_export())