0006515: Error building narrated web

Circular references (either direct or indirect) involving media->citation->media or media->citation->source->media cause NarrativeWeb to crash with "maximum recursion depth exceeded". Fix NarrativeWeb when constructing list of objects to be output by checking whether a media object has already been encountered.

Also fixes
0006418: Navweb crashes alpha4
0006630: Export Erzählende Webseite
0006643: Crash during making webstek report
0006652: [NarrativeWeb] Circular References lead to endless recursion (crash)
0006654: Unable to created narrated web report

svn: r22270
This commit is contained in:
Tim G L Lyons 2013-05-12 16:45:06 +00:00
parent fcd2296461
commit 9c847462a0

View File

@ -7470,6 +7470,8 @@ class NavWebReport(Report):
self._add_media(media_handle, Citation, citation_handle)
def _add_media(self, media_handle, bkref_class, bkref_handle):
if self.obj_dict[MediaObject].get(media_handle):
return
media = self.database.get_object_from_handle(media_handle)
media_name = "Media"
if self.inc_gallery: