Prototype of test imports module and associated tests
This commit is contained in:
		@@ -10,7 +10,7 @@
 | 
			
		||||
# the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# This program is distributed in the hope that it will be useful, 
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
@@ -46,11 +46,19 @@ from ..const import GRAMPS_UUID
 | 
			
		||||
# create_id
 | 
			
		||||
#
 | 
			
		||||
#-------------------------------------------------------------------------
 | 
			
		||||
rand = random.Random(time.time())
 | 
			
		||||
_rand = random.Random(time.time())
 | 
			
		||||
_det_id = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def create_id():
 | 
			
		||||
    return "%08x%08x" % (int(time.time()*10000),
 | 
			
		||||
                         rand.randint(0, sys.maxsize))
 | 
			
		||||
    global _rand
 | 
			
		||||
    if _det_id is True:
 | 
			
		||||
        _rand = _rand + 1
 | 
			
		||||
        return "%08x%08x" % (_rand, _rand)
 | 
			
		||||
    else:
 | 
			
		||||
        return "%08x%08x" % (int(time.time()*10000),
 | 
			
		||||
                             _rand.randint(0, sys.maxsize))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def create_uid(self, handle=None):
 | 
			
		||||
    if handle:
 | 
			
		||||
@@ -59,3 +67,11 @@ def create_uid(self, handle=None):
 | 
			
		||||
        uid = uuid.uuid4()
 | 
			
		||||
    return uid.hex.upper()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def set_det_id(self, val=True):
 | 
			
		||||
    global _rand, _det_id
 | 
			
		||||
    _det_id = val
 | 
			
		||||
    if _det_id is True:
 | 
			
		||||
        _rand = 0
 | 
			
		||||
    else:
 | 
			
		||||
        _rand = random.Random(time.time())
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										78
									
								
								gramps/plugins/test/Tstdata/FTM_16dec2015a-mod1.ged
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								gramps/plugins/test/Tstdata/FTM_16dec2015a-mod1.ged
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
			
		||||
0 HEAD
 | 
			
		||||
1 SOUR FTM
 | 
			
		||||
2 VERS Family Tree Maker (22.2.5)
 | 
			
		||||
2 NAME Family Tree Maker for Mac OS X
 | 
			
		||||
2 CORP Ancestry.com
 | 
			
		||||
3 ADDR 360 W 4800 N
 | 
			
		||||
4 CONT Provo, UT 84604
 | 
			
		||||
3 PHON (801) 705-7000
 | 
			
		||||
1 DEST GED55
 | 
			
		||||
1 DATE 16 DEC 2015
 | 
			
		||||
1 CHAR UTF-8
 | 
			
		||||
1 FILE test_FTM_16dec2015-mod.ged
 | 
			
		||||
1 SUBM @SUBM@
 | 
			
		||||
1 GEDC
 | 
			
		||||
2 VERS 5.5
 | 
			
		||||
2 FORM LINEAGE-LINKED
 | 
			
		||||
0 @SUBM@ SUBM
 | 
			
		||||
0 @I278@ INDI
 | 
			
		||||
1 NAME Andrew /May/
 | 
			
		||||
2 SOUR @S29@
 | 
			
		||||
3 PAGE Year: 1850; Census Place: District 14, Cape Girardeau, Missouri; Roll:
 | 
			
		||||
4 CONC  M432_394; Page: 435B; Image: 248
 | 
			
		||||
3 OBJE @M159@
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 DATE 1816
 | 
			
		||||
2 PLAC Tennessee, USA
 | 
			
		||||
2 SOUR @S29@
 | 
			
		||||
3 PAGE Year: 1850; Census Place: District 14, Cape Girardeau, Missouri; Roll:
 | 
			
		||||
4 CONC  M432_394; Page: 435B; Image: 248
 | 
			
		||||
3 OBJE @M159@
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1850
 | 
			
		||||
2 PLAC District 14, Cape Girardeau, Missouri, USA
 | 
			
		||||
2 SOUR @S29@
 | 
			
		||||
3 PAGE Year: 1850; Census Place: District 14, Cape Girardeau, Missouri; Roll:
 | 
			
		||||
4 CONC  M432_394; Page: 435B; Image: 248
 | 
			
		||||
3 OBJE @M159@
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 DATE 1850/1860
 | 
			
		||||
2 PLAC Bollinger Co. MO
 | 
			
		||||
1 FAMS @F73@
 | 
			
		||||
1 FAMS @F74@
 | 
			
		||||
1 FAMC @F73@
 | 
			
		||||
1 FAMC @F73@
 | 
			
		||||
1 FAMC @F74@
 | 
			
		||||
1 FAMC @F74@
 | 
			
		||||
0 @F73@ FAM
 | 
			
		||||
1 HUSB @I278@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 DATE ABT 1841
 | 
			
		||||
2 PLAC Union Co.?, IL
 | 
			
		||||
0 @F74@ FAM
 | 
			
		||||
1 HUSB @I278@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 DATE AUG 1847
 | 
			
		||||
2 PLAC Wayne, Missouri, United States
 | 
			
		||||
0 @S29@ SOUR
 | 
			
		||||
1 AUTH Ancestry.com
 | 
			
		||||
1 TITL 1850 United States Federal Census
 | 
			
		||||
1 PUBL  Name: Ancestry.com Operations, Inc.; Location: Provo, UT, USA; Date:
 | 
			
		||||
2 CONC  2009;
 | 
			
		||||
1 REPO @R1@
 | 
			
		||||
0 @R1@ REPO
 | 
			
		||||
1 NAME Ancestry.com
 | 
			
		||||
1 ADDR
 | 
			
		||||
1 EMAIL
 | 
			
		||||
1 PHON
 | 
			
		||||
0 @M159@ OBJE
 | 
			
		||||
1 FILE 1850 United States Federal Census(11)-1.jpg
 | 
			
		||||
2 TITL 1850 United States Federal Census
 | 
			
		||||
1 NOTE  Year: 1850; Census Place: District 14, Cape Girardeau, Missouri; Roll:
 | 
			
		||||
2 CONC  M432_394; Page: 435B; Image: 248 
 | 
			
		||||
0 @M158@ OBJE
 | 
			
		||||
1 FILE D:\Users\PRC\Downloads\1850 United States Federal Census(11)-1.jpg
 | 
			
		||||
0 @M157@ OBJE
 | 
			
		||||
1 FILE http://1.gravatar.com/avatar/77e02a3c8c665155ad1acaac8c2742e0?s=120&d=mm&r=pg
 | 
			
		||||
0 TRLR
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/FTM_16dec2015a-mod1.gramps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/FTM_16dec2015a-mod1.gramps
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										44
									
								
								gramps/plugins/test/Tstdata/MixInlineXrefNote.ged
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								gramps/plugins/test/Tstdata/MixInlineXrefNote.ged
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
0 HEAD
 | 
			
		||||
1 SOUR RootsMagic
 | 
			
		||||
2 NAME RootsMagic
 | 
			
		||||
2 VERS 7.0.2.2
 | 
			
		||||
2 CORP RootsMagic, Inc.
 | 
			
		||||
3 ADDR PO Box 495
 | 
			
		||||
4 CONT Springville, UT 84663
 | 
			
		||||
4 CONT USA
 | 
			
		||||
3 PHON 1-800-ROOTSMAGIC
 | 
			
		||||
1 DEST RootsMagic
 | 
			
		||||
1 DATE 26 JAN 2015
 | 
			
		||||
1 FILE rm.ged
 | 
			
		||||
1 GEDC
 | 
			
		||||
2 VERS 5.5.1
 | 
			
		||||
2 FORM LINEAGE-LINKED
 | 
			
		||||
1 CHAR UTF-8
 | 
			
		||||
0 @I1@ INDI
 | 
			
		||||
1 NAME Living1
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 NOTE Inline 0
 | 
			
		||||
1 NOTE @N0@
 | 
			
		||||
1 NOTE Inline 1
 | 
			
		||||
1 SOUR Inline Source 1
 | 
			
		||||
1 OBJE
 | 
			
		||||
2 FILE Inline1
 | 
			
		||||
2 FORM jpg
 | 
			
		||||
0 @N0@ NOTE
 | 
			
		||||
1 CONC XREF N0
 | 
			
		||||
0 @I01@ INDI
 | 
			
		||||
1 NAME Living01
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 SOUR inline Source 2
 | 
			
		||||
1 OBJE
 | 
			
		||||
2 FILE Inline2
 | 
			
		||||
3 FORM jpg
 | 
			
		||||
0 @S1@ SOUR
 | 
			
		||||
1 TITL Source S1
 | 
			
		||||
0 @S01@ SOUR
 | 
			
		||||
1 TITL Source S01
 | 
			
		||||
0 @O1@ OBJE
 | 
			
		||||
1 FILE XREF1
 | 
			
		||||
0 @O1@ OBJE
 | 
			
		||||
1 FILE XREF2
 | 
			
		||||
0 TRLR
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/MixInlineXrefNote.gramps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/MixInlineXrefNote.gramps
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										275
									
								
								gramps/plugins/test/Tstdata/Paris.ged
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										275
									
								
								gramps/plugins/test/Tstdata/Paris.ged
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,275 @@
 | 
			
		||||
0 HEAD
 | 
			
		||||
1 SOUR HEREDIS 14 PC
 | 
			
		||||
2 VERS 14
 | 
			
		||||
2 NAME HEREDIS PC
 | 
			
		||||
2 CORP BSD Concept ©
 | 
			
		||||
3 ADDR www.heredis.com
 | 
			
		||||
1 DATE 9 JAN 2016
 | 
			
		||||
