From 5631f20efbfc4b69c8d617a249a4ff03d5852bf1 Mon Sep 17 00:00:00 2001 From: ZhuoZhou Date: Tue, 6 May 2025 18:12:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- check_zip_psd.py | 28 ++++++++++++++++++++++++++++ config.py | 6 ++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/check_zip_psd.py b/check_zip_psd.py index c2a5e79..199add1 100644 --- a/check_zip_psd.py +++ b/check_zip_psd.py @@ -28,6 +28,13 @@ def check_psd(psd_path): # elif not names[2][0].isdigit(): # error_log.append(f'{psd_name}:{config.error_log.psd_name_error.value}') + try: + psd_point_num = int(names[1][:2]) + except Exception as e: + print(e) + error_log.append(config.error_log.psd_name_error.value) + return + psd = PSDImage.open(psd_path) color_mode = get_psd_color_mode(psd_path) @@ -59,6 +66,7 @@ def check_psd(psd_path): all_tlight = [] all_tshadow = [] all_group = [] + all_group_num = [] # all_color_it_full = [] # all_color_it_item = [] is_exist_base = False @@ -88,6 +96,19 @@ def check_psd(psd_path): error_log.append(f'{psd_name}:{item_layer.name}:{config.error_log.psd_item_name_error.value}') elif group_name in layer.name: + try: + group_num_str = layer.name.replace(group_name, "") + group_num = int(group_num_str) + except Exception as e: + error_log.append(f'{psd_name}:{layer.name}:{config.error_log.group_name_error.value}') + print(e) + continue + if group_num <= 0 or group_num > psd_point_num: + error_log.append(f'{psd_name}:{layer.name}:{config.error_log.group_name_error.value}') + continue + else: + all_group_num.append(group_num) + if not layer.is_group(): error_log.append(f'{psd_name}:{layer.name}:{config.error_log.group_name_error.value}') elif layer.name in all_group: @@ -96,6 +117,9 @@ def check_psd(psd_path): all_group.append(layer.name) is_exit_full = False for child_layer in layer: + if group_num_str not in child_layer.name: + error_log.append(f'{psd_name}:{child_layer.name}:{config.error_log.child_layer_not_in_group.value}') + if child_layer.is_group(): error_log.append(f'{psd_name}:{child_layer.name}:{config.error_log.child_layer_is_group.value}') else: @@ -138,6 +162,10 @@ def check_psd(psd_path): if not is_exist_titem_group: error_log.append(f'{psd_name}:{config.error_log.item_group_not_exit.value}') + for i in range(1,psd_point_num + 1): + if i not in all_group_num: + error_log.append(f'{psd_name}:{i}:{config.error_log.group_lack.value}') + all_item_count = len(all_items) if len(all_full) != all_item_count: #or ( len(all_color_it_item) != 0 and len(all_color_it_item) != all_item_count) or ( diff --git a/config.py b/config.py index 7ac1f96..c43918c 100644 --- a/config.py +++ b/config.py @@ -3,7 +3,7 @@ import enum psd_standard_width = 3000 psd_standard_height = 2000 psd_standard_width2 = 2000 -psd_standard_height2 = 3000 +psd_standard_height2 = 2910 class error_log(enum.Enum): @@ -28,4 +28,6 @@ class error_log(enum.Enum): group_name_error = '分组的名字错误' child_layer_is_group = '子层级是个分组' child_layer_unknown = '子层级名字未知' - group_tfull_not_exit = '分组下没有full图层' \ No newline at end of file + child_layer_not_in_group = '子层级名字和分组名字没有对应上' + group_tfull_not_exit = '分组下没有full图层' + group_lack = '缺少这个group' \ No newline at end of file