import re
_SIZE = re.compile(r"\s+\d+(?:[.,x]\d+)?\s*mm.*$", re.I)
def parse(html, item, row):
    name = row.get("name") or ""
    if re.search(r"\b(strap|bracelet)\b\s*$", name, re.I):
        return FILTERED  # noqa: F821
    # model line from the name ("Tissot PRX 40mm" -> "PRX"); site 'collection' label is the nav bucket
    row["category"] = row.get("collection") or ""
    row["collection"] = _SIZE.sub("", re.sub(r"^Tissot\s+", "", name)).strip()
    row["gender"] = row.get("gender") or ""
    if not row.get("movement_type"):
        return None  # spec block missing -> failure
    return row
