Saving Bug Fix

This commit is contained in:
daxcay
2024-09-07 23:03:23 +05:30
parent ea7440a94d
commit 1dd3b820f1
2 changed files with 44 additions and 2 deletions
+42
View File
@@ -3,6 +3,7 @@ import json
import os
import shutil
import datetime
import time
import uuid
from aiohttp import web
from server import PromptServer
@@ -172,6 +173,11 @@ if hasattr(PromptServer, 'instance'):
with open(file_path, 'r') as f:
workflows[file_name] = json.load(f)
for file_name in sorted([f for f in os.listdir(user_workflow_dir) if not f.isdigit()]):
file_path = os.path.join(user_workflow_dir, file_name)
with open(file_path, 'r') as f:
workflows[file_name] = json.load(f)
return web.json_response(workflows)
@routes.post("/nexus/workflows/meta")
@@ -202,6 +208,16 @@ if hasattr(PromptServer, 'instance'):
'last_saved': last_modified_readable
})
for file_name in sorted([f for f in os.listdir(user_workflow_dir) if not f.isdigit()]):
file_path = os.path.join(user_workflow_dir, file_name)
last_modified_time = os.path.getmtime(file_path)
last_modified_readable = datetime.datetime.fromtimestamp(last_modified_time).strftime('%Y-%m-%d %H:%M:%S')
meta_data.append({
'file_name': file_name,
'last_saved': last_modified_readable
})
return web.json_response(meta_data)
@routes.post("/nexus/workflows/{id}")
@@ -277,6 +293,32 @@ if hasattr(PromptServer, 'instance'):
return web.json_response({'status': 'success'}, status=200)
@routes.post("/nexus/workflow/backup")
async def post_workflow(request):
user_id = (await request.json()).get('user_id')
if not user_id:
return web.json_response({'error': 'User ID required'}, status=400)
with open(PERMISSIONS_FILE, 'r') as f:
permissions = json.load(f)
user_permissions = permissions.get(user_id, {})
if not user_permissions.get('editor', False):
return web.json_response({'error': 'Forbidden'}, status=403)
new_data = await request.json()
user_workflow_dir = os.path.join(WORKFLOWS_DIR, user_id)
if not os.path.exists(user_workflow_dir):
os.makedirs(user_workflow_dir)
new_file_path = os.path.join(user_workflow_dir, f'lt_{round(time.time() * 1000)}')
with open(new_file_path, 'w') as f:
json.dump(new_data, f, indent=4)
return web.json_response({'status': 'success'}, status=200)
@routes.get("/nexus/workflow")
async def get_latest_workflow(request):
with open(SERVER_FILE, 'r') as f:
+2 -2
View File
File diff suppressed because one or more lines are too long