2 TIME 18:28:16
 | 
			
		||||
1 GEDC
 | 
			
		||||
2 VERS 5.5
 | 
			
		||||
2 FORM LINEAGE-LINKED
 | 
			
		||||
1 CHAR UTF-8
 | 
			
		||||
1 PLAC
 | 
			
		||||
2 FORM Town , Area code , County , Region , Country, Subdivision
 | 
			
		||||
0 @3I@ INDI
 | 
			
		||||
1 NAME Arrondissements/PARIS/
 | 
			
		||||
2 GIVN Arrondissements
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 EVEN
 | 
			
		||||
2 TYPE Acquisition
 | 
			
		||||
2 TYPE Paris
 | 
			
		||||
2 PLAC Paris,75056,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMS @181U@
 | 
			
		||||
0 @4I@ INDI
 | 
			
		||||
1 NAME Églises/LUTECE/
 | 
			
		||||
2 GIVN Églises
 | 
			
		||||
2 SURN LUTECE
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Notre-Dame-de-Bonne-Nouvelle
 | 
			
		||||
2 PLAC Notre-Dame-de-Bonne-Nouvelle,75102,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Benoît
 | 
			
		||||
2 PLAC Saint-Benoît,75102,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Christophe-de-Javel
 | 
			
		||||
2 PLAC Saint-Christophe-de-Javel,75115,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Eustache
 | 
			
		||||
2 PLAC Saint-Eustache,75101,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Germain-des-Prés
 | 
			
		||||
2 PLAC Saint-Germain-des-Prés,75114,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Germain-L'Auxerrois
 | 
			
		||||
2 PLAC Saint-Germain-L'Auxerrois,75101,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Gervais-et-Protais
 | 
			
		||||
2 PLAC Saint-Gervais-et-Protais,75104,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Jacques-du-Haut-Pas
 | 
			
		||||
2 PLAC Saint-Jacques-du-Haut-Pas,75105,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Laurent
 | 
			
		||||
2 PLAC Saint-Laurent,75110,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Leu-Saint-Gilles
 | 
			
		||||
2 PLAC Saint-Leu-Saint-Gilles,75101,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Médard
 | 
			
		||||
2 PLAC Saint-Médard,75105,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Merri
 | 
			
		||||
2 PLAC Saint-Merri,75104,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Nicolas-de-Chardonnet
 | 
			
		||||
2 PLAC Saint-Nicolas-de-Chardonnet,75105,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Nicolas-des-Champs
 | 
			
		||||
2 PLAC Saint-Nicolas-des-Champs,75104,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Sauveur
 | 
			
		||||
2 PLAC Saint-Sauveur,75102,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Séverin
 | 
			
		||||
2 PLAC Saint-Séverin,75105,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Sulpice
 | 
			
		||||
2 PLAC Saint-Sulpice,75106,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Catédrale Notre-Dame-de-Paris
 | 
			
		||||
2 PLAC Notre-Dame-de-Paris,75104,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Temple Protestant de L'Oratoire du Louvre
 | 
			
		||||
2 PLAC Temple Protestant de L'Oratoire du Louvre,75101,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 ORDN
 | 
			
		||||
2 TYPE Saint-Paul
 | 
			
		||||
2 PLAC Saint-Paul-Saint-Louis,75104,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMS @181U@
 | 
			
		||||
0 @93I@ INDI
 | 
			
		||||
1 NAME 01 le Louvre/PARIS/
 | 
			
		||||
2 GIVN 01 le Louvre
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 01,75101,Paris,Ïle-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @95I@ INDI
 | 
			
		||||
1 NAME 02 la Bourse/PARIS/
 | 
			
		||||
2 GIVN 02 la Bourse
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 02,75102,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @98I@ INDI
 | 
			
		||||
1 NAME 04 Hôtel-de-Ville/PARIS/
 | 
			
		||||
2 GIVN 04 Hôtel-de-Ville
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 04,75104,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @100I@ INDI
 | 
			
		||||
1 NAME 09 Opéra/PARIS/
 | 
			
		||||
2 GIVN 09 Opéra
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 09,75109,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @102I@ INDI
 | 
			
		||||
1 NAME 05 Panthéon/PARIS/
 | 
			
		||||
2 GIVN 05 Panthéon
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 05,75105,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @104I@ INDI
 | 
			
		||||
1 NAME 06 Luxembourg/PARIS/
 | 
			
		||||
2 GIVN 06 Luxembourg
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 06,75106,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @106I@ INDI
 | 
			
		||||
1 NAME 07 Palais-Bourbon/PARIS/
 | 
			
		||||
2 GIVN 07 Palais-Bourbon
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 07,75107,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @108I@ INDI
 | 
			
		||||
1 NAME 08 Élysée/PARIS/
 | 
			
		||||
2 GIVN 08 Élysée
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 08,75108,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @110I@ INDI
 | 
			
		||||
1 NAME 10 Entrepôt/PARIS/
 | 
			
		||||
2 GIVN 10 Entrepôt
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 10,75110,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @112I@ INDI
 | 
			
		||||
1 NAME 11 Popincourt/PARIS/
 | 
			
		||||
2 GIVN 11 Popincourt
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 11,75111,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @114I@ INDI
 | 
			
		||||
1 NAME 12 Reuilly/PARIS/
 | 
			
		||||
2 GIVN 12 Reuilly
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 12,75112,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @116I@ INDI
 | 
			
		||||
1 NAME 13 des Gobelins -  la Salpêtrière/PARIS/
 | 
			
		||||
2 GIVN 13 des Gobelins -  la Salpêtrière
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 13,75113,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @118I@ INDI
 | 
			
		||||
1 NAME 14 L'Observatoire/PARIS/
 | 
			
		||||
2 GIVN 14 L'Observatoire
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 14,75114,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @120I@ INDI
 | 
			
		||||
1 NAME 19 Buttes-Chaumont/PARIS/
 | 
			
		||||
2 GIVN 19 Buttes-Chaumont
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 19,75119,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @122I@ INDI
 | 
			
		||||
1 NAME 15 Vaugirard/PARIS/
 | 
			
		||||
2 GIVN 15 Vaugirard
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 15,75115,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @124I@ INDI
 | 
			
		||||
1 NAME 16 Passy/PARIS/
 | 
			
		||||
2 GIVN 16 Passy
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 16,75116,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @126I@ INDI
 | 
			
		||||
1 NAME 17 Batignolles-Monceau/PARIS/
 | 
			
		||||
2 GIVN 17 Batignolles-Monceau
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 17,75117,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @128I@ INDI
 | 
			
		||||
1 NAME 18 Buttes-Montmartre/PARIS/
 | 
			
		||||
2 GIVN 18 Buttes-Montmartre
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 18,75118,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @134I@ INDI
 | 
			
		||||
1 NAME 03 Temple/PARIS/
 | 
			
		||||
2 GIVN 03 Temple
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 03,75103,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @179I@ INDI
 | 
			
		||||
1 NAME 20 Ménilmontant/PARIS/
 | 
			
		||||
2 GIVN 20 Ménilmontant
 | 
			
		||||
2 SURN PARIS
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 PLAC Paris 20,75120,Paris,Île-de-France,FRANCE,
 | 
			
		||||
1 FAMC @181U@
 | 
			
		||||
0 @181U@ FAM
 | 
			
		||||
1 HUSB @3I@
 | 
			
		||||
1 WIFE @4I@
 | 
			
		||||
1 CHIL @93I@
 | 
			
		||||
1 CHIL @95I@
 | 
			
		||||
1 CHIL @98I@
 | 
			
		||||
1 CHIL @100I@
 | 
			
		||||
1 CHIL @102I@
 | 
			
		||||
1 CHIL @104I@
 | 
			
		||||
1 CHIL @106I@
 | 
			
		||||
1 CHIL @108I@
 | 
			
		||||
1 CHIL @110I@
 | 
			
		||||
1 CHIL @112I@
 | 
			
		||||
1 CHIL @114I@
 | 
			
		||||
1 CHIL @116I@
 | 
			
		||||
1 CHIL @118I@
 | 
			
		||||
1 CHIL @120I@
 | 
			
		||||
1 CHIL @122I@
 | 
			
		||||
1 CHIL @124I@
 | 
			
		||||
1 CHIL @126I@
 | 
			
		||||
1 CHIL @128I@
 | 
			
		||||
1 CHIL @134I@
 | 
			
		||||
1 CHIL @179I@
 | 
			
		||||
0 TRLR
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										173
									
								
								gramps/plugins/test/Tstdata/bug 8322 test.ged
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								gramps/plugins/test/Tstdata/bug 8322 test.ged
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,173 @@
 | 
			
		||||
0 HEAD
 | 
			
		||||
1 SOUR RootsMagic
 | 
			
		||||
2 NAME RootsMagic
 | 
			
		||||
2 VERS 7.0.2.2
 | 
			
		||||
2 CORP RootsMagic, Inc.
 | 
			
		||||
3 ADDR PO Box 495
 | 
			
		||||
4 CONT Springville, UT 84663
 | 
			
		||||
4 CONT USA
 | 
			
		||||
3 PHON 1-800-ROOTSMAGIC
 | 
			
		||||
1 DEST RootsMagic
 | 
			
		||||
1 DATE 26 JAN 2015
 | 
			
		||||
1 FILE rm.ged
 | 
			
		||||
1 GEDC
 | 
			
		||||
2 VERS 5.5.1
 | 
			
		||||
2 FORM LINEAGE-LINKED
 | 
			
		||||
1 CHAR UTF-8
 | 
			
		||||
