Spaces:
Running
Running
| """File handling utilities""" | |
| import os | |
| import shutil | |
| from pathlib import Path | |
| from datetime import datetime | |
| UPLOAD_DIR = "uploads" | |
| def ensure_upload_dir(): | |
| """Ensure uploads directory exists""" | |
| Path(UPLOAD_DIR).mkdir(exist_ok=True) | |
| def save_uploaded_file(file_content: bytes, original_filename: str) -> str: | |
| """ | |
| Save uploaded file with timestamp to ensure uniqueness. | |
| Args: | |
| file_content: File bytes | |
| original_filename: Original filename | |
| Returns: | |
| Saved filename | |
| """ | |
| ensure_upload_dir() | |
| # Generate unique filename with timestamp | |
| timestamp = datetime.utcnow().strftime("%Y%m%d_%H%M%S_%f")[:-3] | |
| name, ext = os.path.splitext(original_filename) | |
| saved_filename = f"{name}_{timestamp}{ext}" | |
| filepath = os.path.join(UPLOAD_DIR, saved_filename) | |
| # Write file | |
| with open(filepath, "wb") as f: | |
| f.write(file_content) | |
| return saved_filename | |
| def get_file_path(filename: str) -> str: | |
| """Get full path for a saved file""" | |
| return os.path.join(UPLOAD_DIR, filename) | |
| def file_exists(filename: str) -> bool: | |
| """Check if a saved file exists""" | |
| return os.path.exists(get_file_path(filename)) | |
| def delete_file(filename: str) -> bool: | |
| """Delete a saved file""" | |
| filepath = get_file_path(filename) | |
| if os.path.exists(filepath): | |
| os.remove(filepath) | |
| return True | |
| return False |