Files
ewoooc/scripts/archive/analyze_remaining.py
ogt 1b4f3a7bbe
Some checks failed
CD Pipeline / deploy (push) Failing after 59s
feat: EwoooC 初始化 — 完整專案推版至 Gitea
- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml)
- 部署模式: rsync Python 檔案至 188 → docker restart (volume mount)
- Dockerfile/requirements 變動時自動重建 Docker image
- 部署通知: Telegram (開始/成功/失敗)
- 健康檢查: https://mo.wooo.work/health (最多 5 次重試)
- 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 01:21:13 +08:00

60 lines
2.0 KiB
Python

import os
import sys
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, BASE_DIR)
from database.models import Product
DB_PATH = os.path.join(BASE_DIR, 'data', 'momo_database.db')
engine = create_engine(f'sqlite:///{DB_PATH}')
Session = sessionmaker(bind=engine)
session = Session()
# 讀取需要修復的商品清單
with open('incorrect_images.txt', 'r') as f:
i_codes = [line.strip() for line in f if line.strip()]
print(f"🔍 分析剩餘 {len(i_codes)} 個錯誤商品...\n")
# 分析圖片 URL 格式
old_format = 0 # img2.momoshop.com.tw
og_format_wrong = 0 # og.momoshop.com.tw 但 i_code 不對
no_image = 0
old_format_list = []
og_wrong_list = []
for i_code in i_codes[:100]: # 只檢查前 100 個
product = session.query(Product).filter(Product.i_code == i_code).first()
if product:
if not product.image_url:
no_image += 1
elif 'img' in product.image_url and 'momoshop.com.tw/ecm/img/online' in product.image_url:
old_format += 1
old_format_list.append(i_code)
elif 'og.momoshop.com.tw' in product.image_url:
og_format_wrong += 1
og_wrong_list.append(i_code)
print(f"📊 前 100 個商品分析:")
print(f" 舊格式 (img2.momoshop...): {old_format}")
print(f" 新格式但 i_code 錯誤: {og_format_wrong}")
print(f" 無圖片: {no_image}")
print(f"\n舊格式商品範例 (前 10 個):")
for i_code in old_format_list[:10]:
product = session.query(Product).filter(Product.i_code == i_code).first()
print(f" [{i_code}] {product.name[:40]}...")
print(f" {product.image_url[:80]}...")
if og_wrong_list:
print(f"\n新格式但 i_code 錯誤的商品範例 (前 5 個):")
for i_code in og_wrong_list[:5]:
product = session.query(Product).filter(Product.i_code == i_code).first()
print(f" [{i_code}] {product.name[:40]}...")
print(f" {product.image_url}")
session.close()