0 @I310@ INDI
 | 
			
		||||
1 NAME Living
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 _UID B9C4D3F0D254674AA1B9023745BEBFE551C1
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 26 JAN 2015
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1960
 | 
			
		||||
2 PLAC the place
 | 
			
		||||
2 ADDR the address
 | 
			
		||||
3 NOTE the place created not previously used so changed to add the address; __event_addr(len==0, place is None)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1961
 | 
			
		||||
2 PLAC the place
 | 
			
		||||
3 NOTE check that this note is retained when the place is deleted. it should be merged into place
 | 
			
		||||
2 ADDR the address
 | 
			
		||||
3 NOTE the place created and then deleted and old data reused; __event_addr(len==0, place is not None)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1962
 | 
			
		||||
2 PLAC the place
 | 
			
		||||
3 NOTE setup the place
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1962
 | 
			
		||||
2 PLAC the place
 | 
			
		||||
2 ADDR another address
 | 
			
		||||
3 NOTE the place already exists; but now set doesn't match ; __event_addr(len!=0, place is None)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1963
 | 
			
		||||
2 PLAC the place
 | 
			
		||||
2 ADDR another address
 | 
			
		||||
3 NOTE the place already exists but now set matches; __event_addr(len!=0, place is not None)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1964
 | 
			
		||||
2 ADDR the address
 | 
			
		||||
2 PLAC the place
 | 
			
		||||
3 NOTE the address created, then destroyed as we find a matching set; __event_addr(no place_handle, create place)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1965
 | 
			
		||||
2 ADDR the address
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1966
 | 
			
		||||
2 ADDR the address
 | 
			
		||||
2 PLAC the place
 | 
			
		||||
3 NOTE address reused, then destroyed as we find a matching set; __event_addr(no place_handle, place found)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1967
 | 
			
		||||
2 PLAC the place
 | 
			
		||||
2 ADDR the address
 | 
			
		||||
2 ADDR second address
 | 
			
		||||
3 NOTE second address ignored
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1968
 | 
			
		||||
2 ADDR the address 2
 | 
			
		||||
2 PLAC the place 2
 | 
			
		||||
2 ADDR second address
 | 
			
		||||
3 NOTE second address ignored again
 | 
			
		||||
2 ADDR a third address ignored again
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1971
 | 
			
		||||
2 ADDR address place test
 | 
			
		||||
2 PLAC place test
 | 
			
		||||
3 NOTE ADDR created; __event_place finds it but place does not match; __event_place(len==0, place is None)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1972
 | 
			
		||||
2 ADDR address place test
 | 
			
		||||
3 NOTE this note is stored with the old address and then merged into the matching place
 | 
			
		||||
2 PLAC place test
 | 
			
		||||
3 NOTE ADDR created; __event_place finds it and now place does match; __event_place(len==0, place is not None)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1973
 | 
			
		||||
2 ADDR address place test
 | 
			
		||||
3 NOTE setup address place test
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1973
 | 
			
		||||
2 ADDR address place test
 | 
			
		||||
2 PLAC place test
 | 
			
		||||
3 NOTE address place test found; place exists and can be reused; __event_place(len!=0, place is not None)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1974
 | 
			
		||||
2 ADDR address place test
 | 
			
		||||
2 PLAC different place test
 | 
			
		||||
3 NOTE address place test found; but matching addr/plac not found; __event_place(len!=0, place is not None)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1975
 | 
			
		||||
2 PLAC the place
 | 
			
		||||
2 ADDR address place test
 | 
			
		||||
3 NOTE PLAC occurs first; matching entry found; __event_place(no place handle, place is not None)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1976
 | 
			
		||||
2 PLAC a new place
 | 
			
		||||
2 ADDR address place test
 | 
			
		||||
3 NOTE PLAC occurs first; matching entry not found; __event_place(no place handle, place is None)
 | 
			
		||||
2 PLAC a second PLACe ignored
 | 
			
		||||
2 PLAC and a third one also ignored
 | 
			
		||||
2 ADDR plus an address just for good measure also ignored
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1977
 | 
			
		||||
2 ADDR address with no place
 | 
			
		||||
3 NOTE note is stashed with a Place, and then merged into the address
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1966
 | 
			
		||||
2 PLAC Woerden, Zuid-Holland, Netherlands
 | 
			
		||||
3 NOTE Place note
 | 
			
		||||
2 ADDR Kromwijkerkade 63
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1969
 | 
			
		||||
2 PLAC Hasselt, Overijssel, Netherlands
 | 
			
		||||
2 ADDR Prinsenstraat 69
 | 
			
		||||
3 NOTE ADDR note
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1978
 | 
			
		||||
2 PLAC Enschede, Overijssel, Netherlands
 | 
			
		||||
2 ADDR Calslaan 26-52
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1979
 | 
			
		||||
2 PLAC Enschede, Overijssel, Netherlands
 | 
			
		||||
2 ADDR Calslaan 26-44
 | 
			
		||||
3 NOTE PLAC previously encountered, new ADDR, so new Place
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1984
 | 
			
		||||
2 ADDR Calslaan 26-61
 | 
			
		||||
2 PLAC Enschede, Overijssel, Netherlands
 | 
			
		||||
3 NOTE ADDR before PLAC (check ADDR is removed)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1984
 | 
			
		||||
2 PLAC Enschede, Overijssel, Netherlands
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1984
 | 
			
		||||
2 ADDR Calslaan 26-61
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1984
 | 
			
		||||
2 ADDR Calslaan 26-61
 | 
			
		||||
2 PLAC Enschede, Overijssel, Netherlands
 | 
			
		||||
3 NOTE ADDR before PLAC (address matches previous one, then needs to be reassigned)
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1988
 | 
			
		||||
2 PLAC Amsterdam, Noord-Holland, Netherlands
 | 
			
		||||
2 ADDR Papendrechtstraat 37
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1994
 | 
			
		||||
2 PLAC Amsterdam, Noord-Holland, Netherlands
 | 
			
		||||
3 NOTE PLAC and no ADDR
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1994
 | 
			
		||||
2 PLAC Amsterdam, Noord-Holland, Netherlands
 | 
			
		||||
2 ADDR Olympiaplein 46-2
 | 
			
		||||
3 NOTE PLAC matches previous one, then when ADDR is read need to create a new Place
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1988
 | 
			
		||||
2 PLAC Amsterdam, Noord-Holland, Netherlands
 | 
			
		||||
2 ADDR Papendrechtstraat 37
 | 
			
		||||
3 NOTE PLAC and ADDR match, use existing one
 | 
			
		||||
1 RESI
 | 
			
		||||
2 DATE 1994
 | 
			
		||||
2 ADDR remembered address that should be set into place
 | 
			
		||||
2 PLAC Amsterdam, Noord-Holland, Netherlands
 | 
			
		||||
0 TRLR
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/bug 8322 test.gramps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/bug 8322 test.gramps
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/paris.gramps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/paris.gramps
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/paris.gramps.bak
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/paris.gramps.bak
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										946
									
								
								gramps/plugins/test/Tstdata/sample.ged
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										946
									
								
								gramps/plugins/test/Tstdata/sample.ged
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,946 @@
 | 
			
		||||
0 HEAD
 | 
			
		||||
1 SOUR Gramps
 | 
			
		||||
2 VERS 3.3.0
 | 
			
		||||
2 NAME Gramps
 | 
			
		||||
1 DATE 27 DEC 2010
 | 
			
		||||
2 TIME 15:35:24
 | 
			
		||||
1 SUBM @SUBM@
 | 
			
		||||
1 FILE gramps33/example/gedcom/sample.ged
 | 
			
		||||
1 COPR Copyright (c) 2010 Alex Roitman,,,.
 | 
			
		||||
1 GEDC
 | 
			
		||||
2 VERS 5.5
 | 
			
		||||
2 FORM LINEAGE-LINKED
 | 
			
		||||
1 CHAR UTF-8
 | 
			
		||||
1 LANG French
 | 
			
		||||
0 @SUBM@ SUBM
 | 
			
		||||
1 NAME Alex Roitman,,,
 | 
			
		||||
1 ADDR Not Provided
 | 
			
		||||
2 CONT Not Provided
 | 
			
		||||
2 ADR1 Not Provided
 | 
			
		||||
0 @I0@ INDI
 | 
			
		||||
1 NAME Anna /Hansdotter/
 | 
			
		||||
2 GIVN Anna
 | 
			
		||||
2 SURN Hansdotter
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Anna Hansdotter
 | 
			
		||||
2 DATE 2 OCT 1864
 | 
			
		||||
2 PLAC Löderup, Malmöhus Län, Sweden
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Anna Hansdotter
 | 
			
		||||
2 DATE 29 SEP 1945
 | 
			
		||||
2 PLAC Sparks, Washoe Co., NV
 | 
			
		||||
1 FAMS @F3@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I1@ INDI
 | 
			
		||||
1 NAME Keith Lloyd /Smith/
 | 
			
		||||
2 GIVN Keith Lloyd
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Keith Lloyd Smith
 | 
			
		||||
2 DATE 11 AUG 1966
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 FAMC @F8@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I10@ INDI
 | 
			
		||||
1 NAME Hans Peter /Smith/
 | 
			
		||||
2 GIVN Hans Peter
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Hans Peter Smith
 | 
			
		||||
2 DATE 17 APR 1904
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Hans Peter Smith
 | 
			
		||||
2 DATE 29 JAN 1977
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 FAMC @F3@
 | 
			
		||||
1 FAMS @F9@
 | 
			
		||||
1 FAMS @F14@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I11@ INDI
 | 
			
		||||
