ge-tool/backend/common/destination_helper.py

46 lines
1.3 KiB
Python
Raw Permalink Normal View History

2025-12-10 06:41:43 +00:00
"""
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()}"
)