]> Nutra Git (v1) - gamesguru/getmyancestors.git/commitdiff
write 'DEAT Y' for deceased indi whithout date/place, fix and update mergemyancestors
authorlinek <benoitfontaine.ba@gmail.com>
Thu, 17 Aug 2017 19:09:34 +0000 (21:09 +0200)
committerlinek <benoitfontaine.ba@gmail.com>
Thu, 17 Aug 2017 19:09:34 +0000 (21:09 +0200)
getmyancestors.py
mergemyancestors.py

index 1d6de952f5590b8fc972d7462e41cb206b085dff..bdb5960ba173d52382103980288c4f40a0312787 100755 (executable)
@@ -317,13 +317,13 @@ class Name:
             if 'changeMessage' in data['attribution']:
                 self.note = Note(data['attribution']['changeMessage'], tree)
 
-    def print(self, file=sys.stdout, type=None):
+    def print(self, file=sys.stdout, typ=None):
         file.write('1 NAME ' + self.given + ' /' + self.surname + '/')
         if self.suffix:
             file.write(' ' + self.suffix)
         file.write('\n')
-        if type:
-            file.write('2 TYPE ' + type + '\n')
+        if typ:
+            file.write('2 TYPE ' + typ + '\n')
         if self.prefix:
             file.write('2 NPFX ' + self.prefix + '\n')
         if self.note:
@@ -371,6 +371,7 @@ class Indi:
             self.num = Indi.counter
         self.fid = fid
         self.tree = tree
+        self.living = True
         self.famc_fid = set()
         self.fams_fid = set()
         self.famc_num = set()
@@ -393,6 +394,7 @@ class Indi:
             data = tree.fs.get_url(url)
             if data:
                 x = data['persons'][0]
+                self.living = x['living']
                 if x['names']:
                     for y in x['names']:
                         if y['preferred']:
@@ -563,6 +565,8 @@ class Indi:
                 file.write('2 DATE ' + self.deatdate + '\n')
             if self.deatplac:
                 file.write('2 PLAC ' + self.deatplac + '\n')
+        elif not self.living:
+            file.write('1 DEAT Y\n')
         if self.buridate or self.buriplac:
             file.write('1 BURI\n')
             if self.buridate:
index 8ebc75c880fcca590579eb572adfe1188cb08600..6600776cadc2d09d6bbad7f08f24d7fe44ad5942 100755 (executable)
@@ -209,6 +209,7 @@ class Gedcom:
         self.flag = True
 
     def __get_deat(self):
+        self.indi[self.num].living = False
         while self.__get_line() and self.level > 1:
             if self.tag == 'DATE':
                 self.indi[self.num].deatdate = self.data
@@ -377,6 +378,7 @@ if __name__ == '__main__':
                 tree.indi[fid] = Indi(tree=tree, num=indi_counter)
                 tree.indi[fid].tree = tree
                 tree.indi[fid].fid = ged.indi[num].fid
+            tree.indi[fid].living = ged.indi[num].living
             tree.indi[fid].fams_fid |= ged.indi[num].fams_fid
             tree.indi[fid].famc_fid |= ged.indi[num].famc_fid
             tree.indi[fid].name = ged.indi[num].name
@@ -419,26 +421,26 @@ if __name__ == '__main__':
             tree.fam[(husb, wife)].sealing_spouse = ged.fam[num].sealing_spouse
 
     # merge notes by text
-    tree.list_notes = sorted(tree.list_notes, key=lambda x: x.text)
-    for i, n in enumerate(tree.list_notes):
+    tree.notes = sorted(tree.notes, key=lambda x: x.text)
+    for i, n in enumerate(tree.notes):
         if i == 0:
             n.num = 1
             continue
-        if n.text == tree.list_notes[i - 1].text:
-            n.num = tree.list_notes[i - 1].num
+        if n.text == tree.notes[i - 1].text:
+            n.num = tree.notes[i - 1].num
         else:
-            n.num = tree.list_notes[i - 1].num + 1
+            n.num = tree.notes[i - 1].num + 1
 
     # merge sources by fid
-    tree.list_sources = sorted(tree.list_sources, key=lambda x: x.fid)
-    for i, n in enumerate(tree.list_sources):
+    tree.sources = sorted(tree.sources, key=lambda x: x.fid)
+    for i, n in enumerate(tree.sources):
         if i == 0:
             n.num = 1
             continue
-        if n.fid == tree.list_sources[i - 1].fid:
-            n.num = tree.list_sources[i - 1].num
+        if n.fid == tree.sources[i - 1].fid:
+            n.num = tree.sources[i - 1].num
         else:
-            n.num = tree.list_sources[i - 1].num + 1
+            n.num = tree.sources[i - 1].num + 1
 
     # compute number for family relationships and print GEDCOM file
     tree.reset_num()