Protection from null objects

This commit is contained in:
Doug Blank 2016-02-07 11:58:59 -05:00
parent 429b91d357
commit 202e1f5594
6 changed files with 23 additions and 18 deletions

View File

@ -1922,9 +1922,8 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback):
def iter_sources(self, order_by=None): def iter_sources(self, order_by=None):
return self.iter_items(order_by, Source) return self.iter_items(order_by, Source)
def iter_tags(self): def iter_tags(self, order_by=None):
return (Tag.create(data[1]) for data in self.get_tag_cursor()) return self.iter_items(order_by, Tag)
def set_prefixes(self, person, media, family, source, citation, def set_prefixes(self, person, media, family, source, citation,
place, event, repository, note): place, event, repository, note):

View File

@ -161,6 +161,8 @@ def insert_image(database, doc, photo, user,
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
def find_spouse(person, family): def find_spouse(person, family):
spouse_handle = None
if family:
if person.get_handle() == family.get_father_handle(): if person.get_handle() == family.get_father_handle():
spouse_handle = family.get_mother_handle() spouse_handle = family.get_mother_handle()
else: else:

View File

@ -393,6 +393,7 @@ def find_children(db,p):
childlist = [] childlist = []
for family_handle in p.get_family_handle_list(): for family_handle in p.get_family_handle_list():
family = db.get_family_from_handle(family_handle) family = db.get_family_from_handle(family_handle)
if family:
for child_ref in family.get_child_ref_list(): for child_ref in family.get_child_ref_list():
childlist.append(child_ref.ref) childlist.append(child_ref.ref)
return childlist return childlist

View File

@ -75,6 +75,8 @@ class PersonEventEmbedList(EventEmbedList):
if family_handle_list: if family_handle_list:
for family_handle in family_handle_list: for family_handle in family_handle_list:
family = self.dbstate.db.get_family_from_handle(family_handle) family = self.dbstate.db.get_family_from_handle(family_handle)
if family is None:
continue
father_handle = family.get_father_handle() father_handle = family.get_father_handle()
mother_handle = family.get_mother_handle() mother_handle = family.get_mother_handle()
if self.obj.get_handle() == father_handle: if self.obj.get_handle() == father_handle:

View File

@ -187,6 +187,7 @@ class Citations(Gramplet, DbGUIElement):
return False return False
def check_eventref_citations(self, obj): def check_eventref_citations(self, obj):
if obj:
for event_ref in obj.get_event_ref_list(): for event_ref in obj.get_event_ref_list():
if self.check_attribute_citations(event_ref): if self.check_attribute_citations(event_ref):
return True return True

View File

@ -212,7 +212,7 @@ class PersonEvents(Events):
spouse = self.dbstate.db.get_person_from_handle(spouse_handle) spouse = self.dbstate.db.get_person_from_handle(spouse_handle)
else: else:
spouse = None spouse = None
if family:
for event_ref in family.get_event_ref_list(): for event_ref in family.get_event_ref_list():
self.add_event_ref(event_ref, spouse) self.add_event_ref(event_ref, spouse)