def is_eresource_callno(callno: str) -> bool:
    """
    Checks if call number is for electronic resource

    Args:
        callno:                         call number string

    Returns:
        bool
    """
    try:
        norm_callno = callno.lower()
    except AttributeError:
        return False

    if norm_callno.startswith("enypl"):  # NYPL pattern
        return True
    elif norm_callno in ("ebook", "eaudio", "evideo"):  # BPL pattern
        return True
    else:
        return False