"""Public URLs for files under MEDIA_ROOT; honors MEDIA_URL (including SITE_SUBPATH)."""

from typing import Optional

from django.conf import settings


def public_media_url(path: Optional[str]) -> str:
    p = (path or "").strip()
    if not p:
        return ""
    if p.startswith(("http://", "https://")):
        return p
    base = settings.MEDIA_URL
    if not base.endswith("/"):
        base = f"{base}/"
    if p.startswith(base):
        return p
    if p.startswith("/media/"):
        return f"{base}{p[len('/media/'):]}"
    return f"{base}{p.lstrip('/')}"
