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": elif class_name == "Note":
obj = self.db.get_note_from_handle(handle) obj = self.db.get_note_from_handle(handle)
if obj: if obj:
self.process_notes(obj) self.process_note(obj)
else: else:
raise AttributeError("unknown class: '%s'" % class_name) raise AttributeError("unknown class: '%s'" % class_name)
@@ -308,24 +308,29 @@ class ReferencedBySelectionProxyDb(ProxyDbBase):
self.process_attributes(media) self.process_attributes(media)
self.process_notes(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 Follow the note object and find all of the primary objects
that it references. 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(): 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) note = self.db.get_note_from_handle(note_handle)
if note: self.process_note(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)
# -------------------------------------------- # --------------------------------------------