0006578: referencedbyselection.py process_object calls non-existant process_note method

svn: r21802
This commit is contained in:
Tim G L Lyons 2013-03-28 23:31:58 +00:00
parent 423d27e5a1
commit 4b27a56186

View File

@ -127,7 +127,7 @@ class ReferencedBySelectionProxyDb(ProxyDbBase):
elif class_name == "Note":
obj = self.db.get_note_from_handle(handle)
if obj:
self.process_notes(obj)
self.process_note(obj)
else:
raise AttributeError("unknown class: '%s'" % class_name)
@ -308,24 +308,29 @@ class ReferencedBySelectionProxyDb(ProxyDbBase):
self.process_attributes(media)
self.process_notes(media)
def process_notes(self, original_obj):
def process_note(self, note):
"""
Follow the note object and find all of the primary objects
that it references.
"""
if note is None or note.handle in self.referenced["Note"]:
return
self.referenced["Note"].add(note.handle)
for tag in note.text.get_tags():
if tag.name == 'Link':
if tag.value.startswith("gramps://"):
obj_class, prop, value = tag.value[9:].split("/")
if obj_class == "Media": # bug6493
obj_class = "MediaObject"
if prop == "handle":
self.process_object(obj_class, value)
def process_notes(self, original_obj):
""" Find all of the primary objects referred to """
for note_handle in original_obj.get_note_list():
if note_handle and note_handle not in self.referenced["Note"]:
if note_handle:
note = self.db.get_note_from_handle(note_handle)
if note:
self.referenced["Note"].add(note_handle)
for tag in note.text.get_tags():
if tag.name == 'Link':
if tag.value.startswith("gramps://"):
obj_class, prop, value = tag.value[9:].split("/")
if obj_class == "Media": # bug6493
obj_class = "MediaObject"
if prop == "handle":
self.process_object(obj_class, value)
self.process_note(note)
# --------------------------------------------