Notes and sources for names
svn: r144
This commit is contained in:
parent
4e5b4a9ec6
commit
1ea6ef9d64
@ -192,6 +192,8 @@ class Name:
|
|||||||
self.Surname = ""
|
self.Surname = ""
|
||||||
self.Suffix = ""
|
self.Suffix = ""
|
||||||
self.Title = ""
|
self.Title = ""
|
||||||
|
self.source_ref = SourceRef()
|
||||||
|
self.note = Note()
|
||||||
|
|
||||||
def setName(self,first,last,suffix):
|
def setName(self,first,last,suffix):
|
||||||
self.FirstName = first
|
self.FirstName = first
|
||||||
@ -234,6 +236,24 @@ class Name:
|
|||||||
else:
|
else:
|
||||||
return "%s %s, %s" % (self.FirstName, self.Surname, self.Suffix)
|
return "%s %s, %s" % (self.FirstName, self.Surname, self.Suffix)
|
||||||
|
|
||||||
|
def setNote(self,text):
|
||||||
|
self.note.set(text)
|
||||||
|
|
||||||
|
def getNote(self):
|
||||||
|
return self.note.get()
|
||||||
|
|
||||||
|
def setNoteObj(self,obj):
|
||||||
|
self.note = obj
|
||||||
|
|
||||||
|
def getNoteObj(self,obj):
|
||||||
|
return self.note
|
||||||
|
|
||||||
|
def setSourceRef(self,id) :
|
||||||
|
self.source_ref = id
|
||||||
|
|
||||||
|
def getSourceRef(self) :
|
||||||
|
return self.source_ref
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -174,6 +174,10 @@ def dump_name(g,label,name):
|
|||||||
write_line(g,"last",name.getSurname())
|
write_line(g,"last",name.getSurname())
|
||||||
write_line(g,"suffix",name.getSuffix())
|
write_line(g,"suffix",name.getSuffix())
|
||||||
write_line(g,"title",name.getTitle())
|
write_line(g,"title",name.getTitle())
|
||||||
|
if name.getNote() != "":
|
||||||
|
writeNote(g,"note",name.getNote())
|
||||||
|
dump_source_ref(g,name.getSourceRef())
|
||||||
|
|
||||||
g.write('</%s>\n' % label)
|
g.write('</%s>\n' % label)
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
@ -113,7 +113,17 @@ def importData(database, filename):
|
|||||||
"destroy_passed_object" : utils.destroy_passed_object
|
"destroy_passed_object" : utils.destroy_passed_object
|
||||||
})
|
})
|
||||||
|
|
||||||
g = GedcomParser(database,filename,statusTop)
|
try:
|
||||||
|
g = GedcomParser(database,filename,statusTop)
|
||||||
|
except IOError,msg:
|
||||||
|
utils.destroy_passed_object(statusWindow)
|
||||||
|
GnomeErrorDialog(_("%s could not be opened\n") % filename + str(msg))
|
||||||
|
return
|
||||||
|
except:
|
||||||
|
utils.destroy_passed_object(statusWindow)
|
||||||
|
GnomeErrorDialog(_("%s could not be opened\n") % filename)
|
||||||
|
return
|
||||||
|
|
||||||
g.parse_gedcom_file()
|
g.parse_gedcom_file()
|
||||||
|
|
||||||
statusTop.get_widget("close").set_sensitive(1)
|
statusTop.get_widget("close").set_sensitive(1)
|
||||||
@ -169,6 +179,7 @@ class GedcomParser:
|
|||||||
self.smap = {}
|
self.smap = {}
|
||||||
self.nmap = {}
|
self.nmap = {}
|
||||||
self.dir_path = os.path.dirname(file)
|
self.dir_path = os.path.dirname(file)
|
||||||
|
|
||||||
f = open(file,"r")
|
f = open(file,"r")
|
||||||
self.lines = f.readlines()
|
self.lines = f.readlines()
|
||||||
f.close()
|
f.close()
|
||||||
@ -1017,9 +1028,22 @@ class GedcomParser:
|
|||||||
elif matches[1] == "NICK":
|
elif matches[1] == "NICK":
|
||||||
self.person.setNickName(matches[2])
|
self.person.setNickName(matches[2])
|
||||||
elif matches[1] == "SOUR":
|
elif matches[1] == "SOUR":
|
||||||
self.ignore_sub_junk(level+1)
|
source_ref = SourceRef()
|
||||||
elif matches[1] == "NOTE":
|
source_ref.setBase(self.db.findSource(matches[2],self.smap))
|
||||||
self.ignore_sub_junk(level+1)
|
name.setSourceRef(source_ref)
|
||||||
|
self.parse_source_reference(source_ref,level+1)
|
||||||
|
elif matches[2][0:4] == "NOTE":
|
||||||
|
if matches[2] and matches[2][0] != "@":
|
||||||
|
note = matches[1] + self.parse_continue_data(1)
|
||||||
|
name.setNote(note)
|
||||||
|
self.ignore_sub_junk(2)
|
||||||
|
else:
|
||||||
|
if self.nmap.has_key(matches[2]):
|
||||||
|
name.setNoteObj(self.nmap[matches[2]])
|
||||||
|
else:
|
||||||
|
noteobj = Note()
|
||||||
|
self.nmap[matches[2]] = noteobj
|
||||||
|
name.setNoteObj(noteobj)
|
||||||
else:
|
else:
|
||||||
self.barf(level+1)
|
self.barf(level+1)
|
||||||
|
|
||||||
@ -1468,3 +1492,15 @@ if __name__ == "__main__":
|
|||||||
else:
|
else:
|
||||||
g = GedcomParser(db,sys.argv[1])
|
g = GedcomParser(db,sys.argv[1])
|
||||||
g.parse_gedcom_file()
|
g.parse_gedcom_file()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user