Exemple #1
0
 def latin_american(self):
     """
     Child inherits name from father and mother
     """
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     if self.family:
         father_handle = self.family.get_father_handle()
         mother_handle = self.family.get_mother_handle()
         father = self.dbstate.db.get_person_from_handle(father_handle)
         mother = self.dbstate.db.get_person_from_handle(mother_handle)
         if not father and not mother:
             return name
         if not father:
             preset_name(mother, name)
             return name
         if not mother:
             preset_name(father, name)
             return name
         #we take first surname, and keep that
         mothername = Name()
         preset_name(mother, mothername)
         preset_name(father, name)
         mothersurname = mothername.get_surname_list()[0]
         mothersurname.set_primary(False)
         name.set_surname_list([name.get_surname_list()[0], mothersurname])
         return name
     else:
         return name
Exemple #2
0
 def latin_american(self):
     """
     Child inherits name from father and mother
     """
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     if self.family:
         father_handle = self.family.get_father_handle()
         mother_handle = self.family.get_mother_handle()
         father = self.dbstate.db.get_person_from_handle(father_handle)
         mother = self.dbstate.db.get_person_from_handle(mother_handle)
         if not father and not mother:
             return name
         if not father:
             preset_name(mother, name)
             return name
         if not mother:
             preset_name(father, name)
             return name
         #we take first surname, and keep that
         mothername = Name()
         preset_name(mother, mothername)
         preset_name(father, name)
         mothersurname = mothername.get_surname_list()[0]
         mothersurname.set_primary(False)
         name.set_surname_list([name.get_surname_list()[0], mothersurname])
         return name
     else:
         return name
Exemple #3
0
    def latin_american_child(self, parent):
        """
        If SURNAME_GUESSING is latin american, then find a child
        and return their name for the father or mother.

        parent = "mother" | "father"
        """
        name = Name()
        #the editor requires a surname
        name.add_surname(Surname())
        name.set_primary_surname(0)
        # for each child, find one with a last name
        for ref in self.obj.get_child_ref_list():
            child = self.db.get_person_from_handle(ref.ref)
            if child:
                pname = child.get_primary_name()
                preset_name(child, name)
                if len(name.get_surname_list()) < 2:
                    return name
                else:
                    #return first for the father, and last for the mother
                    if parent == 'father':
                        name.set_surname_list(name.get_surname_list()[0])
                        return name
                    else:
                        name.set_surname_list(name.get_surname_list()[-1])
                        return name
        return name
Exemple #4
0
    def add(self, *obj):
        person = Person()

        # attempt to get the current surname
        (model, pathlist) = self.selection.get_selected_rows()
        name = Name()
        #the editor requires a surname
        name.add_surname(Surname())
        name.set_primary_surname(0)
        basepers = None
        if len(pathlist) == 1:
            path = pathlist[0]
            pathids = path.get_indices()
            if len(pathids) == 1:
                path = Gtk.TreePath((pathids[0], 0))
            iter_ = model.get_iter(path)
            handle = model.get_handle_from_iter(iter_)
            basepers = self.dbstate.db.get_person_from_handle(handle)
        if basepers:
            preset_name(basepers, name)
        person.set_primary_name(name)
        try:
            EditPerson(self.dbstate, self.uistate, [], person)
        except WindowActiveError:
            pass
Exemple #5
0
    def latin_american_child(self, parent):
        """
        If SURNAME_GUESSING is latin american, then find a child
        and return their name for the father or mother.

        parent = "mother" | "father"
        """
        name = Name()
        #the editor requires a surname
        name.add_surname(Surname())
        name.set_primary_surname(0)
        # for each child, find one with a last name
        for ref in self.obj.get_child_ref_list():
            child = self.db.get_person_from_handle(ref.ref)
            if child:
                pname = child.get_primary_name()
                preset_name(child, name)
                if len(name.get_surname_list()) < 2:
                    return name
                else:
                    #return first for the father, and last for the mother
                    if parent == 'father':
                        name.set_surname_list(name.get_surname_list()[0])
                        return name
                    else:
                        name.set_surname_list(name.get_surname_list()[-1])
                        return name
        return name
