def __init__(self, *args, **kws): super(User, self).__init__(*args, **kws) # May receive either full name or split-out fname and lname: try: self.name = u' '.join(part for part in (self.fname, self.lname) if part) except AttributeError: try: (self.fname, self.lname) = names.parse_names(self.name) except AttributeError: raise TypeError("Either 'fname' and 'lname' or 'name' required")
def try_parse_names(in_, out): tools.eq_(names.parse_names(in_), out)
def _names(self): try: return self._names_ except AttributeError: self._names_ = names.parse_names(self.name) return self._names_