41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
"""Filesystem tools for folder management."""
|
|
|
|
from typing import Any
|
|
|
|
from application.filesystem import ListFolderUseCase, SetFolderPathUseCase
|
|
from infrastructure.filesystem import FileManager
|
|
|
|
|
|
def set_path_for_folder(folder_name: str, path_value: str) -> dict[str, Any]:
|
|
"""
|
|
Set a folder path in the configuration.
|
|
|
|
Args:
|
|
folder_name: Name of folder to set (download, tvshow, movie, torrent).
|
|
path_value: Absolute path to the folder.
|
|
|
|
Returns:
|
|
Dict with status or error information.
|
|
"""
|
|
file_manager = FileManager()
|
|
use_case = SetFolderPathUseCase(file_manager)
|
|
response = use_case.execute(folder_name, path_value)
|
|
return response.to_dict()
|
|
|
|
|
|
def list_folder(folder_type: str, path: str = ".") -> dict[str, Any]:
|
|
"""
|
|
List contents of a configured folder.
|
|
|
|
Args:
|
|
folder_type: Type of folder to list (download, tvshow, movie, torrent).
|
|
path: Relative path within the folder (default: root).
|
|
|
|
Returns:
|
|
Dict with folder contents or error information.
|
|
"""
|
|
file_manager = FileManager()
|
|
use_case = ListFolderUseCase(file_manager)
|
|
response = use_case.execute(folder_type, path)
|
|
return response.to_dict()
|