Exemple #6
0
    def add(self, obj):
        person = Person()

        # attempt to get the current surname
        (model, pathlist) = self.selection.get_selected_rows()
        name = Name()
        #the editor requires a surname
        name.add_surname(Surname())
        name.set_primary_surname(0)
        basepers = None
        if len(pathlist) == 1:
            path = pathlist[0]
            pathids = path.get_indices()
            if len(pathids) == 1:
                path = Gtk.TreePath((pathids[0], 0))
            iter_ = model.get_iter(path)
            handle = model.get_handle_from_iter(iter_)
            basepers = self.dbstate.db.get_person_from_handle(handle)
        if basepers:
            preset_name(basepers, name)
        person.set_primary_name(name)
        try:
            EditPerson(self.dbstate, self.uistate, [], person)
        except WindowActiveError:
            pass
Exemple #7
0
 def no_name(self):
     """
     Default surname guess.
     """
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     return name
Exemple #8
0
 def no_name(self):
     """
     Default surname guess.
     """
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     return name
    def add_name(self):
        """
        Add the name to the person.

        Returns True on success, False on failure.
        """
        if not self.name_parts.strip():
            self.__add_msg(
                _("VCard is malformed missing the compulsory N "
                  "property, so there is no name; skip it."),
                self.line_num - 1)
            return False
        if not self.formatted_name:
            self.__add_msg(
                _("VCard is malformed missing the compulsory FN "
                  "property, get name from N alone."), self.line_num - 1)
        data_fields = self.split_unescaped(self.name_parts, ';')
        if len(data_fields) != 5:
            self.__add_msg(
                _("VCard is malformed wrong number of name "
                  "components."), self.line_num - 1)

        name = Name()
        name.set_type(NameType(NameType.BIRTH))

        if data_fields[0].strip():
            # assume first surname is primary
            for surname_str in self.split_unescaped(data_fields[0], ','):
                surname = Surname()
                prefix, sname = splitof_nameprefix(self.unesc(surname_str))
                surname.set_surname(sname.strip())
                surname.set_prefix(prefix.strip())
                name.add_surname(surname)
            name.set_primary_surname()

        if len(data_fields) > 1 and data_fields[1].strip():
            given_name = ' '.join(
                self.unesc(self.split_unescaped(data_fields[1], ',')))
        else:
            given_name = ''
        if len(data_fields) > 2 and data_fields[2].strip():
            additional_names = ' '.join(
                self.unesc(self.split_unescaped(data_fields[2], ',')))
        else:
            additional_names = ''
        self.add_firstname(given_name.strip(), additional_names.strip(), name)

        if len(data_fields) > 3 and data_fields[3].strip():
            name.set_title(' '.join(
                self.unesc(self.split_unescaped(data_fields[3], ','))))
        if len(data_fields) > 4 and data_fields[4].strip():
            name.set_suffix(' '.join(
                self.unesc(self.split_unescaped(data_fields[4], ','))))

        self.person.set_primary_name(name)
        return True
Exemple #10
0
 def add_button_clicked(self, obj):
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     try:
         from .. import EditName
         EditName(self.dbstate, self.uistate, self.track, 
                  name, self.add_callback)
     except WindowActiveError:
         pass
Exemple #11
0
 def add_button_clicked(self, obj):
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     try:
         from .. import EditName
         EditName(self.dbstate, self.uistate, self.track, name,
                  self.add_callback)
     except WindowActiveError:
         pass
