from typing import Tuple
from typing import Optional


def parse_display_name(name : str) -> Tuple[Optional[str], str]:
    """
    Splits the display name into two item tuple which represents
    category and block name.

    Args:
        name:
            Any string that represents the block display name.
    
    Returns:
        A two item tuple: first item is for category and
        second one is for block name. Category can be None if name doesn't contain
        any "." (dot) character.
    """
    _parts = name.split(".")
    if len(_parts) == 1:
        return (None, _parts[0])
    return (_parts[0], ".".join(_parts[1:]))