Additional Reference fixes
svn: r2888
This commit is contained in:
parent
976e854a2f
commit
e2da222236
@ -67,26 +67,27 @@ class Bookmarks :
|
||||
"""Create the pulldown menu"""
|
||||
if len(self.bookmarks) > 0:
|
||||
self.myMenu = gtk.Menu()
|
||||
for person in self.bookmarks:
|
||||
self.add_to_menu(person)
|
||||
for person_id in self.bookmarks:
|
||||
self.add_to_menu(person_id)
|
||||
self.menu.set_submenu(self.myMenu)
|
||||
self.menu.set_sensitive(1)
|
||||
else:
|
||||
self.menu.remove_submenu()
|
||||
self.menu.set_sensitive(0)
|
||||
|
||||
def add(self,person):
|
||||
def add(self,person_id):
|
||||
"""appends the person to the bottom of the bookmarks"""
|
||||
if person not in self.bookmarks:
|
||||
if person_id not in self.bookmarks:
|
||||
Utils.modified()
|
||||
self.bookmarks.append(person)
|
||||
self.bookmarks.append(person_id)
|
||||
self.redraw()
|
||||
|
||||
def add_to_menu(self,person_id):
|
||||
"""adds a person's name to the drop down menu"""
|
||||
person = self.db.find_person_from_id(person_id)
|
||||
item = gtk.MenuItem(person.get_primary_name().get_name())
|
||||
item.connect("activate", self.callback, person)
|
||||
data = self.db.person_map.get(str(person_id))
|
||||
name = data[2].get_name()
|
||||
item = gtk.MenuItem(name)
|
||||
item.connect("activate", self.callback, person_id)
|
||||
item.show()
|
||||
self.myMenu.append(item)
|
||||
|
||||
@ -143,8 +144,10 @@ class Bookmarks :
|
||||
self.draw_window()
|
||||
index = 0
|
||||
for person in self.bookmarks:
|
||||
self.namelist.append([person.get_primary_name().get_name()])
|
||||
self.namelist.set_row_data(index,person)
|
||||
data = self.db.person_map.get(str(person_id))
|
||||
name = data[2].get_name()
|
||||
self.namelist.append([name])
|
||||
self.namelist.set_row_data(index,person_id)
|
||||
index = index + 1
|
||||
|
||||
self.response = self.top.run()
|
||||
@ -176,9 +179,9 @@ class Bookmarks :
|
||||
"""Saves the current bookmarks from the list"""
|
||||
del self.bookmarks[0:]
|
||||
for index in range(0,self.namelist.rows):
|
||||
person = self.namelist.get_row_data(index)
|
||||
if person:
|
||||
self.bookmarks.append(person)
|
||||
person_id = self.namelist.get_row_data(index)
|
||||
if person_id:
|
||||
self.bookmarks.append(person_id)
|
||||
self.redraw()
|
||||
|
||||
def help_clicked(self):
|
||||
|
@ -355,7 +355,7 @@ class EditPerson:
|
||||
"on_add_aka_clicked" : self.on_add_aka_clicked,
|
||||
"on_add_attr_clicked" : self.on_add_attr_clicked,
|
||||
"on_add_url_clicked" : self.on_add_url_clicked,
|
||||
"on_addphoto_clicked" : self.gallery.on_add_photo_clicked,
|
||||
"on_addphoto_clicked" : self.gallery.on_add_media_object_clicked,
|
||||
"on_selectphoto_clicked" : self.gallery.on_select_photo_clicked,
|
||||
"on_aka_delete_clicked" : self.on_aka_delete_clicked,
|
||||
"on_aka_update_clicked" : self.on_aka_update_clicked,
|
||||
|
@ -168,7 +168,7 @@ class EditPlace:
|
||||
|
||||
self.top_window.signal_autoconnect({
|
||||
"on_switch_page" : self.on_switch_page,
|
||||
"on_addphoto_clicked" : self.glry.on_add_photo_clicked,
|
||||
"on_addphoto_clicked" : self.glry.on_add_media_object_clicked,
|
||||
"on_selectphoto_clicked" : self.glry.on_select_photo_clicked,
|
||||
"on_deletephoto_clicked" : self.glry.on_delete_photo_clicked,
|
||||
"on_edit_photo_clicked" : self.glry.on_edit_photo_clicked,
|
||||
|
@ -189,15 +189,12 @@ class EditSource:
|
||||
for key in self.db.get_person_keys():
|
||||
p = self.db.get_person(key)
|
||||
name = GrampsCfg.nameof(p)
|
||||
birth_event = self.db.find_event_from_id(p.get_birth_id())
|
||||
death_event = self.db.find_event_from_id(p.get_death_id())
|
||||
for v_id in p.get_event_list() + [p.get_birth_id(), p.get_death_id()]:
|
||||
v = self.db.find_event_from_id(v_id)
|
||||
if not v:
|
||||
continue
|
||||
for sref in v.get_source_references():
|
||||
if sref.get_base_id() == self.source.get_id():
|
||||
p_event_list.append((name,v.get_name()))
|
||||
for event_id in p.get_event_list() + [p.get_birth_id(), p.get_death_id()]:
|
||||
if event_id:
|
||||
event = self.db.find_event_from_id(event_id)
|
||||
for sref in event.get_source_references():
|
||||
if sref.get_base_id() == self.source.get_id():
|
||||
p_event_list.append((name,event.get_name()))
|
||||
for v in p.get_attribute_list():
|
||||
for sref in v.get_source_references():
|
||||
if sref.get_base_id() == self.source.get_id():
|
||||
@ -210,14 +207,16 @@ class EditSource:
|
||||
for sref in v.get_source_references():
|
||||
if sref.get_base_id() == self.source.get_id():
|
||||
p_addr_list.append((name,v.get_street()))
|
||||
for p in self.db.get_object_map().values():
|
||||
name = p.get_description()
|
||||
for sref in p.get_source_references():
|
||||
for object_id in self.db.get_object_keys():
|
||||
object = self.db.find_object_from_id(object_id)
|
||||
name = object.get_description()
|
||||
for sref in object.get_source_references():
|
||||
if sref.get_base_id() == self.source.get_id():
|
||||
m_list.append(name)
|
||||
for p in self.db.get_family_id_map().values():
|
||||
f_id = p.get_father_id()
|
||||
m_id = p.get_mother_id()
|
||||
for family_id in self.db.get_family_keys():
|
||||
family = self.db.find_family_from_id(family_id)
|
||||
f_id = family.get_father_id()
|
||||
m_id = family.get_mother_id()
|
||||
f = self.db.find_person_from_id(f_id)
|
||||
m = self.db.find_person_from_id(m_id)
|
||||
if f and m:
|
||||
|
@ -473,13 +473,13 @@ class GrampsParser:
|
||||
if attrs.has_key('priv'):
|
||||
self.objref.set_privacy(int(attrs['priv']))
|
||||
if self.family:
|
||||
self.family.add_media_object(self.objref)
|
||||
self.family.add_media_reference(self.objref)
|
||||
elif self.source:
|
||||
self.source.add_media_object(self.objref)
|
||||
self.source.add_media_reference(self.objref)
|
||||
elif self.person:
|
||||
self.person.add_media_object(self.objref)
|
||||
self.person.add_media_reference(self.objref)
|
||||
elif self.placeobj:
|
||||
self.placeobj.add_media_object(self.objref)
|
||||
self.placeobj.add_media_reference(self.objref)
|
||||
|
||||
def start_object(self,attrs):
|
||||
self.object = self.db.find_object_from_id(attrs['id'])
|
||||
@ -530,13 +530,13 @@ class GrampsParser:
|
||||
self.photo.set_mime_type(Utils.get_mime_type(self.photo.get_path()))
|
||||
self.db.add_object(self.photo)
|
||||
if self.family:
|
||||
self.family.add_media_object(self.pref)
|
||||
self.family.add_media_reference(self.pref)
|
||||
elif self.source:
|
||||
self.source.add_media_object(self.pref)
|
||||
self.source.add_media_reference(self.pref)
|
||||
elif self.person:
|
||||
self.person.add_media_object(self.pref)
|
||||
self.person.add_media_reference(self.pref)
|
||||
elif self.placeobj:
|
||||
self.placeobj.add_media_object(self.pref)
|
||||
self.placeobj.add_media_reference(self.pref)
|
||||
|
||||
def start_daterange(self,attrs):
|
||||
if self.source_ref:
|
||||
@ -1037,13 +1037,13 @@ class GrampsImportParser(GrampsParser):
|
||||
if attrs.has_key('priv'):
|
||||
self.objref.set_privacy(int(attrs['priv']))
|
||||
if self.family:
|
||||
self.family.add_media_object(self.objref)
|
||||
self.family.add_media_reference(self.objref)
|
||||
elif self.source:
|
||||
self.source.add_media_object(self.objref)
|
||||
self.source.add_media_reference(self.objref)
|
||||
elif self.person:
|
||||
self.person.add_media_object(self.objref)
|
||||
self.person.add_media_reference(self.objref)
|
||||
elif self.placeobj:
|
||||
self.placeobj.add_media_object(self.objref)
|
||||
self.placeobj.add_media_reference(self.objref)
|
||||
|
||||
def start_object(self,attrs):
|
||||
self.object = self.db.find_object_no_conflicts(attrs['id'],self.MediaFileMap)
|
||||
|
@ -178,7 +178,7 @@ class ImageSelect:
|
||||
if (already_imported):
|
||||
oref = RelLib.MediaRef()
|
||||
oref.set_reference(already_imported)
|
||||
self.dataobj.add_media_object(oref)
|
||||
self.dataobj.add_media_reference(oref)
|
||||
self.add_thumbnail(oref)
|
||||
else:
|
||||
type = Utils.get_mime_type(filename)
|
||||
@ -369,7 +369,7 @@ class Gallery(ImageSelect):
|
||||
self.db.add_object(photo)
|
||||
oref = RelLib.MediaRef()
|
||||
oref.set_reference(photo)
|
||||
self.dataobj.add_media_object(oref)
|
||||
self.dataobj.add_media_reference(oref)
|
||||
|
||||
def add_thumbnail(self, photo):
|
||||
"""Scale the image and add it to the IconList."""
|
||||
@ -510,7 +510,7 @@ class Gallery(ImageSelect):
|
||||
self.db.add_object(photo)
|
||||
oref = RelLib.MediaRef()
|
||||
oref.set_reference(photo)
|
||||
self.dataobj.add_media_object(oref)
|
||||
self.dataobj.add_media_reference(oref)
|
||||
try:
|
||||
id = photo.get_id()
|
||||
name = RelImage.import_media_object(tfile,self.path,id)
|
||||
@ -549,7 +549,7 @@ class Gallery(ImageSelect):
|
||||
index = index + 1
|
||||
oref = RelLib.MediaRef()
|
||||
oref.set_reference(self.db.find_object_from_id(data.data))
|
||||
self.dataobj.add_media_object(oref)
|
||||
self.dataobj.add_media_reference(oref)
|
||||
self.add_thumbnail(oref)
|
||||
self.parent.lists_changed = 1
|
||||
if GrampsCfg.globalprop:
|
||||
@ -578,7 +578,7 @@ class Gallery(ImageSelect):
|
||||
return
|
||||
oref = RelLib.MediaRef()
|
||||
oref.set_reference(object)
|
||||
self.dataobj.add_media_object(oref)
|
||||
self.dataobj.add_media_reference(oref)
|
||||
self.add_thumbnail(oref)
|
||||
|
||||
self.parent.lists_changed = 1
|
||||
|
@ -335,7 +335,7 @@ class MergePeople:
|
||||
self.merge_families()
|
||||
|
||||
for photo in self.p2.get_media_list():
|
||||
self.p1.add_media_object(photo)
|
||||
self.p1.add_media_reference(photo)
|
||||
|
||||
if self.p1.get_nick_name() == "":
|
||||
self.p1.set_nick_name(self.p2.get_nick_name())
|
||||
@ -860,7 +860,7 @@ class MergePlaces:
|
||||
|
||||
# Copy photos from P2 to P1
|
||||
for photo in self.p2.get_media_list():
|
||||
self.p1.add_media_object(photo)
|
||||
self.p1.add_media_reference(photo)
|
||||
|
||||
# Copy sources from P2 to P1
|
||||
for source in self.p2.get_source_references():
|
||||
|
@ -278,7 +278,7 @@ class Place(SourceNote):
|
||||
|
||||
SourceNote.__init__(self,source)
|
||||
if source:
|
||||
self.long = source.log
|
||||
self.long = source.long
|
||||
self.lat = source.lat
|
||||
self.title = source.title
|
||||
self.main_loc = Location(source.main_loc)
|
||||
@ -290,8 +290,8 @@ class Place(SourceNote):
|
||||
for u in source.urls:
|
||||
self.urls.append(Url(u))
|
||||
self.media_list = []
|
||||
for photo in source.media_list:
|
||||
self.media_list.append(MediaRef(photo))
|
||||
for media_id in source.media_list:
|
||||
self.media_list.append(MediaRef(media_id))
|
||||
else:
|
||||
self.long = ""
|
||||
self.lat = ""
|
||||
@ -377,9 +377,9 @@ class Place(SourceNote):
|
||||
if loc not in self.alt_loc:
|
||||
self.alt_loc.append(loc)
|
||||
|
||||
def add_media_object(self,photo):
|
||||
def add_media_reference(self,media_id):
|
||||
"""Adds a Photo object to the place object's image list"""
|
||||
self.media_list.append(photo)
|
||||
self.media_list.append(media_id)
|
||||
|
||||
def get_media_list(self):
|
||||
"""Returns the list of Photo objects"""
|
||||
@ -1296,9 +1296,9 @@ class Person(SourceNote):
|
||||
# else:
|
||||
# return e
|
||||
|
||||
def add_media_object(self,photo):
|
||||
def add_media_reference(self,media_id):
|
||||
"""adds a MediaObject instance to the image list"""
|
||||
self.media_list.append(photo)
|
||||
self.media_list.append(media_id)
|
||||
|
||||
def get_media_list(self):
|
||||
"""returns the list of MediaObjects"""
|
||||
@ -1970,9 +1970,9 @@ class Family(SourceNote):
|
||||
"""sets the event list to the passed list"""
|
||||
self.event_list = list
|
||||
|
||||
def add_media_object(self,photo):
|
||||
def add_media_reference(self,media_id):
|
||||
"""Adds a MediaObject object to the Family instance's image list"""
|
||||
self.media_list.append(photo)
|
||||
self.media_list.append(media_id)
|
||||
|
||||
def get_media_list(self):
|
||||
"""Returns the list of MediaObject objects"""
|
||||
@ -2018,9 +2018,10 @@ class Source:
|
||||
"""returns the gramps' ID of the Source instance"""
|
||||
return self.id
|
||||
|
||||
def add_media_object(self,photo):
|
||||
#EARNEY, this should eventually be a list of ids not objects, right?
|
||||
def add_media_reference(self,media_id):
|
||||
"""Adds a MediaObject object to the Source instance's image list"""
|
||||
self.media_list.append(photo)
|
||||
self.media_list.append(media_id)
|
||||
|
||||
def get_media_list(self):
|
||||
"""Returns the list of MediaObject objects"""
|
||||
@ -2306,6 +2307,9 @@ class GrampsDB:
|
||||
def get_person_keys(self):
|
||||
return self.person_map.keys()
|
||||
|
||||
def get_family_keys(self):
|
||||
return self.family_map.keys()
|
||||
|
||||
def sort_by_name(self,f,s):
|
||||
n1 = self.person_map.get(str(f))[2].sname
|
||||
n2 = self.person_map.get(str(s))[2].sname
|
||||
@ -2441,9 +2445,13 @@ class GrampsDB:
|
||||
self.place2title = {}
|
||||
self.genderStats = GenderStats ()
|
||||
|
||||
#EARNEY, may eventually be able to use secondary indexes for this
|
||||
#that way we will not have to track these with code.
|
||||
def get_surnames(self):
|
||||
return self.surnames
|
||||
|
||||
#this function may eventually become obsolete.. if we use
|
||||
#secondary indexes.
|
||||
def add_surname(self,name):
|
||||
if name and name not in self.surnames:
|
||||
self.surnames.append(name)
|
||||
@ -2456,8 +2464,8 @@ class GrampsDB:
|
||||
def clean_bookmarks(self):
|
||||
"""cleans up the bookmark list, removing empty slots"""
|
||||
new_bookmarks = []
|
||||
for person in self.bookmarks:
|
||||
new_bookmarks.append(person)
|
||||
for person_id in self.bookmarks:
|
||||
new_bookmarks.append(person_id)
|
||||
self.bookmarks = new_bookmarks
|
||||
|
||||
def set_researcher(self,owner):
|
||||
@ -2489,7 +2497,7 @@ class GrampsDB:
|
||||
return person
|
||||
|
||||
def get_person(self,id):
|
||||
"""returns a map of gramps's IDs to Person instances"""
|
||||
"""returns a Person from a GRAMPS's ID"""
|
||||
p = Person()
|
||||
data = self.person_map.get(str(id))
|
||||
p.unserialize(data)
|
||||
@ -2556,7 +2564,7 @@ class GrampsDB:
|
||||
|
||||
def get_place_ids(self):
|
||||
"""returns a list of Place instances"""
|
||||
return self.place_map.values()
|
||||
return self.place_map.keys()
|
||||
|
||||
def get_family_relation_types(self):
|
||||
"""returns a list of all relationship types assocated with Family
|
||||
@ -2568,13 +2576,13 @@ class GrampsDB:
|
||||
|
||||
def remove_person_id(self,id):
|
||||
# self.genderStats.uncount_person (self.person_map[id])
|
||||
del self.person_map[str(id)]
|
||||
self.person_map.delete(str(id))
|
||||
|
||||
def remove_source_id(self,id):
|
||||
del self.source_map[str(id)]
|
||||
self.source_map.delete(str(id))
|
||||
|
||||
def remove_event_id(self,id):
|
||||
del self.event_map[str(id)]
|
||||
self.event_map.delete(str(id))
|
||||
|
||||
def add_person_as(self,person):
|
||||
assert(person.get_id())
|
||||
@ -2614,8 +2622,8 @@ class GrampsDB:
|
||||
self.genderStats.count_person (person, self)
|
||||
return person
|
||||
|
||||
def has_person_id(self,val):
|
||||
return self.person_map.get(str(val))
|
||||
def has_person_id(self,val): #what does this function do?
|
||||
return self.person_map.get(str(val)) #EARNEY
|
||||
|
||||
def find_person_from_id(self,val):
|
||||
"""finds a Person in the database from the passed gramps' ID.
|
||||
@ -2661,7 +2669,6 @@ class GrampsDB:
|
||||
def add_event(self,event):
|
||||
"""adds a Event instance to the database, assigning it a gramps'
|
||||
ID number"""
|
||||
return Event()
|
||||
index = self.eprefix % self.emap_index
|
||||
while self.event_map.get(str(index)):
|
||||
self.emap_index += 1
|
||||
@ -2835,10 +2842,10 @@ class GrampsDB:
|
||||
return index
|
||||
|
||||
def remove_object(self,id):
|
||||
del self.media_map[str(id)]
|
||||
self.media_map.delete(str(id))
|
||||
|
||||
def remove_place(self,id):
|
||||
del self.place_map[str(id)]
|
||||
self.place_map.delete(str(id))
|
||||
|
||||
def add_place_as(self,place):
|
||||
self.place_map.put(str(place.get_id()),place.serialize())
|
||||
@ -2876,15 +2883,15 @@ class GrampsDB:
|
||||
self.lmap_index = self.lmap_index + 1
|
||||
return index
|
||||
|
||||
def find_place_from_id(self,val):
|
||||
def find_place_from_id(self,id):
|
||||
"""finds a Place in the database from the passed gramps' ID.
|
||||
If no such Place exists, a new Place is added to the database."""
|
||||
|
||||
data = self.place_map.get(str(val))
|
||||
data = self.place_map.get(str(id))
|
||||
place = Place()
|
||||
if not data:
|
||||
place.id = val
|
||||
self.place_map.put(str(val),place.serialize())
|
||||
place.id = id
|
||||
self.place_map.put(str(id),place.serialize())
|
||||
self.lmap_index = self.lmap_index + 1
|
||||
else:
|
||||
place.unserialize(data)
|
||||
@ -2906,7 +2913,7 @@ class GrampsDB:
|
||||
|
||||
def get_place_id(self,key):
|
||||
place = Place()
|
||||
place.serialize(self.place_map.get(str(key)))
|
||||
place.unserialize(self.place_map.get(str(key)))
|
||||
return place
|
||||
|
||||
def get_place_display(self,key):
|
||||
@ -2938,7 +2945,9 @@ class GrampsDB:
|
||||
return source.get_display_info()
|
||||
|
||||
def get_source(self,key):
|
||||
return self.source_map[key]
|
||||
source = Source()
|
||||
source.unserialize(self.source_map[key])
|
||||
return source
|
||||
|
||||
def build_source_display(self,nkey,okey=None):
|
||||
pass
|
||||
@ -3012,7 +3021,7 @@ class GrampsDB:
|
||||
def delete_family(self,family_id):
|
||||
"""deletes the Family instance from the database"""
|
||||
if self.family_map.get(str(family_id)):
|
||||
del self.family_map[str(family_id)]
|
||||
self.family_map.delete(str(family_id))
|
||||
|
||||
def find_person_no_conflicts(self,idVal,map):
|
||||
"""finds a Person in the database using the idVal and map
|
||||
|
@ -188,14 +188,12 @@ class XmlWriter:
|
||||
|
||||
date = string.split(time.ctime(time.time()))
|
||||
owner = self.db.get_researcher()
|
||||
familyMap = self.db.get_family_id_map()
|
||||
familyList = familyMap.keys ()
|
||||
familyList = self.db.get_family_keys()
|
||||
person_len = self.db.get_number_of_people()
|
||||
family_len = len(familyMap)
|
||||
family_len = len(familyList)
|
||||
source_len = len(self.db.get_source_keys())
|
||||
place_len = len(self.db.get_place_id_keys())
|
||||
objMap = self.db.get_object_map()
|
||||
objList = objMap.keys ()
|
||||
objList = self.db.get_object_keys()
|
||||
|
||||
total = person_len + family_len + place_len + source_len
|
||||
|
||||
@ -315,8 +313,8 @@ class XmlWriter:
|
||||
self.g.write(" <families>\n")
|
||||
|
||||
familyList.sort ()
|
||||
for key in familyList:
|
||||
family = familyMap[key]
|
||||
for key in self.db.get_family_keys():
|
||||
family = self.db.find_family_from_id(key)
|
||||
if self.callback and count % delta == 0:
|
||||
self.callback(float(count)/float(total))
|
||||
count = count + 1
|
||||
@ -380,15 +378,15 @@ class XmlWriter:
|
||||
if len(objList) > 0:
|
||||
self.g.write(" <objects>\n")
|
||||
objList.sort ()
|
||||
for key in objList:
|
||||
object = objMap[key]
|
||||
for key in self.db.get_object_keys():
|
||||
object = self.db.find_object_from_id(key)
|
||||
self.write_object(object)
|
||||
self.g.write(" </objects>\n")
|
||||
|
||||
if len(self.db.get_bookmarks()) > 0:
|
||||
self.g.write(" <bookmarks>\n")
|
||||
for person in self.db.get_bookmarks():
|
||||
self.g.write(' <bookmark ref="%s"/>\n' % person.get_id())
|
||||
for person_id in self.db.get_bookmarks():
|
||||
self.g.write(' <bookmark ref="%s"/>\n' % person_id)
|
||||
self.g.write(" </bookmarks>\n")
|
||||
|
||||
self.g.write("</database>\n")
|
||||
|
@ -1258,7 +1258,7 @@ class Gramps:
|
||||
def load_selected_people(self,obj):
|
||||
"""Display the selected people in the EditPerson display"""
|
||||
mlist = self.people_view.person_tree.get_selected_objects()
|
||||
if mlist and self.active_person == self.db.get_person(mlist[0]):
|
||||
if mlist and self.active_person.get_id() == mlist[0]:
|
||||
self.load_person(self.active_person)
|
||||
|
||||
def load_active_person(self,obj):
|
||||
@ -1799,8 +1799,9 @@ class Gramps:
|
||||
def on_edit_bookmarks_activate(self,obj):
|
||||
self.bookmarks.edit()
|
||||
|
||||
def bookmark_callback(self,obj,person):
|
||||
def bookmark_callback(self,obj,person_id):
|
||||
old_person = self.active_person
|
||||
person = self.db.find_person_from_id(person_id)
|
||||
try:
|
||||
self.change_active_person(person)
|
||||
self.update_display(0)
|
||||
|
@ -972,7 +972,7 @@ class GedcomParser:
|
||||
self.db.add_object(photo)
|
||||
oref = RelLib.MediaRef()
|
||||
oref.set_reference(photo)
|
||||
self.person.add_media_object(oref)
|
||||
self.person.add_media_reference(oref)
|
||||
|
||||
def parse_family_object(self,level):
|
||||
form = ""
|
||||
@ -1010,7 +1010,7 @@ class GedcomParser:
|
||||
self.db.add_object(photo)
|
||||
oref = RelLib.MediaRef()
|
||||
oref.set_reference(photo)
|
||||
self.family.add_media_object(photo)
|
||||
self.family.add_media_reference(photo)
|
||||
self.db.commit_family(self.family)
|
||||
|
||||
def parse_residence(self,address,level):
|
||||
|
Loading…
Reference in New Issue
Block a user