Skip to content

Commit 86d4367

Browse files
jose1711sam-m888
authored andcommitted
[FamilySheet]Sort person events by start date[gramps51](#145)
1 parent 1ec11e1 commit 86d4367

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

FamilySheet/FamilySheet.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,8 @@ def __dump_person(self, person, short, ref):
384384
if not person.get_birth_ref():
385385
self.__dump_event(empty_birth, None)
386386

387-
for event_ref in person.get_primary_event_ref_list():
387+
person_events = self.__sort_events_by_sdate(list(person.get_primary_event_ref_list()))
388+
for event_ref in person_events:
388389
self.__dump_event_ref(event_ref)
389390

390391
for addr in person.get_address_list():
@@ -404,6 +405,23 @@ def __dump_person(self, person, short, ref):
404405
self.doc.end_paragraph()
405406

406407

408+
def __get_event_sort_value(self, event_ref):
409+
"""
410+
Helper function for sorting events
411+
"""
412+
sort_value = self.database.get_event_from_handle(event_ref.ref).date.get_sort_value()
413+
if self.database.get_event_from_handle(event_ref.ref).get_type().is_birth():
414+
return -1
415+
return sort_value
416+
417+
418+
def __sort_events_by_sdate(self, event_ref_list):
419+
"""
420+
Sort event references based on start date, birth event is always first.
421+
"""
422+
return sorted(event_ref_list, key=self.__get_event_sort_value)
423+
424+
407425
def __dump_event_ref(self, event_ref):
408426
"""
409427
Output all data for an event given as a reference.

0 commit comments

Comments
 (0)