Often, all files are in a single directory. If so, they'll all have
    the same prefix. Determine any such prefix.
    archive is a ZipFile

def get_prefix_dir(archive):
    """
    Often, all files are in a single directory. If so, they'll all have
    the same prefix. Determine any such prefix.
    archive is a ZipFile
    """
    names = archive.namelist()
    shortest_name = sorted(names, key=len)[0]
    candidate_prefixes = [
        shortest_name[:length]
        for length in range(len(shortest_name), -1, -1)
    ]
    for prefix in candidate_prefixes:
        if all(name.startswith(prefix) for name in names):
            return prefix
    return ''