1 NAME Hanna /Smith/
 | 
			
		||||
2 GIVN Hanna
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Hanna Smith
 | 
			
		||||
2 DATE 29 JAN 1821
 | 
			
		||||
2 PLAC Gladsax, Kristianstad Län, Sweden
 | 
			
		||||
1 FAMC @F0@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I12@ INDI
 | 
			
		||||
1 NAME Herman Julius /Nielsen/
 | 
			
		||||
2 GIVN Herman Julius
 | 
			
		||||
2 SURN Nielsen
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Herman Julius Nielsen
 | 
			
		||||
2 DATE 31 AUG 1889
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Herman Julius Nielsen
 | 
			
		||||
2 DATE 1945
 | 
			
		||||
1 FAMS @F5@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I13@ INDI
 | 
			
		||||
1 NAME Evelyn /Michaels/
 | 
			
		||||
2 GIVN Evelyn
 | 
			
		||||
2 SURN Michaels
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Evelyn Michaels
 | 
			
		||||
2 DATE ABT 1897
 | 
			
		||||
1 FAMS @F7@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I14@ INDI
 | 
			
		||||
1 NAME Marjorie Lee /Smith/
 | 
			
		||||
2 GIVN Marjorie Lee
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Marjorie Lee Smith
 | 
			
		||||
2 DATE 4 NOV 1934
 | 
			
		||||
2 PLAC Reno, Washoe Co., NV
 | 
			
		||||
1 FAMC @F6@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I15@ INDI
 | 
			
		||||
1 NAME Gus /Smith/
 | 
			
		||||
2 GIVN Gus
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Gus Smith
 | 
			
		||||
2 DATE 11 SEP 1897
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Gus Smith
 | 
			
		||||
2 DATE 21 OCT 1963
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 FAMC @F3@
 | 
			
		||||
1 FAMS @F7@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I16@ INDI
 | 
			
		||||
1 NAME Jennifer /Anderson/
 | 
			
		||||
2 GIVN Jennifer
 | 
			
		||||
2 SURN Anderson
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Jennifer Anderson
 | 
			
		||||
2 DATE 5 NOV 1907
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Jennifer Anderson
 | 
			
		||||
2 DATE 29 MAY 1985
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 FAMS @F14@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I17@ INDI
 | 
			
		||||
1 NAME Lillie Harriet /Jones/
 | 
			
		||||
2 GIVN Lillie Harriet
 | 
			
		||||
2 SURN Jones
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Lillie Harriet Jones
 | 
			
		||||
2 DATE 2 MAY 1910
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Lillie Harriet Jones
 | 
			
		||||
2 DATE 26 JUN 1990
 | 
			
		||||
1 FAMS @F9@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I18@ INDI
 | 
			
		||||
1 NAME John Hjalmar /Smith/
 | 
			
		||||
2 GIVN John Hjalmar
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of John Hjalmar Smith
 | 
			
		||||
2 DATE 30 JAN 1932
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 FAMC @F6@
 | 
			
		||||
1 FAMS @F12@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I19@ INDI
 | 
			
		||||
1 NAME Eric Lloyd /Smith/
 | 
			
		||||
2 GIVN Eric Lloyd
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Eric Lloyd Smith
 | 
			
		||||
2 DATE 28 AUG 1963
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 ADOP Y
 | 
			
		||||
2 FAMC @F8@
 | 
			
		||||
3 ADOP BOTH
 | 
			
		||||
1 FAMC @F8@
 | 
			
		||||
1 FAMS @F10@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I2@ INDI
 | 
			
		||||
1 NAME Amber Marie /Smith/
 | 
			
		||||
2 GIVN Amber Marie
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Amber Marie Smith
 | 
			
		||||
2 DATE 12 APR 1998
 | 
			
		||||
2 PLAC Hayward, Alameda Co., CA
 | 
			
		||||
1 CHR
 | 
			
		||||
2 TYPE Christening of Amber Marie Smith
 | 
			
		||||
2 DATE 26 APR 1998
 | 
			
		||||
2 PLAC Community Presbyterian Church, Danville, CA
 | 
			
		||||
1 FAMC @F13@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I20@ INDI
 | 
			
		||||
1 NAME Carl Emil /Smith/
 | 
			
		||||
2 GIVN Carl Emil
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Carl Emil Smith
 | 
			
		||||
2 DATE 20 DEC 1899
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Carl Emil Smith
 | 
			
		||||
2 DATE 28 JAN 1959
 | 
			
		||||
2 PLAC Reno, Washoe Co., NV
 | 
			
		||||
2 CAUS Bad breath
 | 
			
		||||
1 FAMC @F3@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I21@ INDI
 | 
			
		||||
1 NAME Hjalmar /Smith/
 | 
			
		||||
2 GIVN Hjalmar
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Hjalmar Smith
 | 
			
		||||
2 DATE 31 JAN 1893
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Hjalmar Smith
 | 
			
		||||
2 DATE 25 SEP 1894
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 FAMC @F3@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I22@ INDI
 | 
			
		||||
1 NAME Martin /Smith/
 | 
			
		||||
2 GIVN Martin
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Martin Smith
 | 
			
		||||
2 DATE 19 NOV 1830
 | 
			
		||||
2 PLAC Gladsax, Kristianstad Län, Sweden
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Martin Smith
 | 
			
		||||
2 DATE BET 1899 AND 1905
 | 
			
		||||
2 PLAC Sweden
 | 
			
		||||
1 BAPM
 | 
			
		||||
2 TYPE Baptism of Martin Smith
 | 
			
		||||
2 DATE 23 NOV 1830
 | 
			
		||||
2 PLAC Gladsax, Kristianstad Län, Sweden
 | 
			
		||||
1 FAMC @F0@
 | 
			
		||||
1 FAMS @F2@
 | 
			
		||||
1 NOTE @N0002@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I23@ INDI
 | 
			
		||||
1 NAME Astrid Shermanna Augusta /Smith/
 | 
			
		||||
2 GIVN Astrid Shermanna Augusta
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Astrid Shermanna Augusta Smith
 | 
			
		||||
2 DATE 31 JAN 1889
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Astrid Shermanna Augusta Smith
 | 
			
		||||
2 DATE 21 DEC 1963
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 FAMC @F3@
 | 
			
		||||
1 FAMS @F5@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I24@ INDI
 | 
			
		||||
1 NAME Gustaf /Smith/ Sr.
 | 
			
		||||
2 GIVN Gustaf
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
2 NSFX Sr.
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Gustaf Smith, Sr.
 | 
			
		||||
2 DATE 28 NOV 1862
 | 
			
		||||
2 PLAC Grostorp, Kristianstad Län, Sweden
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Gustaf Smith, Sr.
 | 
			
		||||
2 DATE BEF 23 JUL 1930
 | 
			
		||||
2 PLAC Sparks, Washoe Co., NV
 | 
			
		||||
1 EVEN
 | 
			
		||||
2 TYPE Immi
 | 
			
		||||
2 DATE 21 MAY 1908
 | 
			
		||||
2 PLAC Copenhagen, Denmark
 | 
			
		||||
1 CHR
 | 
			
		||||
2 TYPE Christening of Gustaf Smith, Sr.
 | 
			
		||||
2 DATE 7 DEC 1862
 | 
			
		||||
2 PLAC Gladsax, Kristianstad Län, Sweden
 | 
			
		||||
1 FAMC @F2@
 | 
			
		||||
1 FAMS @F3@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I25@ INDI
 | 
			
		||||
1 NAME Marta /Ericsdotter/
 | 
			
		||||
2 GIVN Marta
 | 
			
		||||
2 SURN Ericsdotter
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Marta Ericsdotter
 | 
			
		||||
2 DATE ABT 1775
 | 
			
		||||
2 PLAC Sweden
 | 
			
		||||
1 FAMS @F1@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I26@ INDI
 | 
			
		||||
1 NAME Kirsti Marie /Smith/
 | 
			
		||||
2 GIVN Kirsti Marie
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Kirsti Marie Smith
 | 
			
		||||
2 DATE 15 DEC 1886
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Kirsti Marie Smith
 | 
			
		||||
2 DATE 18 JUL 1966
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 FAMC @F3@
 | 
			
		||||
1 FAMS @F4@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I27@ INDI
 | 
			
		||||
1 NAME Ingeman /Smith/
 | 
			
		||||
2 GIVN Ingeman
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Ingeman Smith
 | 
			
		||||
2 DATE ABT 1770
 | 
			
		||||
2 PLAC Sweden
 | 
			
		||||
1 FAMS @F1@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I28@ INDI
 | 
			
		||||
1 NAME Anna /Streiffert/
 | 
			
		||||
2 GIVN Anna
 | 
			
		||||
2 SURN Streiffert
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Anna Streiffert
 | 
			
		||||
2 DATE 23 SEP 1860
 | 
			
		||||
2 PLAC Hoya/Jona/Hoia, Sweden
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Anna Streiffert
 | 
			
		||||
2 DATE 2 FEB 1927
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 FAMS @F11@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I29@ INDI
 | 
			
		||||
1 NAME Craig Peter /Smith/
 | 
			
		||||
2 GIVN Craig Peter
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Craig Peter Smith
 | 
			
		||||
2 DATE AFT 1966
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 CENS
 | 
			
		||||
2 TYPE Census of Craig Peter Smith
 | 
			
		||||
2 NOTE @N0000@
 | 
			
		||||
1 FAMC @F8@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I3@ INDI
 | 
			
		||||
1 NAME Magnes /Smith/
 | 
			
		||||
