def write_group_author(group_authors: str) -> str:
    """
    Given a string with a variable length of group author, insert into XML snippet, and return XML snippet
    NOTE: Group author does not require a primary key/unique ID

    :param group_authors: A string containing 1+ group authors, with multiple authors separated by || double pipes
    :return: XML snippet with group authors

    >>> write_group_author("Beauxbatons||Durmstrang")   #doctest: +NORMALIZE_WHITESPACE
    '<v1:author>
        <v1:role>author</v1:role>
        <v1:groupAuthor>Beauxbatons</v1:groupAuthor>
    </v1:author>
    <v1:author>
        <v1:role>author</v1:role>
        <v1:groupAuthor>Durmstrang</v1:groupAuthor>
    </v1:author>'
    >>> write_group_author("Hogwarts School")
    '<v1:author>\n            <v1:role>author</v1:role>\n            <v1:groupAuthor>Hogwarts School</v1:groupAuthor>\n        </v1:author>\n        '
    """
    if "||" in group_authors:
        groups = group_authors.split("||")
    else:
        groups = [group_authors]
    group_authors_xml_snippet = ""
    if group_authors != "":
        for one_group_author in groups:
            group_authors_xml_snippet += """<v1:author>
            <v1:role>author</v1:role>
            <v1:groupAuthor>""" + one_group_author + """</v1:groupAuthor>
        </v1:author>
        """
    return group_authors_xml_snippet