Skip to content

Commit e0bb38e

Browse files
authored
Fix reports for shared event attribute and note errors (#168)
Fixes #10720
1 parent 4fbe2aa commit e0bb38e

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

DescendantBooks/DetailedDescendantBookReport.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -865,7 +865,7 @@ def write_event(self, event_ref):
865865

866866
if self.inc_attrs:
867867
text = ""
868-
attr_list = event.get_attribute_list()
868+
attr_list = event.get_attribute_list()[:] # we don't want to modify cached original
869869
attr_list.extend(event_ref.get_attribute_list())
870870
for attr in attr_list:
871871
if text:
@@ -883,7 +883,7 @@ def write_event(self, event_ref):
883883
if self.inc_notes:
884884
# if the event or event reference has a note attached to it,
885885
# get the text and format it correctly
886-
notelist = event.get_note_list()
886+
notelist = event.get_note_list()[:] # we don't want to modify cached original
887887
notelist.extend(event_ref.get_note_list())
888888
for notehandle in notelist:
889889
note = self.database.get_note_from_handle(notehandle)

DynamicWeb/dynamicweb.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,9 +1110,9 @@ def _data_events(self, object):
11101110
if (evt_desc is None): evt_desc = ""
11111111
jdata['descr'] = html_escape(evt_desc)
11121112
# Get event notes
1113-
notelist = event.get_note_list()
1113+
notelist = event.get_note_list()[:] # we don't want to modify cached original
11141114
notelist.extend(event_ref.get_note_list())
1115-
attrlist = event.get_attribute_list()
1115+
attrlist = event.get_attribute_list()[:] # we don't want to modify cached original
11161116
attrlist.extend(event_ref.get_attribute_list())
11171117
jdata['text'] = self.get_notes_attributes_text(notelist, attrlist)
11181118
# Get event media
@@ -1814,7 +1814,7 @@ def _data_media_ref(self, ref, index):
18141814
jdata['rect'] = list(rect)
18151815
attrlist = ref.get_attribute_list()
18161816
jdata['note'] = self.get_notes_attributes_text(ref.get_note_list(), attrlist)
1817-
citationlist = ref.get_citation_list()
1817+
citationlist = ref.get_citation_list()[:] # we don't want to modify cached original
18181818
for attr in attrlist: citationlist.extend(attr.get_citation_list())
18191819
# BUG: it seems that attribute references are given by both ref.get_citation_list and attr.get_citation_list
18201820
jdata['cita'] = self._data_source_citation_index_from_list(citationlist)
@@ -3674,7 +3674,7 @@ def _add_media(self, media_handle, bkref_class = None, bkref_handle = None, medi
36743674
if (bkref_class is not None):
36753675
self.bkref_dict[_Media][media_handle].add((bkref_class, bkref_handle, media_ref))
36763676
# Citations for media reference, media reference attributes
3677-
citation_list = media_ref.get_citation_list()
3677+
citation_list = media_ref.get_citation_list()[:] # we don't want to modify cached original
36783678
for attr in media_ref.get_attribute_list():
36793679
citation_list.extend(attr.get_citation_list())
36803680
for citation_handle in citation_list:
@@ -3686,7 +3686,7 @@ def _add_media(self, media_handle, bkref_class = None, bkref_handle = None, medi
36863686
media_name = media.get_description() or media.get_path() or ""
36873687
self.obj_dict[_Media][media_handle] = [media_name, media.gramps_id, len(self.obj_dict[_Media])]
36883688
# Citations for media, media attributes
3689-
citation_list = media.get_citation_list()
3689+
citation_list = media.get_citation_list()[:] # we don't want to modify cached original
36903690
for attr in media.get_attribute_list():
36913691
citation_list.extend(attr.get_citation_list())
36923692
for citation_handle in citation_list:

0 commit comments

Comments
 (0)