def __init__(self, display_name, spec=None): if spec is None: spec = display_name display_name = None assert(spec) if display_name is None: self.display_name = u'' else: self.display_name = encode_string(None, display_name) parts = spec.rsplit('@', 1) self.mailbox = parts[0] self.hostname = parts[1].lower() self.address = self.mailbox + "@" + self.hostname self.addr_type = self.Type.Email
def _word_unicode(self): "Grammar: word-unicode -> unicode-atom | unicode-qstring" start_pos = self.stream.position # unicode atom uwrd = self.stream.get_token(UNI_ATOM) if uwrd and isinstance(uwrd, unicode) and not contains_control_chars(uwrd): return uwrd # unicode qstr uwrd = self.stream.get_token(UNI_QSTR, 'qstr') if uwrd and isinstance(uwrd, unicode) and not contains_control_chars(uwrd): return u'"{0}"'.format(encode_string(None, uwrd)) # rollback self.stream.position = start_pos return None