mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Thanks OrcaSlicer. Also fix wrong setting id in orca profile Add one py file to check whether has duplicated setting_id Signed-off-by: salt.wei <salt.wei@bambulab.com> Change-Id: I8461a1ae754253d8265ae5239fe91cc7ec775564
		
			
				
	
	
		
			44 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#by chatGPT
 | 
						|
import os
 | 
						|
import json
 | 
						|
 | 
						|
# 定义一个空列表,用于存储所有的 setting_id
 | 
						|
setting_id_values = []
 | 
						|
 | 
						|
# 定义递归函数
 | 
						|
def traverse_files(path):
 | 
						|
    for file in os.listdir(path):
 | 
						|
        file_path = os.path.join(path, file)
 | 
						|
        if os.path.isdir(file_path):
 | 
						|
            traverse_files(file_path)  # 递归遍历子文件夹
 | 
						|
        elif file_path.endswith('.json'):
 | 
						|
            # 解析 JSON 文件并提取 setting_id 的值
 | 
						|
            with open(file_path) as f:
 | 
						|
                try:
 | 
						|
                    data = json.load(f)
 | 
						|
                    if 'setting_id' in data:
 | 
						|
                        setting_id = data['setting_id']
 | 
						|
                        if isinstance(setting_id, str):
 | 
						|
                            setting_id_values.append(setting_id)
 | 
						|
                            # print(f"Found setting_id value: {setting_id}")
 | 
						|
                except (KeyError, json.JSONDecodeError):
 | 
						|
                    pass
 | 
						|
 | 
						|
# 从当前目录开始遍历
 | 
						|
traverse_files('.')
 | 
						|
 | 
						|
from collections import Counter
 | 
						|
 | 
						|
# 统计每个 setting_id 出现的次数
 | 
						|
setting_id_counts = Counter(setting_id_values)
 | 
						|
 | 
						|
# 找出出现次数大于 1 的 setting_id
 | 
						|
duplicated_setting_ids = [setting_id for setting_id, count in setting_id_counts.items() if count > 1]
 | 
						|
 | 
						|
# 输出重复的 setting_id
 | 
						|
if len(duplicated_setting_ids) > 0:
 | 
						|
    print("Found duplicated setting_id values:")
 | 
						|
    for setting_id in duplicated_setting_ids:
 | 
						|
        print(setting_id)
 | 
						|
else:
 | 
						|
    print("No duplicated setting_id values.") |