def METHOD_NAME(handle):
    """Parse a handle containing a GenePop file.
    handle is a file-like object that contains a GenePop record.
    """
    record = Record()
    record.comment_line = next(handle).rstrip()
    # We can now have one loci per line or all loci in a single line
    # separated by either space or comma+space...
    # We will remove all commas on loci... that should not be a problem
    sample_loci_line = next(handle).rstrip().replace(",", "")
    all_loci = sample_loci_line.split(" ")
    record.loci_list.extend(all_loci)
    for line in handle:
        line = line.rstrip()
        if line.upper() == "POP":
            break
        record.loci_list.append(line)
    else:
        raise ValueError("No population data found, file probably not GenePop related")
    record.populations.append([])
    for line in handle:
        line = line.rstrip()
        if line.upper() == "POP":
            record.populations.append([])
        else:
            indiv_name, allele_list, record.marker_len = get_indiv(line)
            record.populations[-1].append((indiv_name, allele_list))
    loci = record.loci_list
    for pop in record.populations:
        record.pop_list.append(pop[-1][0])
        for indiv in pop:
            for mk_i in range(len(loci)):
                mk_orig = indiv[1][mk_i]
                mk_real = []
                for al in mk_orig:
                    if al == 0:
                        mk_real.append(None)
                    else:
                        mk_real.append(al)
                indiv[1][mk_i] = tuple(mk_real)
    return record