2 GIVN Magnes
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Magnes Smith
 | 
			
		||||
2 DATE 6 OCT 1858
 | 
			
		||||
2 PLAC Simrishamn, Kristianstad Län, Sweden
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Magnes Smith
 | 
			
		||||
2 DATE 20 FEB 1910
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 FAMC @F2@
 | 
			
		||||
1 FAMS @F11@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I30@ INDI
 | 
			
		||||
1 NAME Janice Ann /Adams/
 | 
			
		||||
2 GIVN Janice Ann
 | 
			
		||||
2 SURN Adams
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Janice Ann Adams
 | 
			
		||||
2 DATE 26 AUG 1965
 | 
			
		||||
2 PLAC Fremont, Alameda Co., CA
 | 
			
		||||
1 OCCU Retail Manager
 | 
			
		||||
1 _DEG
 | 
			
		||||
2 TYPE Business Management
 | 
			
		||||
2 DATE 1988
 | 
			
		||||
1 FAMS @F13@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I31@ INDI
 | 
			
		||||
1 NAME Marjorie /Ohman/
 | 
			
		||||
2 GIVN Marjorie
 | 
			
		||||
2 SURN Ohman
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Marjorie Ohman
 | 
			
		||||
2 DATE 3 JUN 1903
 | 
			
		||||
2 PLAC Denver, Denver Co., CO
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Marjorie Ohman
 | 
			
		||||
2 DATE 22 JUN 1980
 | 
			
		||||
2 PLAC Reno, Washoe Co., NV
 | 
			
		||||
1 FAMS @F6@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I32@ INDI
 | 
			
		||||
1 NAME Darcy /Horne/
 | 
			
		||||
2 GIVN Darcy
 | 
			
		||||
2 SURN Horne
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Darcy Horne
 | 
			
		||||
2 DATE 2 JUL 1966
 | 
			
		||||
2 PLAC Sacramento, Sacramento Co., CA
 | 
			
		||||
1 FAMS @F10@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I33@ INDI
 | 
			
		||||
1 NAME Lloyd /Smith/
 | 
			
		||||
2 GIVN Lloyd
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Lloyd Smith
 | 
			
		||||
2 DATE 13 MAR 1935
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 FAMC @F9@
 | 
			
		||||
1 FAMS @F8@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I34@ INDI
 | 
			
		||||
1 NAME Alice Paula /Perkins/
 | 
			
		||||
2 GIVN Alice Paula
 | 
			
		||||
2 SURN Perkins
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Alice Paula Perkins
 | 
			
		||||
2 DATE 22 NOV 1933
 | 
			
		||||
2 PLAC Sparks, Washoe Co., NV
 | 
			
		||||
1 FAMS @F12@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I35@ INDI
 | 
			
		||||
1 NAME Lars Peter /Smith/
 | 
			
		||||
2 GIVN Lars Peter
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Lars Peter Smith
 | 
			
		||||
2 DATE 16 SEP 1991
 | 
			
		||||
2 PLAC Santa Rosa, Sonoma Co., CA
 | 
			
		||||
1 ADOP Y
 | 
			
		||||
2 FAMC @F10@
 | 
			
		||||
3 ADOP BOTH
 | 
			
		||||
1 FAMC @F10@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I36@ INDI
 | 
			
		||||
1 NAME Elna /Jefferson/
 | 
			
		||||
2 GIVN Elna
 | 
			
		||||
2 SURN Jefferson
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Elna Jefferson
 | 
			
		||||
2 DATE 14 SEP 1800
 | 
			
		||||
2 PLAC Gladsax, Kristianstad Län, Sweden
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Elna Jefferson
 | 
			
		||||
2 PLAC Sweden
 | 
			
		||||
1 CHR
 | 
			
		||||
2 TYPE Christening of Elna Jefferson
 | 
			
		||||
2 DATE 16 SEP 1800
 | 
			
		||||
2 PLAC Gladsax, Kristianstad Län, Sweden
 | 
			
		||||
1 FAMS @F0@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I37@ INDI
 | 
			
		||||
1 NAME Edwin Michael /Smith/
 | 
			
		||||
2 GIVN Edwin Michael
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
2 SOUR @S1@
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Edwin Michael Smith
 | 
			
		||||
2 DATE 24 MAY 1961
 | 
			
		||||
2 PLAC San Jose, Santa Clara Co., CA
 | 
			
		||||
2 SOUR @S3@
 | 
			
		||||
1 OCCU Software Engineer
 | 
			
		||||
2 AGE 23
 | 
			
		||||
2 NOTE @N0001@
 | 
			
		||||
1 EDUC Education of Edwin Michael Smith
 | 
			
		||||
2 DATE BET 1979 AND 1984
 | 
			
		||||
2 PLAC UC Berkeley
 | 
			
		||||
1 _DEG
 | 
			
		||||
2 TYPE B.S.E.E.
 | 
			
		||||
2 DATE 1984
 | 
			
		||||
1 FAMC @F12@
 | 
			
		||||
1 FAMS @F13@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I38@ INDI
 | 
			
		||||
1 NAME Kerstina /Hansdotter/
 | 
			
		||||
2 GIVN Kerstina
 | 
			
		||||
2 SURN Hansdotter
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Kerstina Hansdotter
 | 
			
		||||
2 DATE 29 NOV 1832
 | 
			
		||||
2 PLAC Smestorp, Kristianstad Län, Sweden
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Kerstina Hansdotter
 | 
			
		||||
2 DATE BEF 1908
 | 
			
		||||
2 PLAC Sweden
 | 
			
		||||
1 FAMS @F2@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I39@ INDI
 | 
			
		||||
1 NAME Martin /Smith/
 | 
			
		||||
2 GIVN Martin
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Martin Smith
 | 
			
		||||
2 DATE BET 1794 AND 1796
 | 
			
		||||
2 PLAC Tommarp, Kristianstad Län, Sweden
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Martin Smith
 | 
			
		||||
2 PLAC Sweden
 | 
			
		||||
1 FAMC @F1@
 | 
			
		||||
1 FAMS @F0@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I4@ INDI
 | 
			
		||||
1 NAME Ingeman /Smith/
 | 
			
		||||
2 GIVN Ingeman
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Ingeman Smith
 | 
			
		||||
2 DATE 29 JAN 1826
 | 
			
		||||
2 PLAC Gladsax, Kristianstad Län, Sweden
 | 
			
		||||
1 FAMC @F0@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I40@ INDI
 | 
			
		||||
1 NAME Marjorie Alice /Smith/
 | 
			
		||||
2 GIVN Marjorie Alice
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Marjorie Alice Smith
 | 
			
		||||
2 DATE 5 FEB 1960
 | 
			
		||||
2 PLAC San Jose, Santa Clara Co., CA
 | 
			
		||||
1 FAMC @F12@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I41@ INDI
 | 
			
		||||
1 NAME Janis Elaine /Green/
 | 
			
		||||
2 GIVN Janis Elaine
 | 
			
		||||
2 SURN Green
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Janis Elaine Green
 | 
			
		||||
2 DATE 2 DEC 1935
 | 
			
		||||
1 FAMS @F8@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I5@ INDI
 | 
			
		||||
1 NAME Mason Michael /Smith/
 | 
			
		||||
2 GIVN Mason Michael
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Mason Michael Smith
 | 
			
		||||
2 DATE 26 JUN 1996
 | 
			
		||||
2 PLAC Hayward, Alameda Co., CA
 | 
			
		||||
1 CHR
 | 
			
		||||
2 TYPE Christening of Mason Michael Smith
 | 
			
		||||
2 DATE 10 JUL 1996
 | 
			
		||||
2 PLAC Community Presbyterian Church, Danville, CA
 | 
			
		||||
1 FAMC @F13@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I6@ INDI
 | 
			
		||||
1 NAME Edwin /Willard/
 | 
			
		||||
2 GIVN Edwin
 | 
			
		||||
2 SURN Willard
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Edwin Willard
 | 
			
		||||
2 DATE ABT 1886
 | 
			
		||||
1 FAMS @F4@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I7@ INDI
 | 
			
		||||
1 NAME Ingar /Smith/
 | 
			
		||||
2 GIVN Ingar
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX F
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Ingar Smith
 | 
			
		||||
2 DATE AFT 1823
 | 
			
		||||
2 PLAC Gladsax, Kristianstad Län, Sweden
 | 
			
		||||
1 FAMC @F0@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I8@ INDI
 | 
			
		||||
1 NAME Hjalmar /Smith/
 | 
			
		||||
2 GIVN Hjalmar
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Hjalmar Smith
 | 
			
		||||
2 DATE 7 APR 1895
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 DEAT
 | 
			
		||||
2 TYPE Death of Hjalmar Smith
 | 
			
		||||
2 DATE 26 JUN 1975
 | 
			
		||||
2 PLAC Reno, Washoe Co., NV
 | 
			
		||||
1 BAPM
 | 
			
		||||
2 TYPE Baptism of Hjalmar Smith
 | 
			
		||||
2 DATE 3 JUN 1895
 | 
			
		||||
2 PLAC Rønne Bornholm, Denmark
 | 
			
		||||
1 EVEN
 | 
			
		||||
2 TYPE Immi
 | 
			
		||||
2 DATE 14 NOV 1912
 | 
			
		||||
2 PLAC Copenhagen, Denmark
 | 
			
		||||
1 FAMC @F3@
 | 
			
		||||
1 FAMS @F6@
 | 
			
		||||
1 NOTE @N0003@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @I9@ INDI
 | 
			
		||||
1 NAME Emil /Smith/
 | 
			
		||||
2 GIVN Emil
 | 
			
		||||
