add nick and famnick
svn: r15930
This commit is contained in:
		@@ -122,9 +122,10 @@ def convert_name_15(name):
 | 
			
		||||
            surname_list = [(patronymic, u"", False, patorigintype, u""),
 | 
			
		||||
                            (surname, prefix, True, origintype, connector)]
 | 
			
		||||
    
 | 
			
		||||
    #return new value, add two empty strings for nick and family nick
 | 
			
		||||
    return (privacy, source_list, note_list, date,
 | 
			
		||||
         first_name, surname_list, suffix, title, name_type,
 | 
			
		||||
         group_as, sort_as, display_as, call)
 | 
			
		||||
         group_as, sort_as, display_as, call, u"", u"")
 | 
			
		||||
 | 
			
		||||
def gramps_upgrade_14(self):
 | 
			
		||||
    """Upgrade database from version 13 to 14."""
 | 
			
		||||
 
 | 
			
		||||
@@ -37,6 +37,8 @@ Specific symbols for parts of a name are defined:
 | 
			
		||||
    'p' : list of all prefixes
 | 
			
		||||
    'q' : surnames without prefixes and connectors
 | 
			
		||||
    's' : suffix
 | 
			
		||||
    'n' : nick name
 | 
			
		||||
    'g' : family nick name
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
#-------------------------------------------------------------------------
 | 
			
		||||
@@ -71,12 +73,12 @@ _SURNAME_LIST = 5
 | 
			
		||||
_SUFFIX       = 6
 | 
			
		||||
_TITLE        = 7
 | 
			
		||||
_TYPE         = 8
 | 
			
		||||
#_PREFIX       = 9
 | 
			
		||||
#_PATRONYM     = 10
 | 
			
		||||
_GROUP        = 11
 | 
			
		||||
_SORT         = 12
 | 
			
		||||
_DISPLAY      = 13
 | 
			
		||||
_CALL         = 14
 | 
			
		||||
_GROUP        = 9
 | 
			
		||||
_SORT         = 10
 | 
			
		||||
_DISPLAY      = 11
 | 
			
		||||
_CALL         = 12
 | 
			
		||||
_NICK         = 13
 | 
			
		||||
_FAMNICK      = 14
 | 
			
		||||
_SURNAME_IN_LIST   = 0
 | 
			
		||||
_PREFIX_IN_LIST    = 1
 | 
			
		||||
_PRIMARY_IN_LIST   = 2
 | 
			
		||||
@@ -363,6 +365,8 @@ class NameDisplay(object):
 | 
			
		||||
        'p' : list of all prefixes
 | 
			
		||||
        'q' : surnames without prefixes and connectors
 | 
			
		||||
        's' : suffix
 | 
			
		||||
        'n' : nick name
 | 
			
		||||
        'g' : family nick name
 | 
			
		||||
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
@@ -399,6 +403,10 @@ class NameDisplay(object):
 | 
			
		||||
             "q": ("_raw_single_surname(raw_data[_SURNAME_LIST])", 
 | 
			
		||||
                                "rawsurnames",     
 | 
			
		||||
                                _("String replacement keyword|rawsurnames")),
 | 
			
		||||
             "n": ("raw_data[_NICK]",      "nickname",       
 | 
			
		||||
                                _("String replacement keyword|nickname")),
 | 
			
		||||
             "g": ("raw_data[_FAMNICK]",      "famnick",       
 | 
			
		||||
                                _("String replacement keyword|famnick")),
 | 
			
		||||
             }
 | 
			
		||||
        args = "raw_data"
 | 
			
		||||
        return self._make_fn(format_str, d, args)
 | 
			
		||||
@@ -432,6 +440,8 @@ class NameDisplay(object):
 | 
			
		||||
        'p' : list of all prefixes
 | 
			
		||||
        'q' : surnames without prefixes and connectors
 | 
			
		||||
        's' : suffix
 | 
			
		||||
        'n' : nick name
 | 
			
		||||
        'g' : family nick name
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        # we need the names of each of the variables or methods that are
 | 
			
		||||
@@ -462,8 +472,12 @@ class NameDisplay(object):
 | 
			
		||||
                        _("String replacement keyword|prefix")),
 | 
			
		||||
             "q": ("_raw_single_surname(raw_surname_list)", "rawlastnames",     
 | 
			
		||||
                        _("String replacement keyword|rawlastnames")),
 | 
			
		||||
             "n": ("nick",       "nickname",       
 | 
			
		||||
                        _("String replacement keyword|nickname")),
 | 
			
		||||
             "g": ("famnick",    "famnick",       
 | 
			
		||||
                        _("String replacement keyword|famnick")),
 | 
			
		||||
             }
 | 
			
		||||
        args = "first,raw_surname_list,suffix,title,call"
 | 
			
		||||
        args = "first,raw_surname_list,suffix,title,call,nick,famnick"
 | 
			
		||||
        return self._make_fn(format_str, d, args)
 | 
			
		||||
 | 
			
		||||
    def _make_fn(self, format_str, d, args):
 | 
			
		||||
