Use CONT and CONC on DATA, FILE and NAME tags
authorBenoît Fontaine <benoit.fontaine@acft.fr>
Wed, 13 Jun 2018 21:29:45 +0000 (23:29 +0200)
committerBenoît Fontaine <benoit.fontaine@acft.fr>
Wed, 13 Jun 2018 21:29:45 +0000 (23:29 +0200)
getmyancestors.py
mergemyancestors.py

index 0729b7274814e85d848bd1b33e766205d4c976d6..1b458288b65c910ca007d494b153776387226337 100755 (executable)
@@ -346,7 +346,7 @@ class Fact:
             return
         file.write('\n')
         if self.date:
-            file.write('2 DATE ' + self.date + '\n')
+            file.write(cont('2 DATE ' + self.date) + '\n')
         if self.place:
             file.write(cont('2 PLAC ' + self.place) + '\n')
         if self.map:
@@ -372,7 +372,7 @@ class Memorie:
         if self.description:
             file.write(cont('2 TITL ' + self.description) + '\n')
         if self.url:
-            file.write('2 FILE ' + self.url + '\n')
+            file.write(cont('2 FILE ' + self.url) + '\n')
 
 
 class Name:
@@ -398,10 +398,10 @@ class Name:
                 self.note = Note(data['attribution']['changeMessage'], tree)
 
     def print(self, file=sys.stdout, typ=None):
-        file.write('1 NAME ' + self.given + ' /' + self.surname + '/')
+        tmp = '1 NAME ' + self.given + ' /' + self.surname + '/'
         if self.suffix:
-            file.write(' ' + self.suffix)
-        file.write('\n')
+            tmp += ' ' + self.suffix
+        file.write(cont(tmp) + '\n')
         if typ:
             file.write('2 TYPE ' + typ + '\n')
         if self.prefix:
@@ -423,7 +423,7 @@ class Ordinance:
 
     def print(self, file=sys.stdout):
         if self.date:
-            file.write('2 DATE ' + self.date + '\n')
+            file.write(cont('2 DATE ' + self.date) + '\n')
         if self.temple_code:
             file.write('2 TEMP ' + self.temple_code + '\n')
         if self.status in ORDINANCES_STATUS:
@@ -571,7 +571,7 @@ class Indi:
         if self.name:
             self.name.print(file)
         for o in self.nicknames:
-            file.write('2 NICK ' + o.given + ' ' + o .surname + '\n')
+            file.write(cont('2 NICK ' + o.given + ' ' + o .surname) + '\n')
         for o in self.birthnames:
             o.print(file)
         for o in self.aka:
index ba3215d6bb64fc9337c0972bf45b096504d50d36..8af9c4efa7d4d8c27ffb833f669df5a981bf69b9 100755 (executable)
@@ -161,7 +161,7 @@ class Gedcom:
         self.flag = True
 
     def __get_name(self):
-        parts = self.data.split('/')
+        parts = self.__get_text().split('/')
         name = Name()
         added = False
         name.given = parts[0].strip()
@@ -203,7 +203,7 @@ class Gedcom:
             if self.tag == 'TYPE':
                 fact.type = self.data
             if self.tag == 'DATE':
-                fact.date = self.data
+                fact.date = self.__get_text()
             elif self.tag == 'PLAC':
                 fact.place = self.__get_text()
             elif self.tag == 'MAP':
@@ -284,7 +284,7 @@ class Gedcom:
             if self.tag == 'TITL':
                 memorie.description = self.__get_text()
             elif self.tag == 'FILE':
-                memorie.url = self.data
+                memorie.url = self.__get_text()
         self.flag = True
         return memorie
 
@@ -296,7 +296,7 @@ class Gedcom:
         ordinance = Ordinance()
         while self.__get_line() and self.level > 1:
             if self.tag == 'DATE':
-                ordinance.date = self.data
+                ordinance.date = self.__get_text()
             elif self.tag == 'TEMP':
                 ordinance.temple_code = self.data
             elif self.tag == 'STAT':