mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-01-11 10:25:16 +00:00
f07e5bb522
* Create internal route table. * List files. * Add GET /internal/files. Retrieves list of files in models, output, and user directories. * Refactor file names. * Use typing_extensions for Python 3.8 * Fix tests. * Remove print statements. * Update README. * Add output and user to valid directory test. * Add missing type hints.
13 lines
744 B
Python
13 lines
744 B
Python
from typing import Dict, List, Optional
|
|
from api_server.utils.file_operations import FileSystemOperations, FileSystemItem
|
|
|
|
class FileService:
|
|
def __init__(self, allowed_directories: Dict[str, str], file_system_ops: Optional[FileSystemOperations] = None):
|
|
self.allowed_directories: Dict[str, str] = allowed_directories
|
|
self.file_system_ops: FileSystemOperations = file_system_ops or FileSystemOperations()
|
|
|
|
def list_files(self, directory_key: str) -> List[FileSystemItem]:
|
|
if directory_key not in self.allowed_directories:
|
|
raise ValueError("Invalid directory key")
|
|
directory_path: str = self.allowed_directories[directory_key]
|
|
return self.file_system_ops.walk_directory(directory_path) |