@@ -530,6 +530,9 @@ def parse_full_name(self):
530530 # in the first part. (Suffixes will never appear after last names
531531 # only, and allows potential first names to be in suffixes, e.g.
532532 # "Johnson, Bart"
533+
534+ post_comma_pieces = self .parse_pieces (parts [1 ].split (' ' ), 1 )
535+
533536 if self .are_suffixes (parts [1 ].split (' ' )) \
534537 and len (parts [0 ].split (' ' )) > 1 :
535538
@@ -568,9 +571,8 @@ def parse_full_name(self):
568571 # lastname comma:
569572 # last [suffix], title first middles[,] suffix [,suffix]
570573 # parts[0], parts[1], parts[2:...]
571- pieces = self .parse_pieces (parts [1 ].split (' ' ), 1 )
572574
573- log .debug ("pieces: %s" , u (pieces ))
575+ log .debug ("post-comma pieces: %s" , u (post_comma_pieces ))
574576
575577 # lastname part may have suffixes in it
576578 lastname_pieces = self .parse_pieces (parts [0 ].split (' ' ), 1 )
@@ -582,14 +584,14 @@ def parse_full_name(self):
582584 else :
583585 self .last_list .append (piece )
584586
585- for i , piece in enumerate (pieces ):
587+ for i , piece in enumerate (post_comma_pieces ):
586588 try :
587- nxt = pieces [i + 1 ]
589+ nxt = post_comma_pieces [i + 1 ]
588590 except IndexError :
589591 nxt = None
590592
591593 if self .is_title (piece ) \
592- and (nxt or len (pieces ) == 1 ) \
594+ and (nxt or len (post_comma_pieces ) == 1 ) \
593595 and not self .first :
594596 self .title_list .append (piece )
595597 continue
0 commit comments