示例#1
0
文件: test.py 项目: jaygoyani1/GEDCOM
    def test_US_04(self):
        file_name = 'US_04_05_06.ged'
        file_path = os.path.join(current_directory, 'gedcom_test_files',
                                 file_name)
        individuals, families, tag_positions = parse_gedcom(
            file_path, 'outputs/test_output.txt')

        family = Family(1)
        family.divorced = check_and_convert_string_to_date("05 JAN 2005", 0)
        family.married = check_and_convert_string_to_date("10 JAN 2005", 0)
        self.assertEqual(
            marriage_before_divorce({}, {1: family},
                                    {1: {
                                        'DIV': {1},
                                        'MARR': {2}
                                    }}),
            [
                'ANOMALY: FAMILY: US04, line{1, 2}, Divorced before marriage in family 1.'
            ])
        self.assertEqual(
            marriage_before_divorce(individuals, families, tag_positions), [
                'ANOMALY: FAMILY: US04, line{33, 35}, Divorced before marriage in family @F1@.'
            ])
示例#2
0
def create_family_list(parsed_output):
    prev_is_married = False
    prev_is_divorced = False
    start_case = False
    for line in parsed_output:
        if line[0] == "FAM":
            if start_case == True:
                families.append(z)
            start_case = True
            line[1] = line[1].replace('@', '')
            z = Family(line[1])
        elif line[0] == "MARR":
            prev_is_married = True
        elif line[0] == "DATE" and prev_is_married == True:
            z.married = line[1]
            prev_is_married = False
        elif line[0] == "DIV":
            prev_is_divorced = True
        elif line[0] == "DATE" and prev_is_divorced == True:
            z.divorced = line[1]
            prev_is_married = False
        elif line[0] == "HUSB":
            line[1] = line[1].replace('@', '')
            z.husbandId = line[1]
            z.husbandName = person_lookup(line[1])
        elif line[0] == "WIFE":
            line[1] = line[1].replace('@', '')
            z.wifeId = line[1]
            z.wifeName = person_lookup(line[1])
        elif line[0] == "CHIL":
            line[1] = line[1].replace('@', '')
            if len(z.children) > 0:
                z.children.append(line[1])
            else:
                z.children = [line[1]]
    families.append(z)