添加活动PSD检测
							parent
							
								
									7e5c20a353
								
							
						
					
					
						commit
						063a08a967
					
				|  | @ -0,0 +1,5 @@ | |||
| 存放活动的资源 | ||||
| 
 | ||||
| 活动封面拼图psd_id编号从90000开始-99999(9万-9.9999万) | ||||
| 
 | ||||
| 活动子关卡拼图psd_id编号从100000开始-149999(10万-14.9999万) | ||||
|  | @ -42,11 +42,13 @@ def parse_psd(path): | |||
|     max_width = 0 | ||||
|     max_height = 0 | ||||
| 
 | ||||
|     is_activity_main_psd = path.find("activity/main_psd/") != -1 | ||||
|     for item in psd.descendants(): | ||||
|         if not item.is_group(): | ||||
|             nArr = item.name.split('_') | ||||
| 
 | ||||
|             if item.name == "base": | ||||
|             #在活动背景中,基础图为base_1 | ||||
|             if item.name == "base" or (is_activity_main_psd and item.name == "base_1"): | ||||
|                 max_width = item.width | ||||
|                 max_height = item.height | ||||
|                 break | ||||
|  | @ -55,18 +57,14 @@ def parse_psd(path): | |||
|         if not item.is_group(): | ||||
|             nArr = item.name.split('_') | ||||
| 
 | ||||
|             if item.name == "base": | ||||
|                 max_width = item.width | ||||
|                 max_height = item.height | ||||
| 
 | ||||
|             if item.name.strip() != item.name: | ||||
|                 log.append("命名中存在空格:{}".format(item.name)) | ||||
| 
 | ||||
|             if nArr[0] == 'base': | ||||
|             if not is_activity_main_psd and nArr[0] == 'base': | ||||
|                 if has_base: | ||||
|                     log.append("存在多个base图层") | ||||
|                 has_base = True | ||||
|             elif nArr[0] == 'finish': | ||||
|             elif not is_activity_main_psd and nArr[0] == 'finish': | ||||
|                 if has_finish: | ||||
|                     log.append("存在多个finish图层") | ||||
|                 has_finish = True | ||||
|  | @ -96,6 +94,12 @@ def parse_psd(path): | |||
|                 auto_stages[nArr[1]].append(nArr[2]) | ||||
|             elif nArr[0] == 'thumbnail' or nArr[0] == 'role' or nArr[0] == 'rptmp': | ||||
|                 pass | ||||
|             elif is_activity_main_psd and nArr[0] == 'dot': | ||||
|                 if len(nArr) != 4: | ||||
|                     log.append("活动子点位,命名错误:{}".format(item.name)) | ||||
|             elif is_activity_main_psd and nArr[0] == 'base': | ||||
|                 if nArr[1] == '1': | ||||
|                     has_base = True | ||||
|             else: | ||||
|                 log.append("命名错误:{}\n".format(item.name)) | ||||
| 
 | ||||
|  | @ -114,7 +118,7 @@ def parse_psd(path): | |||
|     if not has_base: | ||||
|         log.append("未检测到base图层\n") | ||||
| 
 | ||||
|     if not has_finish: | ||||
|     if not is_activity_main_psd and not has_finish: | ||||
|         log.append("未检测到finish图层\n") | ||||
| 
 | ||||
|     for stage in patch_stages:  | ||||
|  | @ -133,27 +137,28 @@ def parse_psd(path): | |||
|             else: | ||||
|                 tmp[item] = 0 | ||||
| 
 | ||||
|     if len(lines) > 0 and len(patch_stages) != len(lines): | ||||
|         log.append("阶段与线稿不对应,线稿:{}  关卡:".format(len(lines), len(patch_stages))) | ||||
|     if not is_activity_main_psd: | ||||
|         if len(lines) > 0 and len(patch_stages) != len(lines): | ||||
|             log.append("阶段与线稿不对应,线稿:{}  关卡:".format(len(lines), len(patch_stages))) | ||||
| 
 | ||||
|     for item in patch_end: | ||||
|         if item not in line_end: | ||||
|             log.append("patch图层找不到描线:patch{}".format(item)) | ||||
|         for item in patch_end: | ||||
|             if item not in line_end: | ||||
|                 log.append("patch图层找不到描线:patch{}".format(item)) | ||||
| 
 | ||||
|     for item in line_end: | ||||
|         if item not in patch_end: | ||||
|             log.append("描线找不到patch图层:line{}".format(item)) | ||||
|         for item in line_end: | ||||
|             if item not in patch_end: | ||||
|                 log.append("描线找不到patch图层:line{}".format(item)) | ||||
| 
 | ||||
|     log.append("检测结束") | ||||
| 
 | ||||
|     if len(log) == 2: | ||||
|         return True, len(lines) > 0 | ||||
|         return True | ||||
|     else: | ||||
|         for a_log in log: | ||||
|             print(a_log) | ||||
|         return False, len(lines) > 0 | ||||
|         return False | ||||
| 
 | ||||
| def convert_2_zip_file(path): | ||||
| def convert_2_zip_file(path, is_activity_psd): | ||||
|     file_info_arr = os.path.split(path) | ||||
|     file_path = file_info_arr[0] | ||||
|     file_name = os.path.split(path)[1] | ||||
|  | @ -163,6 +168,8 @@ def convert_2_zip_file(path): | |||
|     file_name_without_ex = file_name.split(".")[0] | ||||
|     utils.zip_file("{}.psd".format(file_name_without_ex), "{}.zip".format(file_name_without_ex)) | ||||
|     os.chdir("../") | ||||
|     if is_activity_psd: | ||||
|         os.chdir("../") | ||||
|     os.remove(path) | ||||
| 
 | ||||
| ###生成version文件 | ||||
|  | @ -239,16 +246,15 @@ if __name__ == '__main__': | |||
|                             hash_now = utils.calc_hash(psd_file) | ||||
| 
 | ||||
|                         try: | ||||
|                             ret, has_line = parse_psd(psd_file) | ||||
|                             ret = parse_psd(psd_file) | ||||
|                             is_activity_psd = psd_file.find("activity/main_psd/") != -1 or psd_file.find("activity/level_psd/") != -1 | ||||
|                             if ret: | ||||
|                                 if not has_line: | ||||
|                                     export_outline.export_outline(psd_file) | ||||
| 
 | ||||
|                                 #检测成功,压缩到zip | ||||
|                                 convert_2_zip_file(psd_file) | ||||
|                                 convert_2_zip_file(psd_file, is_activity_psd) | ||||
|                                 versions[key] = hash_now | ||||
|                             write_version(); | ||||
|                             write_version() | ||||
|                         except Exception as e: | ||||
|                             print(name + " 解析失败:" + repr(e) + ",请检查命名规范,比如auto_1_1=>auto_1 或 patch_1_1=>patch_1") | ||||
|                     elif hash_now == hash_old: | ||||
|                         convert_2_zip_file(src_file) | ||||
|                         is_activity_psd = src_file.find("activity/main_psd/") != -1 | ||||
|                         convert_2_zip_file(src_file, is_activity_psd) | ||||
		Loading…
	
		Reference in New Issue