Exemplo n.º 1
0
 def get_start_date(self):
     """
     Get the start date for a family, usually a marriage date, or
     something close to marriage.
     """
     event = get_marriage_or_fallback(self.dbstate.db, self.obj)
     return event.get_date_object() if event else None
Exemplo n.º 2
0
    def dump_string(self, person, family=None):
        string = self.__date_place(
                    get_birth_or_fallback(self.database, person)
                    )

        tmp = self.__date_place(get_death_or_fallback(self.database, person))
        if string and tmp:
            string += ", "
        string += tmp
        
        if string:
            string = " (" + string + ")"

        if family and self.showmarriage:
            tmp = self.__date_place(get_marriage_or_fallback(self.database,
                                                              family))
            if tmp:
                string += ", " + tmp

        if family and self.showdivorce:
            tmp = self.__date_place(get_divorce_or_fallback(self.database,
                                                              family))
            if tmp:
                string += ", " + tmp

        self.doc.write_text(string)
Exemplo n.º 3
0
 def sort_marriage(self, data):
     family = self.db.get_family_from_handle(data[0])
     event = get_marriage_or_fallback(self.db, family)
     if event:
         return "%09d" % event.date.get_sort_value()
     else:
         return ''
Exemplo n.º 4
0
 def get_start_date(self):
     """
     Get the start date for a family, usually a marriage date, or
     something close to marriage.
     """
     event = get_marriage_or_fallback(self.dbstate.db, self.obj)
     return event.get_date_object() if event else None
Exemplo n.º 5
0
 def sort_marriage(self, data):
     family = self.db.get_family_from_handle(data[0])
     event = get_marriage_or_fallback(self.db, family)
     if event:
         return "%09d" % event.date.get_sort_value()
     else:
         return ''
Exemplo n.º 6
0
    def dump_string(self, person, family=None):
        """ generate a descriptive string for a person """
        string = self.__date_place(
            get_birth_or_fallback(self.database, person))

        tmp = self.__date_place(
            get_death_or_fallback(self.database, person))
        if string and tmp:
            string += ", "
        string += tmp

        if string:
            string = " (" + string + ")"

        if family and self.showmarriage:
            tmp = self.__date_place(
                get_marriage_or_fallback(self.database, family))
            if tmp:
                string += ", " + tmp

        if family and self.showdivorce:
            tmp = self.__date_place(
                get_divorce_or_fallback(self.database, family))
            if tmp:
                string += ", " + tmp

        if family and self.want_ids:
            string += ' (%s)' % family.get_gramps_id()

        self.doc.write_text(string)
Exemplo n.º 7
0
    def dump_string(self, person, family=None):
        string = self.__date_place(get_birth_or_fallback(
            self.database, person))

        tmp = self.__date_place(get_death_or_fallback(self.database, person))
        if string and tmp:
            string += ", "
        string += tmp

        if string:
            string = " (" + string + ")"

        if family and self.showmarriage:
            tmp = self.__date_place(
                get_marriage_or_fallback(self.database, family))
            if tmp:
                string += ", " + tmp

        if family and self.showdivorce:
            tmp = self.__date_place(
                get_divorce_or_fallback(self.database, family))
            if tmp:
                string += ", " + tmp

        self.doc.write_text(string)
Exemplo n.º 8
0
 def get_start_date(self):
     """
     Get the start date for a family, usually a marriage date, or
     something close to marriage.
     """
     active_handle = self.get_active('Family')
     active = self.dbstate.db.get_family_from_handle(active_handle)
     event = get_marriage_or_fallback(self.dbstate.db, active)
     return event.get_date_object() if event else None
Exemplo n.º 9
0
 def get_start_date(self):
     """
     Get the start date for a family, usually a marriage date, or
     something close to marriage.
     """
     active_handle = self.get_active('Family')
     active = self.dbstate.db.get_family_from_handle(active_handle)
     event = get_marriage_or_fallback(self.dbstate.db, active)
     return event.get_date_object() if event else None
Exemplo n.º 10
0
    def add_relative(self,
                     handle: Handle,
                     ancestors: int = 1,
                     offspring: int = 1):
        """Add events for a relative of the anchor person."""
        person = self.db_handle.get_person_from_handle(handle)
        calculator = get_relationship_calculator(reinit=True,
                                                 clocale=self.locale)
        calculator.set_depth(self.depth)
        relationship = calculator.get_one_relationship(self.db_handle,
                                                       self.anchor_person,
                                                       person)
        if self.relative_filters:
            found = False
            for relative in self.relative_filters:
                if relative in relationship:
                    found = True
                    break
            if not found:
                return

        if self.relative_event_filters:
            for event_ref in person.event_ref_list:
                event = self.db_handle.get_event_from_handle(event_ref.ref)
                self.add_event((event, person, relationship), relative=True)

        event = get_birth_or_fallback(self.db_handle, person)
        if event:
            self.add_event((event, person, relationship), relative=True)
            if person.handle not in self.birth_dates:
                self.birth_dates.update({person.handle: event.date})

        event = get_death_or_fallback(self.db_handle, person)
        if event:
            self.add_event((event, person, relationship), relative=True)

        for family_handle in person.family_list:
            family = self.db_handle.get_family_from_handle(family_handle)

            event = get_marriage_or_fallback(self.db_handle, family)
            if event:
                self.add_event((event, person, relationship), relative=True)

            event = get_divorce_or_fallback(self.db_handle, family)
            if event:
                self.add_event((event, person, relationship), relative=True)

            if offspring > 1:
                for child_ref in family.child_ref_list:
                    self.add_relative(child_ref.ref, offspring=offspring - 1)

        if ancestors > 1:
            if "father" in relationship or "mother" in relationship:
                for family_handle in person.parent_family_list:
                    self.add_family(family_handle,
                                    include_children=False,
                                    ancestors=ancestors - 1)
