break links
svn: r868
This commit is contained in:
parent
9a49e7da17
commit
5b7e45232e
@ -138,6 +138,7 @@ class GedcomParser:
|
|||||||
self.fmap = {}
|
self.fmap = {}
|
||||||
self.smap = {}
|
self.smap = {}
|
||||||
self.nmap = {}
|
self.nmap = {}
|
||||||
|
self.share_note = []
|
||||||
self.refn = {}
|
self.refn = {}
|
||||||
self.added = {}
|
self.added = {}
|
||||||
self.gedmap = GedcomInfoDB()
|
self.gedmap = GedcomInfoDB()
|
||||||
@ -264,6 +265,11 @@ class GedcomParser:
|
|||||||
self.parse_trailer()
|
self.parse_trailer()
|
||||||
self.update(self.families_obj,str(self.fam_count))
|
self.update(self.families_obj,str(self.fam_count))
|
||||||
self.update(self.people_obj,str(self.indi_count))
|
self.update(self.people_obj,str(self.indi_count))
|
||||||
|
self.break_note_links()
|
||||||
|
|
||||||
|
def break_note_links(self):
|
||||||
|
for o in self.share_note:
|
||||||
|
o.unique_note()
|
||||||
|
|
||||||
def parse_trailer(self):
|
def parse_trailer(self):
|
||||||
matches = self.get_next()
|
matches = self.get_next()
|
||||||
@ -323,9 +329,11 @@ class GedcomParser:
|
|||||||
else:
|
else:
|
||||||
if self.nmap.has_key(matches[2]):
|
if self.nmap.has_key(matches[2]):
|
||||||
self.source.setNoteObj(self.nmap[matches[2]])
|
self.source.setNoteObj(self.nmap[matches[2]])
|
||||||
|
self.share_note.append(self.source)
|
||||||
else:
|
else:
|
||||||
noteobj = Note()
|
noteobj = Note()
|
||||||
self.nmap[matches[2]] = noteobj
|
self.nmap[matches[2]] = noteobj
|
||||||
|
self.share_note.append(self.source)
|
||||||
self.source.setNoteObj(noteobj)
|
self.source.setNoteObj(noteobj)
|
||||||
elif matches[1] == "TEXT":
|
elif matches[1] == "TEXT":
|
||||||
d = self.parse_continue_data(level+1)
|
d = self.parse_continue_data(level+1)
|
||||||
@ -521,10 +529,12 @@ class GedcomParser:
|
|||||||
self.ignore_sub_junk(2)
|
self.ignore_sub_junk(2)
|
||||||
else:
|
else:
|
||||||
if self.nmap.has_key(matches[2]):
|
if self.nmap.has_key(matches[2]):
|
||||||
|
self.share_note(self.family)
|
||||||
self.family.setNoteObj(self.nmap[matches[2]])
|
self.family.setNoteObj(self.nmap[matches[2]])
|
||||||
else:
|
else:
|
||||||
noteobj = Note()
|
noteobj = Note()
|
||||||
self.nmap[matches[2]] = noteobj
|
self.nmap[matches[2]] = noteobj
|
||||||
|
self.share_note(self.family)
|
||||||
self.family.setNoteObj(noteobj)
|
self.family.setNoteObj(noteobj)
|
||||||
else:
|
else:
|
||||||
event = Event()
|
event = Event()
|
||||||
@ -595,9 +605,11 @@ class GedcomParser:
|
|||||||
self.ignore_sub_junk(2)
|
self.ignore_sub_junk(2)
|
||||||
else:
|
else:
|
||||||
if self.nmap.has_key(matches[2]):
|
if self.nmap.has_key(matches[2]):
|
||||||
|
self.share_note(self.person)
|
||||||
self.person.setNoteObj(self.nmap[matches[2]])
|
self.person.setNoteObj(self.nmap[matches[2]])
|
||||||
else:
|
else:
|
||||||
noteobj = Note()
|
noteobj = Note()
|
||||||
|
self.share_note(self.person)
|
||||||
self.nmap[matches[2]] = noteobj
|
self.nmap[matches[2]] = noteobj
|
||||||
self.person.setNoteObj(noteobj)
|
self.person.setNoteObj(noteobj)
|
||||||
elif matches[1] == "SEX":
|
elif matches[1] == "SEX":
|
||||||
@ -912,10 +924,12 @@ class GedcomParser:
|
|||||||
self.ignore_sub_junk(2)
|
self.ignore_sub_junk(2)
|
||||||
else:
|
else:
|
||||||
if self.nmap.has_key(matches[2]):
|
if self.nmap.has_key(matches[2]):
|
||||||
|
self.share_note(address)
|
||||||
address.setNoteObj(self.nmap[matches[2]])
|
address.setNoteObj(self.nmap[matches[2]])
|
||||||
else:
|
else:
|
||||||
noteobj = Note()
|
noteobj = Note()
|
||||||
self.nmap[matches[2]] = noteobj
|
self.nmap[matches[2]] = noteobj
|
||||||
|
self.share_note(address)
|
||||||
address.setNoteObj(noteobj)
|
address.setNoteObj(noteobj)
|
||||||
else:
|
else:
|
||||||
self.barf(level+1)
|
self.barf(level+1)
|
||||||
@ -990,10 +1004,12 @@ class GedcomParser:
|
|||||||
self.ignore_sub_junk(2)
|
self.ignore_sub_junk(2)
|
||||||
else:
|
else:
|
||||||
if self.nmap.has_key(matches[2]):
|
if self.nmap.has_key(matches[2]):
|
||||||
|
self.share_note(ord)
|
||||||
ord.setNoteObj(self.nmap[matches[2]])
|
ord.setNoteObj(self.nmap[matches[2]])
|
||||||
else:
|
else:
|
||||||
noteobj = Note()
|
noteobj = Note()
|
||||||
self.nmap[matches[2]] = noteobj
|
self.nmap[matches[2]] = noteobj
|
||||||
|
self.share_note(ord)
|
||||||
ord.setNoteObj(noteobj)
|
ord.setNoteObj(noteobj)
|
||||||
elif matches[1] == "STAT":
|
elif matches[1] == "STAT":
|
||||||
if const.lds_status.has_key(matches[2]):
|
if const.lds_status.has_key(matches[2]):
|
||||||
@ -1275,10 +1291,12 @@ class GedcomParser:
|
|||||||
self.ignore_sub_junk(2)
|
self.ignore_sub_junk(2)
|
||||||
else:
|
else:
|
||||||
if self.nmap.has_key(matches[2]):
|
if self.nmap.has_key(matches[2]):
|
||||||
|
self.share_note(event)
|
||||||
event.setNoteObj(self.nmap[matches[2]])
|
event.setNoteObj(self.nmap[matches[2]])
|
||||||
else:
|
else:
|
||||||
noteobj = Note()
|
noteobj = Note()
|
||||||
self.nmap[matches[2]] = noteobj
|
self.nmap[matches[2]] = noteobj
|
||||||
|
self.share_note(event)
|
||||||
event.setNoteObj(noteobj)
|
event.setNoteObj(noteobj)
|
||||||
else:
|
else:
|
||||||
self.barf(level+1)
|
self.barf(level+1)
|
||||||
@ -1314,10 +1332,12 @@ class GedcomParser:
|
|||||||
self.ignore_sub_junk(2)
|
self.ignore_sub_junk(2)
|
||||||
else:
|
else:
|
||||||
if self.nmap.has_key(matches[2]):
|
if self.nmap.has_key(matches[2]):
|
||||||
|
self.share_note(source)
|
||||||
source.setNoteObj(self.nmap[matches[2]])
|
source.setNoteObj(self.nmap[matches[2]])
|
||||||
else:
|
else:
|
||||||
noteobj = Note()
|
noteobj = Note()
|
||||||
self.nmap[matches[2]] = noteobj
|
self.nmap[matches[2]] = noteobj
|
||||||
|
self.share_note(source)
|
||||||
source.setNoteObj(noteobj)
|
source.setNoteObj(noteobj)
|
||||||
else:
|
else:
|
||||||
self.barf(level+1)
|
self.barf(level+1)
|
||||||
@ -1398,10 +1418,12 @@ class GedcomParser:
|
|||||||
self.ignore_sub_junk(2)
|
self.ignore_sub_junk(2)
|
||||||
else:
|
else:
|
||||||
if self.nmap.has_key(matches[2]):
|
if self.nmap.has_key(matches[2]):
|
||||||
|
self.share_note(name)
|
||||||
name.setNoteObj(self.nmap[matches[2]])
|
name.setNoteObj(self.nmap[matches[2]])
|
||||||
else:
|
else:
|
||||||
noteobj = Note()
|
noteobj = Note()
|
||||||
self.nmap[matches[2]] = noteobj
|
self.nmap[matches[2]] = noteobj
|
||||||
|
self.share_note(name)
|
||||||
name.setNoteObj(noteobj)
|
name.setNoteObj(noteobj)
|
||||||
else:
|
else:
|
||||||
self.barf(level+1)
|
self.barf(level+1)
|
||||||
|
Loading…
Reference in New Issue
Block a user