@@ -567,7 +581,8 @@ def fn(%s):
 | 
			
		||||
    def format_str(self, name, format_str):
 | 
			
		||||
        return self._format_str_base(name.first_name, name.surname_list,
 | 
			
		||||
                                     name.suffix, name.title,
 | 
			
		||||
                                     name.call, format_str)
 | 
			
		||||
                                     name.call, name.nick, name.famnick,
 | 
			
		||||
                                     format_str)
 | 
			
		||||
 | 
			
		||||
    def format_str_raw(self, raw_data, format_str):
 | 
			
		||||
        """
 | 
			
		||||
@@ -587,7 +602,7 @@ def fn(%s):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def _format_str_base(self, first, surname_list, suffix, title, call,
 | 
			
		||||
                         format_str):
 | 
			
		||||
                         nick, famnick, format_str):
 | 
			
		||||
        """
 | 
			
		||||
        Generates name from a format string.
 | 
			
		||||
 | 
			
		||||
@@ -604,6 +619,8 @@ def fn(%s):
 | 
			
		||||
        '%p' : list of all prefixes
 | 
			
		||||
        '%q' : surnames without prefixes and connectors
 | 
			
		||||
        '%s' : suffix
 | 
			
		||||
        '%n' : nick name
 | 
			
		||||
        '%g' : family nick name
 | 
			
		||||
       The capital letters are substituted for capitalized name components.
 | 
			
		||||
        The %% is substituted with the single % character.
 | 
			
		||||
        All the other characters in the fmt_str are unaffected.
 | 
			
		||||
@@ -614,7 +631,7 @@ def fn(%s):
 | 
			
		||||
            self.__class__.format_funcs[format_str] = func
 | 
			
		||||
        try:
 | 
			
		||||
            s = func(first, [surn.serialize() for surn in surname_list],
 | 
			
		||||
                     suffix, title, call)
 | 
			
		||||
                     suffix, title, call, nick, famnick)
 | 
			
		||||
        except (ValueError, TypeError,):
 | 
			
		||||
            raise NameDisplayError, "Incomplete format string"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -78,7 +78,8 @@ class Name(SecondaryObject, PrivacyBase, SurnameBase, SourceBase, NoteBase,
 | 
			
		||||
        if data:
 | 
			
		||||
            (privacy, source_list, note, date,
 | 
			
		||||
             self.first_name, surname_list, self.suffix, self.title, name_type,
 | 
			
		||||
             self.group_as, self.sort_as, self.display_as, self.call) = data
 | 
			
		||||
             self.group_as, self.sort_as, self.display_as, self.call,
 | 
			
		||||
             self.nick, self.famnick) = data
 | 
			
		||||
            self.type = NameType(name_type)
 | 
			
		||||
            SurnameBase.unserialize(self, surname_list)
 | 
			
		||||
            PrivacyBase.unserialize(self, privacy)
 | 
			
		||||
