Fixed read/write gedcom bugs
svn: r680
This commit is contained in:
parent
49be38d769
commit
9520ef3bf5
@ -114,7 +114,12 @@ class Find:
|
||||
last = self.clist.rows
|
||||
person = None
|
||||
while row != orow:
|
||||
person,alt = self.clist.get_row_data(row)
|
||||
value = self.clist.get_row_data(row)
|
||||
if value == None:
|
||||
row = row - 1
|
||||
continue
|
||||
person = value[0]
|
||||
alt = value[1]
|
||||
if alt == 0:
|
||||
name = person.getPrimaryName().getName()
|
||||
if string.find(string.upper(name),string.upper(text)) >= 0:
|
||||
|
@ -662,7 +662,21 @@ class GedcomParser:
|
||||
self.person.addAttribute(attr)
|
||||
else:
|
||||
self.person.addEvent(event)
|
||||
elif matches[1] in ["AFN","CHAN","REFN","SOUR","ASSO"]:
|
||||
elif matches[1] == "SOUR":
|
||||
source_ref = SourceRef()
|
||||
if matches[2] and matches[2][0] != "@":
|
||||
self.localref = self.localref + 1
|
||||
ref = "gsr%d" % self.localref
|
||||
s = self.db.findSource(ref,self.smap)
|
||||
source_ref.setBase(s)
|
||||
s.setTitle('Imported Source #%d' % self.localref)
|
||||
s.setNote(matches[2] + self.parse_continue_data(2))
|
||||
self.ignore_sub_junk(2)
|
||||
else:
|
||||
source_ref.setBase(self.db.findSource(matches[2],self.smap))
|
||||
self.parse_source_reference(source_ref,2)
|
||||
self.person.getPrimaryName().addSourceRef(source_ref)
|
||||
elif matches[1] in ["AFN","CHAN","REFN","ASSO"]:
|
||||
self.ignore_sub_junk(2)
|
||||
elif matches[1] in ["ANCI","DESI","RIN","RFN"]:
|
||||
pass
|
||||
|
@ -207,6 +207,7 @@ def add_persons_sources(person,slist,private):
|
||||
sbase = source_ref.getBase()
|
||||
if sbase != None and sbase not in slist:
|
||||
slist.append(sbase)
|
||||
|
||||
for event in person.getAddressList():
|
||||
if private and event.getPrivacy():
|
||||
continue
|
||||
@ -214,14 +215,16 @@ def add_persons_sources(person,slist,private):
|
||||
sbase = source_ref.getBase()
|
||||
if sbase != None and sbase not in slist:
|
||||
slist.append(sbase)
|
||||
for event in person.getAttibuteList:
|
||||
|
||||
for event in person.getAttibuteList():
|
||||
if private and event.getPrivacy():
|
||||
continue
|
||||
for source_ref in event.getSourceRefList():
|
||||
sbase = source_ref.getBase()
|
||||
if sbase != None and sbase not in slist:
|
||||
slist.append(sbase)
|
||||
for name in person.getNameList + [person.getPrimaryName()]:
|
||||
|
||||
for name in person.getNameList() + [person.getPrimaryName()]:
|
||||
if private and name.getPrivacy():
|
||||
continue
|
||||
for source_ref in name.getSourceRefList():
|
||||
|
Loading…
Reference in New Issue
Block a user