2 SURN Smith
 | 
			
		||||
1 SEX M
 | 
			
		||||
1 BIRT
 | 
			
		||||
2 TYPE Birth of Emil Smith
 | 
			
		||||
2 DATE 27 SEP 1860
 | 
			
		||||
2 PLAC Simrishamn, Kristianstad Län, Sweden
 | 
			
		||||
1 FAMC @F2@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F0@ FAM
 | 
			
		||||
1 HUSB @I39@
 | 
			
		||||
1 WIFE @I36@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Martin Smith and Elna Jefferson
 | 
			
		||||
2 DATE ABT 1816
 | 
			
		||||
2 PLAC Gladsax, Kristianstad Län, Sweden
 | 
			
		||||
1 CHIL @I11@
 | 
			
		||||
1 CHIL @I7@
 | 
			
		||||
1 CHIL @I4@
 | 
			
		||||
1 CHIL @I22@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F1@ FAM
 | 
			
		||||
1 HUSB @I27@
 | 
			
		||||
1 WIFE @I25@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Ingeman Smith and Marta Ericsdotter
 | 
			
		||||
2 DATE ABT 1790
 | 
			
		||||
2 PLAC Sweden
 | 
			
		||||
1 CHIL @I39@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F10@ FAM
 | 
			
		||||
1 HUSB @I19@
 | 
			
		||||
1 WIFE @I32@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Eric Lloyd Smith and Darcy Horne
 | 
			
		||||
2 DATE 12 JUL 1986
 | 
			
		||||
2 PLAC Woodland, Yolo Co., CA
 | 
			
		||||
1 CHIL @I35@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F11@ FAM
 | 
			
		||||
1 HUSB @I3@
 | 
			
		||||
1 WIFE @I28@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Magnes Smith and Anna Streiffert
 | 
			
		||||
2 DATE 24 AUG 1884
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F12@ FAM
 | 
			
		||||
1 HUSB @I18@
 | 
			
		||||
1 WIFE @I34@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of John Hjalmar Smith and Alice Paula Perkins
 | 
			
		||||
2 DATE 4 JUN 1954
 | 
			
		||||
2 PLAC Sparks, Washoe Co., NV
 | 
			
		||||
2 SOUR @S0@
 | 
			
		||||
1 CHIL @I40@
 | 
			
		||||
1 CHIL @I37@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F13@ FAM
 | 
			
		||||
1 HUSB @I37@
 | 
			
		||||
1 WIFE @I30@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Edwin Michael Smith and Janice Ann Adams
 | 
			
		||||
2 DATE 27 MAY 1995
 | 
			
		||||
2 PLAC San Ramon, Conta Costa Co., CA
 | 
			
		||||
1 ENGA
 | 
			
		||||
2 TYPE Engagement of Edwin Michael Smith and Janice Ann Adams
 | 
			
		||||
2 DATE 5 OCT 1994
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 CHIL @I5@
 | 
			
		||||
1 CHIL @I2@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F14@ FAM
 | 
			
		||||
1 HUSB @I10@
 | 
			
		||||
1 WIFE @I16@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F2@ FAM
 | 
			
		||||
1 HUSB @I22@
 | 
			
		||||
1 WIFE @I38@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Martin Smith and Kerstina Hansdotter
 | 
			
		||||
2 DATE ABT 1856
 | 
			
		||||
1 CHIL @I3@
 | 
			
		||||
1 CHIL @I9@
 | 
			
		||||
1 CHIL @I24@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F3@ FAM
 | 
			
		||||
1 HUSB @I24@
 | 
			
		||||
1 WIFE @I0@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Gustaf Smith, Sr. and Anna Hansdotter
 | 
			
		||||
2 DATE 27 NOV 1885
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 CHIL @I26@
 | 
			
		||||
1 CHIL @I23@
 | 
			
		||||
1 CHIL @I21@
 | 
			
		||||
1 CHIL @I8@
 | 
			
		||||
1 CHIL @I15@
 | 
			
		||||
1 CHIL @I20@
 | 
			
		||||
1 CHIL @I10@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F4@ FAM
 | 
			
		||||
1 HUSB @I6@
 | 
			
		||||
1 WIFE @I26@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Edwin Willard and Kirsti Marie Smith
 | 
			
		||||
2 DATE ABT 1910
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F5@ FAM
 | 
			
		||||
1 HUSB @I12@
 | 
			
		||||
1 WIFE @I23@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Herman Julius Nielsen and Astrid Shermanna Augusta Smith
 | 
			
		||||
2 DATE 30 NOV 1912
 | 
			
		||||
2 PLAC Rønne, Bornholm, Denmark
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F6@ FAM
 | 
			
		||||
1 HUSB @I8@
 | 
			
		||||
1 WIFE @I31@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Hjalmar Smith and Marjorie Ohman
 | 
			
		||||
2 DATE 31 OCT 1927
 | 
			
		||||
2 PLAC Reno, Washoe Co., NV
 | 
			
		||||
1 CHIL @I18@
 | 
			
		||||
1 CHIL @I14@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F7@ FAM
 | 
			
		||||
1 HUSB @I15@
 | 
			
		||||
1 WIFE @I13@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Gus Smith and Evelyn Michaels
 | 
			
		||||
2 DATE ABT 1920
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F8@ FAM
 | 
			
		||||
1 HUSB @I33@
 | 
			
		||||
1 WIFE @I41@
 | 
			
		||||
1 MARR
 | 
			
		||||
2 TYPE Marriage of Lloyd Smith and Janis Elaine Green
 | 
			
		||||
2 DATE 10 AUG 1958
 | 
			
		||||
2 PLAC San Francisco, San Francisco Co., CA
 | 
			
		||||
1 CHIL @I19@
 | 
			
		||||
1 CHIL @I1@
 | 
			
		||||
1 CHIL @I29@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @F9@ FAM
 | 
			
		||||
1 HUSB @I10@
 | 
			
		||||
1 WIFE @I17@
 | 
			
		||||
1 CHIL @I33@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @S0@ SOUR
 | 
			
		||||
1 TITL Marriage Certificae
 | 
			
		||||
1 REPO @R0002@
 | 
			
		||||
2 CALN what-321-ever
 | 
			
		||||
3 MEDI Photo
 | 
			
		||||
1 NOTE @N0004@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @S1@ SOUR
 | 
			
		||||
1 TITL Birth Certificate
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @S2@ SOUR
 | 
			
		||||
1 TITL Birth Records
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @S3@ SOUR
 | 
			
		||||
1 TITL Birth, Death and Marriage Records
 | 
			
		||||
1 REPO @R0002@
 | 
			
		||||
2 CALN CA-123-LL-456_Num/ber
 | 
			
		||||
3 MEDI Film
 | 
			
		||||
1 NOTE @N0005@
 | 
			
		||||
1 CHAN
 | 
			
		||||
2 DATE 21 DEC 2007
 | 
			
		||||
3 TIME 01:35:26
 | 
			
		||||
0 @R0002@ REPO
 | 
			
		||||
1 NAME New York Public Library
 | 
			
		||||
1 ADDR 5th Ave at 42 street
 | 
			
		||||
2 ADR1 5th Ave at 42 street
 | 
			
		||||
2 CITY New York
 | 
			
		||||
2 STAE New York
 | 
			
		||||
2 POST 11111
 | 
			
		||||
2 CTRY USA
 | 
			
		||||
0 @R0003@ REPO
 | 
			
		||||
1 NAME Aunt Martha's Attic
 | 
			
		||||
1 ADDR 123 Main St
 | 
			
		||||
2 ADR1 123 Main St
 | 
			
		||||
2 CITY Someville
 | 
			
		||||
2 STAE ST
 | 
			
		||||
2 CTRY USA
 | 
			
		||||
1 WWW http://library.gramps-project.org
 | 
			
		||||
1 NOTE @N0006@
 | 
			
		||||
0 @N0000@ NOTE Witness name: John Doe
 | 
			
		||||
1 CONT Witness comment: This is a simple test.
 | 
			
		||||
0 @N0001@ NOTE Witness name: No Name
 | 
			
		||||
0 @N0002@ NOTE BIOGRAPHY
 | 
			
		||||
1 CONT Martin was listed as being a Husman, (owning a house as opposed to a far
 | 
			
		||||
1 CONC m) in the house records of Gladsax.
 | 
			
		||||
0 @N0003@ NOTE BIOGRAPHY
 | 
			
		||||
1 CONT 
 | 
			
		||||
1 CONT Hjalmar sailed from Copenhagen, Denmark on the OSCAR II, 14 November 191
 | 
			
		||||
1 CONC 2 arriving in New York 27 November 1912. He was seventeen years old. O
 | 
			
		||||
1 CONC n the ship passenger list his trade was listed as a Blacksmith.  He cam
 | 
			
		||||
1 CONC e to Reno, Nevada and lived with his sister Marie for a time before sett
 | 
			
		||||
1 CONC ling in Sparks. He worked for Southern Pacific Railroad as a car inspect
 | 
			
		||||
1 CONC or for a time, then went to work for Standard Oil
 | 
			
		||||
1 CONT Company. He enlisted in the army at Sparks 7 December 1917 and served a
 | 
			
		||||
1 CONC s a Corporal in the Medical Corp until his discharge 12 August 1919 at t
 | 
			
		||||
1 CONC he Presidio in San Francisco, California. Both he and Marjorie are burie
 | 
			
		||||
1 CONC d in the Masonic Memorial Gardens Mausoleum in Reno, he the 30th June 19
 | 
			
		||||
1 CONC 75, and she the 25th of June 1980.
 | 
			
		||||