@@ -94,6 +95,8 @@ class Name(SecondaryObject, PrivacyBase, SurnameBase, SourceBase, NoteBase,
 | 
			
		||||
            self.sort_as = source.sort_as
 | 
			
		||||
            self.display_as = source.display_as
 | 
			
		||||
            self.call = source.call
 | 
			
		||||
            self.nick = source.nick
 | 
			
		||||
            self.famnick = source.famnick
 | 
			
		||||
        else:
 | 
			
		||||
            self.first_name = ""
 | 
			
		||||
            self.suffix = ""
 | 
			
		||||
@@ -103,6 +106,8 @@ class Name(SecondaryObject, PrivacyBase, SurnameBase, SourceBase, NoteBase,
 | 
			
		||||
            self.sort_as = self.DEF
 | 
			
		||||
            self.display_as = self.DEF
 | 
			
		||||
            self.call = u''
 | 
			
		||||
            self.nick = u''
 | 
			
		||||
            self.famnick = u''
 | 
			
		||||
 | 
			
		||||
    def serialize(self):
 | 
			
		||||
        """
 | 
			
		||||
@@ -116,14 +121,16 @@ class Name(SecondaryObject, PrivacyBase, SurnameBase, SourceBase, NoteBase,
 | 
			
		||||
                SurnameBase.serialize(self),
 | 
			
		||||
                self.suffix, self.title,
 | 
			
		||||
                self.type.serialize(), 
 | 
			
		||||
                self.group_as, self.sort_as, self.display_as, self.call)
 | 
			
		||||
                self.group_as, self.sort_as, self.display_as, self.call,
 | 
			
		||||
                self.nick, self.famnick)
 | 
			
		||||
 | 
			
		||||
    def is_empty(self):
 | 
			
		||||
        """
 | 
			
		||||
        Indicate if the name is empty.
 | 
			
		||||
        """
 | 
			
		||||
        namefieldsempty = (self.first_name == u"" and
 | 
			
		||||
                self.suffix == u"" and self.title == u"")
 | 
			
		||||
                self.suffix == u"" and self.title == u"" and self.nick ==u""
 | 
			
		||||
                and self.famnick == u"")
 | 
			
		||||
        surnamefieldsempty = not (False in 
 | 
			
		||||
                            [surn.is_empty() for surn in self.surname_list])
 | 
			
		||||
        return namefieldsempty and surnamefieldsempty
 | 
			
		||||
@@ -134,7 +141,8 @@ class Name(SecondaryObject, PrivacyBase, SurnameBase, SourceBase, NoteBase,
 | 
			
		||||
        """
 | 
			
		||||
        (privacy, source_list, note_list, date,
 | 
			
		||||
         self.first_name, surname_list, self.suffix, self.title, name_type,
 | 
			
		||||
         self.group_as, self.sort_as, self.display_as, self.call) = data
 | 
			
		||||
         self.group_as, self.sort_as, self.display_as, self.call, 
 | 
			
		||||
         self.nick, self.famnick) = data
 | 
			
		||||
        self.type = NameType(name_type)
 | 
			
		||||
        PrivacyBase.unserialize(self, privacy)
 | 
			
		||||
        SurnameBase.unserialize(self, surname_list)
 | 
			
		||||
@@ -151,7 +159,7 @@ class Name(SecondaryObject, PrivacyBase, SurnameBase, SourceBase, NoteBase,
 | 
			
		||||
        :rtype: list
 | 
			
		||||
        """
 | 
			
		||||
        return [self.first_name, self.suffix, self.title,
 | 
			
		||||
                str(self.type), self.call]
 | 
			
		||||
                str(self.type), self.call, self.nick, self.famnick]
 | 
			
		||||
 | 
			
		||||
    def get_text_data_child_list(self):
 | 
			
		||||
        """
 | 
			
		||||
@@ -219,7 +227,7 @@ class Name(SecondaryObject, PrivacyBase, SurnameBase, SourceBase, NoteBase,
 | 
			
		||||
        Normally the person merge code should opt for adding an alternate 
 | 
			
		||||
        name if names are actually different (like not equal surname list)
 | 
			
		||||
 | 
			
		||||
        Lost: type, first, call, suffix, title and date of
 | 
			
		||||
        Lost: type, first, call, suffix, title, nick, famnick and date of
 | 
			
		||||
        acquisition.
 | 
			
		||||
 | 
			
		||||
        :param acquisition: The name to merge with the present name.
 | 
			
		||||
@@ -314,6 +322,42 @@ class Name(SecondaryObject, PrivacyBase, SurnameBase, SourceBase, NoteBase,
 | 
			
		||||
        """
 | 
			
		||||
        self.call = val
 | 
			
		||||
 | 
			
		||||
    def get_nick_name(self):
 | 
			
		||||
        """
 | 
			
		||||
        Return the nick name. 
 | 
			
		||||
        
 | 
			
		||||
        The nick name of the person, a not official name the person is known
 | 
			
		||||
        with.
 | 
			
		||||
        """
 | 
			
		||||
        return self.nick
 | 
			
		||||
 | 
			
		||||
    def set_nick_name(self, val):
 | 
			
		||||
        """
 | 
			
		||||
        Set the nick name. 
 | 
			
		||||
        
 | 
			
		||||
        The nick name of the person, a not official name the person is known
 | 
			
		||||
        with.
 | 
			
		||||
        """
 | 
			
		||||
        self.nick = val
 | 
			
		||||
 | 
			
		||||
    def get_family_nick_name(self):
 | 
			
		||||
        """
 | 
			
		||||
        Return the family nick name. 
 | 
			
		||||
        
 | 
			
		||||
        The family nick name of the family of the person, a not official name
 | 
			
		||||
        use to denote the entire family.
 | 
			
		||||
        """
 | 
			
		||||
        return self.famnick
 | 
			
		||||
 | 
			
		||||
    def set_family_nick_name(self, val):
 | 
			
		||||
        """
 | 
			
		||||
        Set the family nick name. 
 | 
			
		||||
        
 | 
			
		||||
        The family nick name of the family of the person, a not official name
 | 
			
		||||
        use to denote the entire family.
 | 
			
		||||
        """
 | 
			
		||||
        self.famnick = val
 | 
			
		||||
        
 | 
			
		||||
    def set_type(self, the_type):
 | 
			
		||||
        """Set the type of the Name instance."""
 | 
			
		||||
        self.type.set(the_type)
 | 
			
		||||
@@ -396,6 +440,8 @@ class Name(SecondaryObject, PrivacyBase, SurnameBase, SourceBase, NoteBase,
 | 
			
		||||
        retval['surnamelist'] = self.get_surnames()
 | 
			
		||||
        retval['prefixes'] = self.get_prefixes()
 | 
			
		||||
        retval['connectors'] = self.get_connectors()
 | 
			
		||||
        retval['nick'] = self.nick
 | 
			
		||||
        retval['famnick'] = self.famnick
 | 
			
		||||
        return retval
 | 
			
		||||
 | 
			
		||||
    def get_gedcom_name(self):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user