Files
Kavosh/app/utils/upload_paths.py
T
2026-08-07 21:17:17 +03:30

21 lines
776 B
Python

"""Shared upload-path helper (Chapter 04) — used by the uploads blueprint,
the optional CLI processor, and the automatic background-thread processor,
so there's one definition of where a given LogFile's raw upload lives on
disk. Pulled out of the uploads blueprint so services/ doesn't have to
import from blueprints/ (the wrong direction) to reach it.
"""
from __future__ import annotations
from pathlib import Path
from flask import current_app
from app.models.log_file import LogFile
def upload_path_for(log_file: LogFile) -> Path:
"""Deterministic on-disk path for a LogFile row — avoids a new DB column."""
ext = Path(log_file.filename).suffix.lower()
upload_dir = Path(current_app.config["UPLOAD_DIR"])
return upload_dir / f"{log_file.id}{ext}"