iLOVE2D's picture
Upload 2846 files
5374a2d verified
import os
import time
from typing import Optional
from ..storage_handler import FileStorageHandler
def ensure_dir(path: str, storage_handler: Optional[FileStorageHandler] = None):
"""Ensure directory exists using storage handler or fallback to direct I/O"""
if path:
if storage_handler:
storage_handler.create_directory(path)
else:
os.makedirs(path, exist_ok=True)
def unique_filename(prefix: str, ext: str = "png", storage_handler: Optional[FileStorageHandler] = None) -> str:
"""Generate unique filename using storage handler or fallback to timestamp"""
if storage_handler:
base_filename = f"{prefix}.{ext}"
filename = base_filename
counter = 1
# Check if file exists and generate unique name
while storage_handler.exists(filename):
filename = f"{prefix}_{counter}.{ext}"
counter += 1
return filename
else:
# Fallback to timestamp-based naming
ts = int(time.time())
return f"{prefix}_{ts}.{ext}"
def ensure_dir_legacy(path: str):
"""Legacy function for backward compatibility - uses direct file I/O"""
if path:
os.makedirs(path, exist_ok=True)
def unique_filename_legacy(prefix: str, ext: str = "png") -> str:
"""Legacy function for backward compatibility - uses timestamp"""
ts = int(time.time())
return f"{prefix}_{ts}.{ext}"