46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
|
|
"""
|
||
|
|
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()}"
|
||
|
|
)
|