```python
def in_quote(ch: str) -> bool:
    """Return True if the character is a quotation mark."""
    return ch in '()"'

def quote_split(line: str) -> list:
    """Split a line on commas, except for commas inside quotation marks."""
    if not line:
        return []

    result = []
    in_quote_char = None
    i = 0

    while i < len(line):
        ch = line[i]
        if ch == '"':
            if in_quote_char is None:
                in_quote_char = ch
            elif in_quote_char == ch:
                in_quote_char = None
            else:
                # If we encounter a closing quote inside quotes, ignore it
                i += 1
                continue
        elif ch == ',' and in_quote_char is None:
            result.append(line[:i])
            line = line[i + 1:]
            i = 0
        else:
            i += 1

    if line:
        result.append(line)

    return result
```