0 @N0004@ NOTE But Aunt Martha still keeps the original!
 | 
			
		||||
0 @N0005@ NOTE The repository reference from the source is important
 | 
			
		||||
0 @N0006@ NOTE Some note on the repo
 | 
			
		||||
0 TRLR
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/sample.gramps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/sample.gramps
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										42
									
								
								gramps/plugins/test/Tstdata/test_FTM_CONC.ged
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								gramps/plugins/test/Tstdata/test_FTM_CONC.ged
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
0 HEAD
 | 
			
		||||
1 SOUR FTM
 | 
			
		||||
2 VERS Family Tree Maker (22.2.5)
 | 
			
		||||
2 NAME Family Tree Maker for Mac OS X
 | 
			
		||||
2 CORP Ancestry.com
 | 
			
		||||
3 ADDR 360 W 4800 N
 | 
			
		||||
4 CONT Provo, UT 84604
 | 
			
		||||
3 PHON (801) 705-7000
 | 
			
		||||
1 DEST GED55
 | 
			
		||||
1 DATE 16 DEC 2015
 | 
			
		||||
1 CHAR UTF-8
 | 
			
		||||
1 FILE test_FTM_CONC.ged
 | 
			
		||||
1 SUBM @SUBM@
 | 
			
		||||
1 GEDC
 | 
			
		||||
2 VERS 5.5
 | 
			
		||||
2 FORM LINEAGE-LINKED
 | 
			
		||||
0 @SUBM@ SUBM
 | 
			
		||||
1 NAME Paul Culley
 | 
			
		||||
0 @I278@ INDI
 | 
			
		||||
1 NAME Andrew /May/
 | 
			
		||||
2 NOTE The FTM way to do a CONC line with space at end --> 
 | 
			
		||||
3 CONC <--
 | 
			
		||||
2 NOTE The GEDCOM spec way to do CONC line, with space at beginning -->
 | 
			
		||||
3 CONC  <--
 | 
			
		||||
2 NOTE Be nice if we supported FTM way to do CONC so 
 | 
			
		||||
3 CONC users would not have to spell check and edit their whole 
 | 
			
		||||
3 CONC database for these kind of errors.
 | 
			
		||||
2 SOUR @S29@
 | 
			
		||||
3 PAGE Year: 1850; Census Place: District 14, Cape Girardeau, Missouri; Roll: 
 | 
			
		||||
4 CONC M432_394; Page: 435B; Image: 248
 | 
			
		||||
0 @S29@ SOUR
 | 
			
		||||
1 AUTH Ancestry.com
 | 
			
		||||
1 TITL 1850 United States Federal Census
 | 
			
		||||
1 PUBL Name: Ancestry.com Operations, Inc.; Location: Provo, UT, USA; Date: 
 | 
			
		||||
2 CONC 2009;
 | 
			
		||||
1 REPO @R1@
 | 
			
		||||
0 @R1@ REPO
 | 
			
		||||
1 NAME Ancestry.com
 | 
			
		||||
1 ADDR I'm sure someone knows
 | 
			
		||||
1 EMAIL ancestry@ancestry.com
 | 
			
		||||
1 PHON 1-234-567-8901
 | 
			
		||||
0 TRLR
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/test_FTM_CONC.gramps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/test_FTM_CONC.gramps
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										5
									
								
								gramps/plugins/test/Tstdata/vcard.difs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								gramps/plugins/test/Tstdata/vcard.difs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
Mismatch on file: vcard.vcf
 | 
			
		||||
Person: I0019
 | 
			
		||||
  Diff on: Person, primary_name, surname list #2, primary
 | 
			
		||||
    <class 'bool'>: True
 | 
			
		||||
    <class 'bool'>: False
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/vcard.gramps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gramps/plugins/test/Tstdata/vcard.gramps
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										291
									
								
								gramps/plugins/test/Tstdata/vcard.vcf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										291
									
								
								gramps/plugins/test/Tstdata/vcard.vcf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,291 @@
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
ADR:box 1;bis;Broadway 11; New York; New York; NY1234; USA
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
ADR: 
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
ADR:;;Broadway 11; New York
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
ADR:;;Broadway 11; New\,York; ;; USA; Earth
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
BDAY:2001-09-28T09:23:47Z
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
BDAY: 
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
BDAY:20010928
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
BDAY:2001-0928
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
BDAY:2001-09-28
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
EMAIL:me@example.org
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:A B Lastname
 | 
			
		||||
N:Lastname;B;A;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:B Lastname
 | 
			
		||||
N:Lastname;A;B;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:A Lastname
 | 
			
		||||
N:Lastname;A;B;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:A B C Lastname
 | 
			
		||||
N:Lastname;B;A C;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:A Lastname
 | 
			
		||||
N:Lastname;A;;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:
 | 
			
		||||
N:Lastname;;A;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:A Lastname
 | 
			
		||||
N:Lastname;;A;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:A B Lastname
 | 
			
		||||
N:Lastname;A;B;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname B A
 | 
			
		||||
N:Lastname;A;B;;
 | 
			
		||||
FN:Lastname A B
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N: 
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname Lastname2
 | 
			
		||||
N:Lastname,Lastname2;;;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
N:Another;;;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:van d'Alembert
 | 
			
		||||
N:van d'Alembert;;;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Mr. Firstname Middlename Lastname Jr.
 | 
			
		||||
N:Lastname;Firstname;Middlename;Mr.;Jr.
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Firstname Lastname
 | 
			
		||||
N:Lastname; Firstname;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
NICKNAME:
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
NICKNAME:A,B\,C
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
NICKNAME:Ton
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
ROLE: 
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
ROLE:scarecrow
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
TEL: 
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
TEL:01234-56789
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
URL: 
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
URL:http://www.example.com
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
BDAY:unforgettable
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
BDAY:20010229
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Another
 | 
			
		||||
N:Another;;;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
TEL:01234-
 | 
			
		||||
 56789
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
TEL:01234-56789
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
TEL:01234-56789  
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
:email@example.com
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
group.VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
group.N:Lastname;;;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
TEL;TYPE="FANCY:TYPE":01234-56789
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Another
 | 
			
		||||
N:Another;;;;
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
tel:01234-56789
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
TEL;01234-56789
 | 
			
		||||
END:VCARD
 | 
			
		||||
BEGIN:VCARD
 | 
			
		||||
VERSION:3.0
 | 
			
		||||
FN:Lastname
 | 
			
		||||
N:Lastname;;;;
 | 
			
		||||
TELEPHONE:01234-56789
 | 
			
		||||
END:VCARD
 | 
			
		||||
							
								
								
									
										233
									
								
								gramps/plugins/test/test_imports.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										233
									
								
								gramps/plugins/test/test_imports.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,233 @@
 | 
			
		||||
#! /usr/bin/env python3
 | 
			
		||||
#
 | 
			
		||||
# Gramps - a GTK+/GNOME based genealogy program
 | 
			
		||||
#
 | 
			
		||||
# Copyright (c) 2016 Gramps Development Team
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program; if not, write to the Free Software
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
import unittest
 | 
			
		||||
import os
 | 
			
		||||
import sys
 | 
			
		||||
import re
 | 
			
		||||
import time
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
from gramps.gen.merge.diff import diff_dbs, import_as_dict
 | 
			
		||||
from gramps.gen.simple import SimpleAccess
 | 
			
		||||
from gramps.gen.utils.id import set_det_id
 | 
			
		||||
from gramps.cli import user
 | 
			
		||||
from gramps.gen.const import TEMP_DIR
 | 
			
		||||
 | 
			
		||||
# the following defines where to find the test import and result files
 | 
			
		||||
TEST_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "Tstdata"))
 | 
			
		||||
 | 
			
		||||
# ------------------------------------------------------------------
 | 
			
		||||
#  Local Functions
 | 
			
		||||
