handle some report pathological cases (better)
This commit is contained in:
		@@ -63,6 +63,7 @@ from gramps.gen.plug.menu import (NumberOption, ColorOption, BooleanOption,
 | 
			
		||||
from gramps.gen.utils.db import get_birth_or_fallback, get_death_or_fallback
 | 
			
		||||
from gramps.gen.utils.location import get_main_location
 | 
			
		||||
from gramps.gen.proxy import CacheProxyDb
 | 
			
		||||
from gramps.gen.errors import ReportError
 | 
			
		||||
 | 
			
		||||
#------------------------------------------------------------------------
 | 
			
		||||
#
 | 
			
		||||
@@ -370,8 +371,8 @@ class FamilyLinesReport(Report):
 | 
			
		||||
        # entire list right now and not have to deal with it ever again
 | 
			
		||||
        self._interest_set = set()
 | 
			
		||||
        if not self._gidlist:
 | 
			
		||||
            self._user.warn(_('Empty report'),
 | 
			
		||||
                            _('You did not specify anybody'))
 | 
			
		||||
            raise ReportError(_('Empty report'),
 | 
			
		||||
                              _('You did not specify anybody'))
 | 
			
		||||
        for gid in self._gidlist.split():
 | 
			
		||||
            person = self._db.get_person_from_gramps_id(gid)
 | 
			
		||||
            if person:
 | 
			
		||||
 
 | 
			
		||||
@@ -61,6 +61,7 @@ from gramps.gen.relationship import get_relationship_calculator
 | 
			
		||||
from gramps.gen.utils.db import get_birth_or_fallback, get_death_or_fallback
 | 
			
		||||
from gramps.gen.display.place import displayer as _pd
 | 
			
		||||
from gramps.gen.proxy import CacheProxyDb
 | 
			
		||||
from gramps.gen.errors import ReportError
 | 
			
		||||
 | 
			
		||||
#------------------------------------------------------------------------
 | 
			
		||||
#
 | 
			
		||||
@@ -174,6 +175,8 @@ class RelGraphReport(Report):
 | 
			
		||||
 | 
			
		||||
        pid = get_value('pid')
 | 
			
		||||
        self.center_person = self._db.get_person_from_gramps_id(pid)
 | 
			
		||||
        if self.center_person is None:
 | 
			
		||||
            raise ReportError(_("Person %s is not in the Database") % pid)
 | 
			
		||||
 | 
			
		||||
        self.increlname = get_value('increlname')
 | 
			
		||||
        if self.increlname:
 | 
			
		||||
 
 | 
			
		||||
@@ -50,6 +50,7 @@ from gramps.gen.plug.docgen import (IndexMark, FontStyle, ParagraphStyle,
 | 
			
		||||
                                    INDEX_TYPE_TOC, PARA_ALIGN_CENTER)
 | 
			
		||||
from gramps.gen.display.place import displayer as _pd
 | 
			
		||||
from gramps.gen.proxy import CacheProxyDb
 | 
			
		||||
from gramps.gen.errors import ReportError
 | 
			
		||||
 | 
			
		||||
#------------------------------------------------------------------------
 | 
			
		||||
#
 | 
			
		||||
@@ -671,9 +672,8 @@ class FamilyGroup(Report):
 | 
			
		||||
                    self.doc.page_break()
 | 
			
		||||
                    step()
 | 
			
		||||
        else:
 | 
			
		||||
            self.doc.start_paragraph('FGR-Title')
 | 
			
		||||
            self.doc.write_text(self._("Family Group Report"))
 | 
			
		||||
            self.doc.end_paragraph()
 | 
			
		||||
            raise ReportError(_('Empty report'),
 | 
			
		||||
                              _('You did not specify anybody'))
 | 
			
		||||
 | 
			
		||||
#------------------------------------------------------------------------
 | 
			
		||||
#
 | 
			
		||||
 
 | 
			
		||||
@@ -60,6 +60,7 @@ from gramps.gen.utils.file import media_path_full
 | 
			
		||||
from gramps.gen.utils.lds import TEMPLES
 | 
			
		||||
from gramps.gen.proxy import CacheProxyDb
 | 
			
		||||
from gramps.gen.relationship import get_relationship_calculator
 | 
			
		||||
from gramps.gen.errors import ReportError
 | 
			
		||||
 | 
			
		||||
#------------------------------------------------------------------------
 | 
			
		||||
#
 | 
			
		||||
@@ -807,6 +808,9 @@ class IndivCompleteReport(Report):
 | 
			
		||||
            ind_list = self.filter.apply(self._db, plist)
 | 
			
		||||
        else:
 | 
			
		||||
            ind_list = plist
 | 
			
		||||
        if not ind_list:
 | 
			
		||||
            raise ReportError(_('Empty report'),
 | 
			
		||||
                              _('You did not specify anybody'))
 | 
			
		||||
 | 
			
		||||
        for count, person_handle in enumerate(ind_list):
 | 
			
		||||
            self.person = self._db.get_person_from_handle(person_handle)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user