Asset related fixes

This commit is contained in:
henryruhs
2026-01-22 11:32:29 +01:00
parent fb4811a65b
commit 062bd6a187
2 changed files with 16 additions and 9 deletions
+2 -3
View File
@@ -1,10 +1,9 @@
import os
import uuid
from datetime import datetime, timedelta
from typing import List, Optional, cast
from facefusion.apis.asset_helper import detect_media_type, extract_audio_metadata, extract_image_metadata, extract_video_metadata
from facefusion.filesystem import get_file_format, get_file_name
from facefusion.filesystem import get_file_format, get_file_name, get_file_size
from facefusion.types import AssetId, AssetSet, AssetStore, AssetType, AudioAsset, AudioFormat, ImageAsset, ImageFormat, SessionId, VideoAsset, VideoFormat
ASSET_STORE : AssetStore = {}
@@ -14,7 +13,7 @@ def create_asset(session_id : SessionId, asset_type : AssetType, asset_path : st
asset_id = str(uuid.uuid4())
asset_name = get_file_name(asset_path)
asset_format = get_file_format(asset_path)
asset_size = os.path.getsize(asset_path)
asset_size = get_file_size(asset_path)
media_type = detect_media_type(asset_path)
created_at = datetime.now()
expires_at = created_at + timedelta(hours = 2)
+14 -6
View File
@@ -11,7 +11,7 @@ from facefusion import ffmpeg, process_manager, session_manager, state_manager
from facefusion.apis import asset_store
from facefusion.apis.asset_helper import detect_media_type
from facefusion.apis.endpoints.session import extract_access_token
from facefusion.filesystem import get_file_extension, remove_file
from facefusion.filesystem import get_file_extension, get_file_name, remove_file
async def upload_asset(request : Request) -> Response:
@@ -29,10 +29,12 @@ async def upload_asset(request : Request) -> Response:
for asset_path in asset_paths:
asset = asset_store.create_asset(session_id, asset_type, asset_path) # type: ignore[arg-type]
asset_id = asset.get('id')
if asset_id:
asset_ids.append(asset_id)
if asset:
asset_id = asset.get('id')
if asset_id:
asset_ids.append(asset_id)
if asset_ids:
return JSONResponse(
@@ -58,7 +60,8 @@ async def save_asset_files(upload_files : List[UploadFile]) -> List[str]:
media_type = detect_media_type(temp_file.name)
temp_path = state_manager.get_temp_path()
asset_path = os.path.join(temp_path, temp_file.name + '.' + upload_file_extension)
asset_file_name = get_file_name(temp_file.name)
asset_path = os.path.join(temp_path, asset_file_name + '_' + upload_file_extension)
process_manager.start()
@@ -144,9 +147,14 @@ async def delete_assets(request : Request) -> Response:
asset_set = asset_store.get_assets(session_id)
if asset_set:
for asset_id in asset_ids:
if asset_id in asset_set:
remove_file(asset_set.get(asset_id).get('path'))
asset = asset_set.get(asset_id)
if asset:
remove_file(asset.get('path'))
asset_store.delete_assets(session_id, asset_ids)
return Response(status_code = HTTP_200_OK)