# ------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def todate(t):
 | 
			
		||||
    return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(t))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CompleteCheck(unittest.TestCase):
 | 
			
		||||
    """The test class cases will be dynamically created at import time from
 | 
			
		||||
    files to be tested.  The following defs are used by the test cases"""
 | 
			
		||||
 | 
			
		||||
    def prepare_result(self, diffs, added, missing):
 | 
			
		||||
        deltas = False
 | 
			
		||||
        if diffs:
 | 
			
		||||
            for diff in diffs:
 | 
			
		||||
                obj_type, item1, item2 = diff
 | 
			
		||||
                msg = self.report_diff(obj_type, item1.to_struct(),
 | 
			
		||||
                                       item2.to_struct())
 | 
			
		||||
                if msg != "":
 | 
			
		||||
                    if hasattr(item1, "gramps_id"):
 | 
			
		||||
                        self.msg += "%s: %s\n" % (obj_type, item1.gramps_id)
 | 
			
		||||
                    else:
 | 
			
		||||
                        self.msg += "%s: %s\n" % (obj_type, item1.get_name())
 | 
			
		||||
                    self.msg += msg
 | 
			
		||||
                    deltas = True
 | 
			
		||||
        if missing:
 | 
			
		||||
            deltas = True
 | 
			
		||||
            sa = SimpleAccess(self.database1)
 | 
			
		||||
            for pair in missing:
 | 
			
		||||
                obj_type, item = pair
 | 
			
		||||
                self.msg += "Missing %s: %s\n" % (obj_type, sa.describe(item))
 | 
			
		||||
        if added:
 | 
			
		||||
            deltas = True
 | 
			
		||||
            sa = SimpleAccess(self.database2)
 | 
			
		||||
            for pair in added:
 | 
			
		||||
                obj_type, item = pair
 | 
			
		||||
                self.msg += "Added %s: %s\n" % (obj_type, sa.describe(item))
 | 
			
		||||
        return deltas
 | 
			
		||||
 | 
			
		||||
    def format_struct_path(self, path):
 | 
			
		||||
        retval = ""
 | 
			
		||||
        parts = path.split(".")
 | 
			
		||||
        for part in parts:
 | 
			
		||||
            if retval:
 | 
			
		||||
                retval += ", "
 | 
			
		||||
            if "[" in part and "]" in part:
 | 
			
		||||
                part, index = re.match("(.*)\[(\d*)\]", part).groups()
 | 
			
		||||
                retval += "%s #%s" % (part.replace("_", " "), int(index) + 1)
 | 
			
		||||
            else:
 | 
			
		||||
                retval += part
 | 
			
		||||
        return retval
 | 
			
		||||
 | 
			
		||||
    def report_details(self, path, diff1, diff2):
 | 
			
		||||
        if isinstance(diff1, bool):
 | 
			
		||||
            desc1 = repr(diff1)
 | 
			
		||||
        else:
 | 
			
		||||
            desc1 = str(diff1) if diff1 else ""
 | 
			
		||||
        if isinstance(diff2, bool):
 | 
			
		||||
            desc2 = repr(diff2)
 | 
			
		||||
        else:
 | 
			
		||||
            desc2 = str(diff2) if diff2 else ""
 | 
			
		||||
        d1t = type(diff1)
 | 
			
		||||
        d2t = type(diff2)
 | 
			
		||||
        # the xml exporter edits the data base by stripping spaces, so
 | 
			
		||||
        # we have to ignore these differeces
 | 
			
		||||
        if d1t == str: diff1 = diff1.strip()
 | 
			
		||||
        if d2t == str: diff2 = diff2.strip()
 | 
			
		||||
        d1l = len(diff1) if d1t == str else ""
 | 
			
		||||
        d2l = len(diff2) if d2t == str else ""
 | 
			
		||||
        # 'change' date is not significant for comparison
 | 
			
		||||
        if path.endswith(".change"):
 | 
			
		||||
            return ""
 | 
			
		||||
        # the xml exporter edits the data base by converting media path
 | 
			
		||||
        # to unix '/' conventions, so we have to ignore these differences
 | 
			
		||||
        if path == "Media.path":
 | 
			
		||||
            diff1 = diff1.replace('\\', '/')
 | 
			
		||||
        if diff1 != diff2:
 | 
			
		||||
            msg = "  Diff on: %s\n    %s%s: %s\n    %s%s: %s\n" % \
 | 
			
		||||
                (self.format_struct_path(path), d1t, d1l, desc1,
 | 
			
		||||
                 d2t, d2l, desc2)
 | 
			
		||||
            return msg
 | 
			
		||||
        return ""
 | 
			
		||||
 | 
			
		||||
    def report_diff(self, path, struct1, struct2):
 | 
			
		||||
        """
 | 
			
		||||
        Compare two struct objects and report differences.
 | 
			
		||||
        """
 | 
			
		||||
        msg = ""
 | 
			
		||||
        if struct1 == struct2:
 | 
			
		||||
            return ""
 | 
			
		||||
        elif (isinstance(struct1, (list, tuple)) or
 | 
			
		||||
              isinstance(struct2, (list, tuple))):
 | 
			
		||||
            len1 = len(struct1) if isinstance(struct1, (list, tuple)) else 0
 | 
			
		||||
            len2 = len(struct2) if isinstance(struct2, (list, tuple)) else 0
 | 
			
		||||
            for pos in range(max(len1, len2)):
 | 
			
		||||
                value1 = struct1[pos] if pos < len1 else None
 | 
			
		||||
                value2 = struct2[pos] if pos < len2 else None
 | 
			
		||||
                msg += self.report_diff(path + ("[%d]" % pos), value1, value2)
 | 
			
		||||
        elif isinstance(struct1, dict) or isinstance(struct2, dict):
 | 
			
		||||
            keys = struct1.keys() if isinstance(struct1, dict)\
 | 
			
		||||
                                  else struct2.keys()
 | 
			
		||||
            for key in keys:
 | 
			
		||||
                value1 = struct1[key] if struct1 is not None else None
 | 
			
		||||
                value2 = struct2[key] if struct2 is not None else None
 | 
			
		||||
                if key == "dict":  # a raw dict, not a struct
 | 
			
		||||
                    msg += self.report_details(path, value1, value2)
 | 
			
		||||
                else:
 | 
			
		||||
                    msg += self.report_diff(path + "." + key, value1, value2)
 | 
			
		||||
        else:
 | 
			
		||||
            msg += self.report_details(path, struct1, struct2)
 | 
			
		||||
        return msg
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# The following make_test_function creates a test function (a method,
 | 
			
		||||
# to be precise) that compares the import file with the expected
 | 
			
		||||
# result '.gramps' file.
 | 
			
		||||
def make_test_function(tstfile, fname):
 | 
			
		||||
    def test(self):
 | 
			
		||||
        self._user = user.User(quiet=True)
 | 
			
		||||
        f1 = os.path.join(TEST_DIR, tstfile)
 | 
			
		||||
        f2 = os.path.join(TEST_DIR, (fname + ".gramps"))
 | 
			
		||||
        fres = os.path.join(TEMP_DIR, (fname + ".difs"))
 | 
			
		||||
        set_det_id(True)
 | 
			
		||||
        self.database1 = import_as_dict(f1, self._user)
 | 
			
		||||
        set_det_id(True)
 | 
			
		||||
        self.database2 = import_as_dict(f2, self._user)
 | 
			
		||||
        self.assertIsNotNone(self.database1,
 | 
			
		||||
                        "Unable to import file: %s" % f1)
 | 
			
		||||
        self.assertIsNotNone(self.database2,
 | 
			
		||||
                        "Unable to import expected result file: %s" % f2)
 | 
			
		||||
        if self.database2 is None or self.database1 is None:
 | 
			
		||||
            return
 | 
			
		||||
        diffs, added, missing = diff_dbs(self.database1,
 | 
			
		||||
                                         self.database2, self._user)
 | 
			
		||||
        self.msg = "Mismatch on file: %s\n" % tstfile
 | 
			
		||||
        deltas = self.prepare_result(diffs, added, missing)
 | 
			
		||||
        # We save a copy of any issues in the users Gramps TEMP_DIR in a file
 | 
			
		||||
        # with a '.difs' extension, as well as usual unittest report
 | 
			
		||||
        if deltas:
 | 
			
		||||
            hres = open(fres, mode='w', encoding='utf-8',
 | 
			
		||||
                        errors='replace')
 | 
			
		||||
            hres.write(self.msg)
 | 
			
		||||
            hres.close()
 | 
			
		||||
            # let's see if we have any allowed exception file
 | 
			
		||||
            fdif = os.path.join(TEST_DIR, (fname + ".difs"))
 | 
			
		||||
            try:
 | 
			
		||||
                hdif = open(fdif)
 | 
			
		||||
                msg = hdif.read()
 | 
			
		||||
                hdif.close()
 | 
			
		||||
            except:
 | 
			
		||||
                msg = ""
 | 
			
		||||
            # if exception file matches exactly, we are done.
 | 
			
		||||
            if self.msg != msg:
 | 
			
		||||
                self.fail(self.msg)
 | 
			
		||||
    return test
 | 
			
		||||
 | 
			
		||||
# let's see if we have a single file to run, example;
 | 
			
		||||
#    "python test_import.py -i sample.ged"
 | 
			
		||||
# This only works for files in normal test directory, so don't add a path
 | 
			
		||||
tstfile = ""
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    for i, option in enumerate(sys.argv):
 | 
			
		||||
        if option == '-i':
 | 
			
		||||
            tstfile = sys.argv[i+1]
 | 
			
		||||
            del sys.argv[i]
 | 
			
		||||
            del sys.argv[i]
 | 
			
		||||
# The following code dynamically creates the methods for each test file.
 | 
			
		||||
# The methods are inserted at load time into the 'CompleteCheck' class
 | 
			
		||||
# via the modules' globals, taking advantage that they are a dict.
 | 
			
		||||
if tstfile:                             # single file mode
 | 
			
		||||
    (fname, ext) = os.path.splitext(os.path.basename(tstfile))
 | 
			
		||||
    test_func = make_test_function(tstfile, fname)
 | 
			
		||||
    clname = 'Import_{0}'.format(tstfile)
 | 
			
		||||
    globals()[clname] = type(clname,
 | 
			
		||||
                             (CompleteCheck,),
 | 
			
		||||
                             {"testit": test_func})
 | 
			
		||||
#                             {"test:" + fname: test_func})
 | 
			
		||||
else:
 | 
			
		||||
    for tstfile in os.listdir(TEST_DIR):
 | 
			
		||||
        print(tstfile)
 | 
			
		||||
 | 
			
		||||
        (fname, ext) = os.path.splitext(os.path.basename(tstfile))
 | 
			
		||||
        if ext == ".gramps" or ext == ".difs":
 | 
			
		||||
            continue
 | 
			
		||||
        test_func = make_test_function(tstfile, fname)
 | 
			
		||||
        clname = 'Import_{0}'.format(tstfile)
 | 
			
		||||
        globals()[clname] = type(clname,
 | 
			
		||||
                                 (CompleteCheck,),
 | 
			
		||||
                                 {"testit": test_func})
 | 
			
		||||
#                                 {"test:" + fname: test_func})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    unittest.main()
 | 
			
		||||
		Reference in New Issue
	
	Block a user