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")