ge-tool/backend/common/destination_helper.py
2025-12-10 13:41:43 +07:00

46 lines
1.3 KiB
Python
Executable File

"""
Common utility for generating download destination paths.
Used by both API mode and Sharing Link mode.
"""
import os
from typing import Optional
def get_download_destination_path(
ge_id: str,
lang: str,
base_path: Optional[str] = None
) -> str:
"""
Generate destination path for downloads.
Args:
ge_id: GE ID (e.g., "11")
lang: Language code (e.g., "us", "US", "de") - will be UPPERCASED
base_path: Optional base path override. If None, uses nas_service.DESTINATION_PATH
Returns:
Full destination path (e.g., "\\172.16.14.240\\raw\\11_US\\")
Examples:
>>> get_download_destination_path("11", "us")
"\\\\172.16.14.240\\\\raw\\\\11_US\\\\"
>>> get_download_destination_path("1000", "de")
"\\\\172.16.14.240\\\\raw\\\\1000_DE\\\\"
>>> get_download_destination_path("42", "jp", "D:\\downloads")
"D:\\\\downloads\\\\42_JP\\\\"
"""
if base_path is None:
# Import here to avoid circular dependency
from ..services import nas_service
base_path = nas_service.DESTINATION_PATH
# Always uppercase the lang code to match old behavior (1000_DE, not 1000_de)
return os.path.join(
base_path,
f"{ge_id}_{lang.upper()}"
)