Spaces:
Running
on
L40S
Running
on
L40S
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) |