"""Set folder path use case.""" import logging from infrastructure.filesystem import FileManager from .dto import SetFolderPathResponse logger = logging.getLogger(__name__) class SetFolderPathUseCase: """ Use case for setting a folder path in configuration. This orchestrates the FileManager to set folder paths. """ def __init__(self, file_manager: FileManager): """ Initialize use case. Args: file_manager: FileManager instance """ self.file_manager = file_manager def execute(self, folder_name: str, path_value: str) -> SetFolderPathResponse: """ Set a folder path in configuration. Args: folder_name: Name of folder to set (download, tvshow, movie, torrent) path_value: Absolute path to the folder Returns: SetFolderPathResponse with success or error information """ result = self.file_manager.set_folder_path(folder_name, path_value) if result.get("status") == "ok": return SetFolderPathResponse( status="ok", folder_name=result.get("folder_name"), path=result.get("path"), ) else: return SetFolderPathResponse( status="error", error=result.get("error"), message=result.get("message") )