Exemplo n.º 11
0
 def column_marriage(self, data):
     family = self.db.get_family_from_handle(data[0])
     event = get_marriage_or_fallback(self.db, family, "<i>%s</i>")
     if event:
         if event.date.format:
             return event.date.format % displayer.display(event.date)
         elif not get_date_valid(event):
             return invalid_date_format % displayer.display(event.date)
         else:
             return "%s" % displayer.display(event.date)
     else:
         return ''
Exemplo n.º 12
0
 def sort_marriage(self, data):
     handle = data[0]
     cached, value = self.get_cached_value(handle, "SORT_MARRIAGE")
     if not cached:
         family = self.db.get_family_from_handle(data[0])
         event = get_marriage_or_fallback(self.db, family)
         if event:
             value = "%09d" % event.date.get_sort_value()
         else:
             value = ''
         self.set_cached_value(handle, "SORT_MARRIAGE", value)
     return value
Exemplo n.º 13
0
 def sort_marriage(self, data):
     handle = data[0]
     cached, value = self.get_cached_value(handle, "SORT_MARRIAGE")
     if not cached:
         family = self.db.get_family_from_handle(data[0])
         event = get_marriage_or_fallback(self.db, family)
         if event:
             value = "%09d" % event.date.get_sort_value()
         else:
             value = ''
         self.set_cached_value(handle, "SORT_MARRIAGE", value)
     return value
Exemplo n.º 14
0
 def column_marriage(self, data):
     family = self.db.get_family_from_handle(data[0])
     event = get_marriage_or_fallback(self.db, family, "<i>%s</i>")
     if event:
         if event.date.format:
             return event.date.format % displayer.display(event.date)
         elif not get_date_valid(event):
             return invalid_date_format % displayer.display(event.date)
         else:
             return "%s" % displayer.display(event.date)
     else:
         return ''
Exemplo n.º 15
0
def get_marriage_profile(
        db_handle: DbReadBase,
        family: Family,
        locale: GrampsLocale = glocale) -> Tuple[Dict, Union[Event, None]]:
    """Return best available marriage information for a couple."""
    event = get_marriage_or_fallback(db_handle, family)
    if event is None:
        return {}, None
    return get_event_profile_for_object(db_handle,
                                        event,
                                        args=[],
                                        locale=locale), event
Exemplo n.º 16
0
 def column_marriage(self, data):
     handle = data[0]
     cached, value = self.get_cached_value(handle, "MARRIAGE")
     if not cached:
         family = self.db.get_family_from_handle(data[0])
         event = get_marriage_or_fallback(self.db, family, "<i>%s</i>")
         if event:
             if event.date.format:
                 value = event.date.format % displayer.display(event.date)
             elif not get_date_valid(event):
                 value = invalid_date_format % displayer.display(event.date)
             else:
                 value = "%s" % displayer.display(event.date)
         else:
             value = ''
         self.set_cached_value(handle, "MARRIAGE", value)
     return value
Exemplo n.º 17
0
 def column_marriage(self, data):
     handle = data[0]
     cached, value = self.get_cached_value(handle, "MARRIAGE")
     if not cached:
         family = self.db.get_family_from_handle(data[0])
         event = get_marriage_or_fallback(self.db, family, "<i>%s</i>")
         if event:
             if event.date.format:
                 value = event.date.format % displayer.display(event.date)
             elif not get_date_valid(event):
                 value = invalid_date_format % displayer.display(event.date)
             else:
                 value = "%s" % displayer.display(event.date)
         else:
             value = ''
         self.set_cached_value(handle, "MARRIAGE", value)
     return value
Exemplo n.º 18
0
def get_marriage_profile(db_handle: DbReadBase, family: Family) -> Dict:
    """Return best available marriage information for a couple."""
    event = get_marriage_or_fallback(db_handle, family)
    if event is None:
        return {}
    return get_event_profile_for_object(db_handle, event)
Exemplo n.º 19
0
def get_marriagedate(db, f):
    """Get the marriage event's date."""
    ev = get_marriage_or_fallback(db, f)
    if not ev:
        return ''
    return get_event_date_from_handle(db, ev.handle)