Spaces:
Runtime error
Runtime error
| import os | |
| import json | |
| import folder_paths | |
| import server | |
| from aiohttp import web | |
| import traceback | |
| from comfyui_to_python import ComfyUItoPython | |
| # Add API routes for FramerComfy | |
| async def deploy_to_framercomfy(request): | |
| try: | |
| data = await request.json() | |
| workflow_json = data.get("workflow", {}) | |
| models = data.get("models", []) | |
| # Process workflow for deployment | |
| result = process_workflow(workflow_json, models) | |
| return web.json_response(result) | |
| except Exception as e: | |
| traceback.print_exc() | |
| return web.json_response({"error": str(e)}, status=500) | |
| def process_workflow(workflow_json, models): | |
| # Directory setup for output | |
| output_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), "output") | |
| os.makedirs(output_dir, exist_ok=True) | |
| output_file = os.path.join(output_dir, "framercomfy_workflow.py") | |
| # Use the existing ComfyUItoPython to generate the code | |
| converter = ComfyUItoPython( | |
| workflow=json.dumps(workflow_json), | |
| workflow_models=models, | |
| output_file=output_file, | |
| queue_size=1, | |
| needs_init_custom_nodes=True | |
| ) | |
| generated_code = converter.execute() | |
| # Here you would add whatever else needs to happen for deployment | |
| return { | |
| "success": True, | |
| "message": "Workflow deployed successfully!", | |
| "output_file": output_file | |
| } | |
| # Set up web directory for static files | |
| web_directory = os.path.join(os.path.dirname(os.path.abspath(__file__)), "web") | |
| # Register our web directory for static files | |
| folder_paths.folder_names_and_paths["framercomfy_web"] = ([web_directory], folder_paths.PRIORITY_EXTENSION) | |
| # Add JS requirements | |
| comfy_ui_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| javascript_path = os.path.join(comfy_ui_path, "web", "extensions") | |
| def load_javascript_extensions(): | |
| # Create a list of JavaScript extensions to load | |
| extensions = [ | |
| os.path.join("framercomfy_web", "framer_comfy_dialog.js"), | |
| os.path.join("framercomfy_web", "framer_comfy_api.js"), | |
| ] | |
| # Register with ComfyUI | |
| return extensions | |
| # Register our JavaScript extensions | |
| NODE_CLASS_MAPPINGS = {} | |
| NODE_DISPLAY_NAME_MAPPINGS = {} | |
| WEB_DIRECTORY = web_directory | |
| __all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"] |