@@ -779,8 +779,8 @@ def join_on_conjunctions(self, pieces, additional_parts_count=0):
779779
780780 ### Capitalization Support
781781
782- def cap_word (self , word ):
783- if self .is_prefix (word ) or self .is_conjunction (word ):
782+ def cap_word (self , word , attribute ):
783+ if ( self .is_prefix (word ) and attribute == 'last' ) or self .is_conjunction (word ):
784784 return word .lower ()
785785 exceptions = self .C .capitalization_exceptions
786786 if lc (word ) in exceptions :
@@ -793,10 +793,10 @@ def cap_after_mac(m):
793793 else :
794794 return word .capitalize ()
795795
796- def cap_piece (self , piece ):
796+ def cap_piece (self , piece , attribute ):
797797 if not piece :
798798 return ""
799- replacement = lambda m : self .cap_word (m .group (0 ))
799+ replacement = lambda m : self .cap_word (m .group (0 ), attribute )
800800 return self .C .regexes .word .sub (replacement , piece )
801801
802802 def capitalize (self , force = False ):
@@ -829,8 +829,8 @@ def capitalize(self, force=False):
829829 name = u (self )
830830 if not force and not (name == name .upper () or name == name .lower ()):
831831 return
832- self .title_list = self .cap_piece (self .title ).split (' ' )
833- self .first_list = self .cap_piece (self .first ).split (' ' )
834- self .middle_list = self .cap_piece (self .middle ).split (' ' )
835- self .last_list = self .cap_piece (self .last ).split (' ' )
836- self .suffix_list = self .cap_piece (self .suffix ).split (', ' )
832+ self .title_list = self .cap_piece (self .title , 'title' ).split (' ' )
833+ self .first_list = self .cap_piece (self .first , 'first' ).split (' ' )
834+ self .middle_list = self .cap_piece (self .middle , 'middle' ).split (' ' )
835+ self .last_list = self .cap_piece (self .last , 'last' ).split (' ' )
836+ self .suffix_list = self .cap_piece (self .suffix , 'suffix' ).split (', ' )
0 commit comments