|
@@ -265,7 +265,7 @@ class RunMain:
|
|
|
def validate_folder_integrity(self, folder_path, folder_name, expected_output_count=None):
|
|
def validate_folder_integrity(self, folder_path, folder_name, expected_output_count=None):
|
|
|
"""
|
|
"""
|
|
|
验证货号文件夹的完整性
|
|
验证货号文件夹的完整性
|
|
|
- 检查800x800目录中的文件数量是否等于预期数量
|
|
|
|
|
|
|
+ 检查800x800目录和阴影图处理目录中的文件数量是否等于预期数量
|
|
|
|
|
|
|
|
Args:
|
|
Args:
|
|
|
folder_path: 货号文件夹路径
|
|
folder_path: 货号文件夹路径
|
|
@@ -280,6 +280,7 @@ class RunMain:
|
|
|
|
|
|
|
|
original_dir = "{}/原始图".format(folder_path)
|
|
original_dir = "{}/原始图".format(folder_path)
|
|
|
processed_dir = "{}/800x800".format(folder_path)
|
|
processed_dir = "{}/800x800".format(folder_path)
|
|
|
|
|
+ shadow_dir = "{}/阴影图处理".format(folder_path)
|
|
|
|
|
|
|
|
# 检查目录是否存在
|
|
# 检查目录是否存在
|
|
|
if not os.path.exists(original_dir):
|
|
if not os.path.exists(original_dir):
|
|
@@ -290,6 +291,10 @@ class RunMain:
|
|
|
logger.warning(f"[目录校验] 货号 {folder_name} - 800x800目录不存在: {processed_dir}")
|
|
logger.warning(f"[目录校验] 货号 {folder_name} - 800x800目录不存在: {processed_dir}")
|
|
|
return False, 0, 0, 0, f"800x800目录不存在"
|
|
return False, 0, 0, 0, f"800x800目录不存在"
|
|
|
|
|
|
|
|
|
|
+ if not os.path.exists(shadow_dir):
|
|
|
|
|
+ logger.warning(f"[目录校验] 货号 {folder_name} - 阴影图处理目录不存在: {shadow_dir}")
|
|
|
|
|
+ return False, 0, 0, 0, f"阴影图处理目录不存在"
|
|
|
|
|
+
|
|
|
# 统计原始图文件数量(只统计图片文件)
|
|
# 统计原始图文件数量(只统计图片文件)
|
|
|
_Type = [".png", ".PNG", ".jpg", ".JPG", ".gif", ".GIF", ".jpge", ".JPGE"]
|
|
_Type = [".png", ".PNG", ".jpg", ".JPG", ".gif", ".GIF", ".jpge", ".JPGE"]
|
|
|
original_files = []
|
|
original_files = []
|
|
@@ -309,6 +314,15 @@ class RunMain:
|
|
|
|
|
|
|
|
processed_count = len(processed_files)
|
|
processed_count = len(processed_files)
|
|
|
|
|
|
|
|
|
|
+ # 统计阴影图处理目录文件数量
|
|
|
|
|
+ shadow_files = []
|
|
|
|
|
+ for f in os.listdir(shadow_dir):
|
|
|
|
|
+ _, ext = os.path.splitext(f)
|
|
|
|
|
+ if ext in _Type:
|
|
|
|
|
+ shadow_files.append(f)
|
|
|
|
|
+
|
|
|
|
|
+ shadow_count = len(shadow_files)
|
|
|
|
|
+
|
|
|
# 计算预期的输出文件数量
|
|
# 计算预期的输出文件数量
|
|
|
if expected_output_count is None:
|
|
if expected_output_count is None:
|
|
|
# 从配置中获取主图尺寸列表
|
|
# 从配置中获取主图尺寸列表
|
|
@@ -339,17 +353,25 @@ class RunMain:
|
|
|
else:
|
|
else:
|
|
|
expected_count = expected_output_count
|
|
expected_count = expected_output_count
|
|
|
|
|
|
|
|
- logger.info(f"[目录校验] 货号 {folder_name} - 原始图: {original_count}张, 800x800: {processed_count}张, 预期: {expected_count}张")
|
|
|
|
|
|
|
+ # 预期的阴影图数量 = 原始图数量 * 2(每个原图生成2个文件:阴影图和抠图)
|
|
|
|
|
+ expected_shadow_count = original_count * 2
|
|
|
|
|
+
|
|
|
|
|
+ logger.info(f"[目录校验] 货号 {folder_name} - 原始图: {original_count}张, 800x800: {processed_count}张, 预期: {expected_count}张, 阴影图: {shadow_count}张, 预期阴影图: {expected_shadow_count}张")
|
|
|
|
|
|
|
|
# 如果原始图为空,认为无效
|
|
# 如果原始图为空,认为无效
|
|
|
if original_count == 0:
|
|
if original_count == 0:
|
|
|
logger.error(f"[目录校验] 货号 {folder_name} - 原始图目录为空")
|
|
logger.error(f"[目录校验] 货号 {folder_name} - 原始图目录为空")
|
|
|
return False, original_count, processed_count, expected_count, "原始图目录为空"
|
|
return False, original_count, processed_count, expected_count, "原始图目录为空"
|
|
|
|
|
|
|
|
- # 严格检查:处理后的文件数量必须等于预期数量
|
|
|
|
|
|
|
+ # 严格检查:800x800文件数量必须等于预期数量
|
|
|
if processed_count != expected_count:
|
|
if processed_count != expected_count:
|
|
|
- logger.error(f"[目录校验] 货号 {folder_name} - 处理失败: 预期{expected_count}张,实际{processed_count}张 (原始图{original_count}张 × {len(out_pic_size_list) if 'out_pic_size_list' in locals() else '?'}个尺寸)")
|
|
|
|
|
- return False, original_count, processed_count, expected_count, f"处理文件数量不匹配: 预期{expected_count}张,实际{processed_count}张"
|
|
|
|
|
|
|
+ logger.error(f"[目录校验] 货号 {folder_name} - 800x800处理失败: 预期{expected_count}张,实际{processed_count}张 (原始图{original_count}张 × {len(out_pic_size_list) if 'out_pic_size_list' in locals() else '?'}个尺寸)")
|
|
|
|
|
+ return False, original_count, processed_count, expected_count, f"800x800文件数量不匹配: 预期{expected_count}张,实际{processed_count}张"
|
|
|
|
|
+
|
|
|
|
|
+ # 严格检查:阴影图处理文件数量必须等于原始图的2倍
|
|
|
|
|
+ if shadow_count != expected_shadow_count:
|
|
|
|
|
+ logger.error(f"[目录校验] 货号 {folder_name} - 阴影图处理失败: 预期{expected_shadow_count}张(原始图{original_count}张 × 2),实际{shadow_count}张")
|
|
|
|
|
+ return False, original_count, processed_count, expected_count, f"阴影图文件数量不匹配: 预期{expected_shadow_count}张,实际{shadow_count}张"
|
|
|
|
|
|
|
|
logger.info(f"[目录校验] 货号 {folder_name} - 校验通过 ✓")
|
|
logger.info(f"[目录校验] 货号 {folder_name} - 校验通过 ✓")
|
|
|
return True, original_count, processed_count, expected_count, "校验通过"
|
|
return True, original_count, processed_count, expected_count, "校验通过"
|