import re
from urllib.parse import urljoin, urlparse
from shared.config import config

def product_slug_from_href(href: str) -> str:
    p = urlparse(href)
    parts = [x for x in p.path.split("/") if x]
    if not parts:
        return ""
    last = parts[-1]
    if last.endswith(".html"):
        last = last[:-5]
    elif last.endswith(".htm"):
        last = last[:-4]
    last = re.sub(r"-(html|htm)+$", "", last, flags=re.I)
    return f"{last}-html"

def canonical_html_slug(slug: str) -> str:
    base = re.sub(r"-(html|htm)+$", "", slug, flags=re.I)
    return f"{base}-html"

def suma_href_from_html_slug(slug: str) -> str:
    canon = canonical_html_slug(slug)
    return urljoin(config()["base_url"], f"/{canon}.html")