Exemple #12
0
    def add_name(self):
        """
        Add the name to the person.

        Returns True on success, False on failure.
        """
        if not self.name_parts.strip():
            self.__add_msg(_("VCard is malformed missing the compulsory N "
                           "property, so there is no name; skip it."),
                           self.line_num - 1)
            return False
        if not self.formatted_name:
            self.__add_msg(_("VCard is malformed missing the compulsory FN "
                           "property, get name from N alone."), self.line_num - 1)
        data_fields = self.split_unescaped(self.name_parts, ';')
        if len(data_fields) != 5:
            self.__add_msg(_("VCard is malformed wrong number of name "
                           "components."), self.line_num - 1)

        name = Name()
        name.set_type(NameType(NameType.BIRTH))

        if data_fields[0].strip():
            # assume first surname is primary
            for surname_str in self.split_unescaped(data_fields[0], ','):
                surname = Surname()
                prefix, sname = splitof_nameprefix(self.unesc(surname_str))
                surname.set_surname(sname.strip())
                surname.set_prefix(prefix.strip())
                name.add_surname(surname)
            name.set_primary_surname()

        if len(data_fields) > 1 and data_fields[1].strip():
            given_name = ' '.join(self.unesc(
                                  self.split_unescaped(data_fields[1], ',')))
        else:
            given_name = ''
        if len(data_fields) > 2 and data_fields[2].strip():
            additional_names = ' '.join(self.unesc(
                                     self.split_unescaped(data_fields[2], ',')))
        else:
            additional_names = ''
        self.add_firstname(given_name.strip(), additional_names.strip(), name)

        if len(data_fields) > 3 and data_fields[3].strip():
            name.set_title(' '.join(self.unesc(
                            self.split_unescaped(data_fields[3], ','))))
        if len(data_fields) > 4 and data_fields[4].strip():
            name.set_suffix(' '.join(self.unesc(
                             self.split_unescaped(data_fields[4], ','))))

        self.person.set_primary_name(name)
        return True
Exemple #13
0
 def north_american(self):
     """
     Child inherits name from father
     """
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     father_handle = self.family.get_father_handle()
     if father_handle:
         father = self.dbstate.db.get_person_from_handle(father_handle)
         preset_name(father, name)
     return name
Exemple #14
0
 def north_american(self):
     """
     Child inherits name from father
     """
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     father_handle = self.family.get_father_handle()
     if father_handle:
         father = self.dbstate.db.get_person_from_handle(father_handle)
         preset_name(father, name)
     return name
Exemple #15
0
 def north_american_child(self):
     """
     If SURNAME_GUESSING is north american, then find a child
     and return their name for the father.
     """
     # for each child, find one with a last name
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     for ref in self.obj.get_child_ref_list():
         child = self.db.get_person_from_handle(ref.ref)
         if child:
             preset_name(child, name)
             return name
     return name
Exemple #16
0
 def north_american_child(self):
     """
     If SURNAME_GUESSING is north american, then find a child
     and return their name for the father.
     """
     # for each child, find one with a last name
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     for ref in self.obj.get_child_ref_list():
         child = self.db.get_person_from_handle(ref.ref)
         if child:
             preset_name(child, name)
             return name
     return name
Exemple #17
0
 def add_child_to_fam(self, obj, event, handle):
     if button_activated(event, _LEFT_BUTTON):
         callback = lambda x: self.callback_add_child(x, handle)
         person = Person()
         name = Name()
         #the editor requires a surname
         name.add_surname(Surname())
         name.set_primary_surname(0)
         family = self.dbstate.db.get_family_from_handle(handle)
         father = self.dbstate.db.get_person_from_handle(
                                     family.get_father_handle())
         if father:
             preset_name(father, name)
         person.set_primary_name(name)
         try:
             EditPerson(self.dbstate, self.uistate, [], person,
                        callback=callback)
         except WindowActiveError:
             pass
Exemple #18
0
 def no_name(self):
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     return name
Exemple #19
0
 def no_name(self):
     name = Name()
     #the editor requires a surname
     name.add_surname(Surname())
     name.set_primary_surname(0)
     return name