Files
Eagle-CN-ComfyUI-Addoor/classes/AD_DeleteLocalAny.py
T
2024-12-20 08:57:55 +08:00

64 lines
2.0 KiB
Python

import os
class AD_DeleteLocalAny:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"Any": ("STRING", {"forceInput": True}),
"File_Name": ("STRING", {"default": ""})
},
}
INPUT_IS_LIST = True
RETURN_TYPES = ("STRING", "STRING")
RETURN_NAMES = ("Tips", "Deleted_Paths")
OUTPUT_NODE = True
FUNCTION = "delete_files"
CATEGORY = "🌻 葵花宝典/批量操作"
def delete_files(self, Any, File_Name):
if not isinstance(Any, list):
Any = [Any]
if isinstance(File_Name, list):
File_Name = File_Name[0] if File_Name else ""
elif File_Name is None:
File_Name = ""
tips = []
deleted_paths = []
for item in Any:
if os.path.isdir(item):
for root, dirs, files in os.walk(item):
for file in files:
if not File_Name or file.startswith(File_Name):
file_path = os.path.join(root, file)
try:
os.remove(file_path)
tips.append(f"Deleted file: {file_path}")
deleted_paths.append(file_path)
except Exception as e:
tips.append(f"Error deleting {file_path}: {str(e)}")
elif os.path.isfile(item):
try:
os.remove(item)
tips.append(f"Deleted file: {item}")
deleted_paths.append(item)
except Exception as e:
tips.append(f"Error deleting {item}: {str(e)}")
else:
tips.append(f"'{item}' is not a valid file or directory path")
return ('\n'.join(tips), '\n'.join(deleted_paths))
N_CLASS_MAPPINGS = {
"AD_DeleteLocalAny": AD_DeleteLocalAny,
}
N_DISPLAY_NAME_MAPPINGS = {
"AD_DeleteLocalAny": "🌻 Delete Local Any",
}