diff --git a/backup.py b/backup.py deleted file mode 100644 index 5773b8a7..00000000 --- a/backup.py +++ /dev/null @@ -1,86 +0,0 @@ -import os -import re -import platform -import glob -import subprocess -import sys - -def get_logs_directory(): - system = platform.system() - if system == "Darwin": # macOS - return os.path.expanduser("~/Library/Logs/ComfyUI") - if system == "Windows": - appdata = os.getenv("APPDATA") - if appdata is None: - raise EnvironmentError("APPDATA environment variable is not set") - return os.path.join(appdata, "ComfyUI", "logs") - - raise NotImplementedError(f"System {system} not supported") - -def parse_log_file(log_path): - custom_nodes = set() - pattern = r"custom_nodes[/\\]([^/\\\s]+)(?:\.py)?" - - with open(log_path, 'r', encoding='utf-8') as file: - content = file.read() - matches = re.finditer(pattern, content) - - for match in matches: - node_name = match.group(1) - # Exclude specific nodes - if node_name not in ["ComfyUI-Manager", "websocket_image_save.py"]: - custom_nodes.add(node_name) - - return custom_nodes - -def get_sorted_log_files(): - try: - logs_dir = get_logs_directory() - except EnvironmentError: - print("Failed to get logs directory") - return [] - - log_files = glob.glob(os.path.join(logs_dir, "comfyui*.log")) - - # Sort files by modification time, newest first - return sorted(log_files, key=os.path.getmtime, reverse=True) - -def install_custom_nodes(nodes_list): - if not nodes_list: - print("No custom nodes to install") - return - - current_dir = os.path.dirname(os.path.abspath(__file__)) - cm_cli_path = os.path.join(current_dir, "cm-cli.py") - - if not os.path.exists(cm_cli_path): - print("ComfyUI-Manager CLI not found") - return - - nodes_str = " ".join(nodes_list) - - try: - cmd = [sys.executable, cm_cli_path, "install", *nodes_list] - subprocess.run(cmd, check=True) - print(f"Successfully installed nodes: {nodes_str}") - except subprocess.CalledProcessError as e: - print(f"Error installing nodes: {e}") - -def main(): - log_files = get_sorted_log_files() - if not log_files: - print("No log files found") - return - - custom_nodes = set() - for log_file in log_files: - nodes = parse_log_file(log_file) - if nodes: - custom_nodes.update(nodes) - print(f"Found custom nodes: {custom_nodes}") - install_custom_nodes(custom_nodes) - -if __name__ == "__main__": - #main() - print(parse_log_file("/Users/junhanhuang/Downloads/comfyui_2024-11-28T00-22-15-857Z.log")) -