raise ValueError("Found a comma, but no names given: \"%s\" -> %r." % (text, parts))
names = [ name for name in parts[1].split() if len(name) ] # all non-whitespace tokens
return cls(surname, *names)
raise ValueError("Found a comma, but no names given: \"%s\" -> %r." % (text, parts))
names = [ name for name in parts[1].split() if len(name) ] # all non-whitespace tokens
return cls(surname, *names)