예제 #1
0
def encode_unstructured(name, value):
    if len(value) > MAX_HEADER_LENGTH:
        return to_utf8(value)
    try:
        return Header(
            value.encode("ascii"), "ascii",
            header_name=name).encode(splitchars=' ;,')
    except UnicodeEncodeError:
        if is_address_header(name, value):
            return encode_address_header(name, value)
        else:
            return Header(
                to_utf8(value), "utf-8",
                header_name=name).encode(splitchars=' ;,')
예제 #2
0
 def _url(self):
     """
     Grammar: url -> url
     """
     earl = self.stream.get_token(URL)
     if earl is None:
         return None
     return flanker.addresslib.address.UrlAddress(to_utf8(earl))
예제 #3
0
파일: parser.py 프로젝트: hartym/flanker
 def _url(self):
     """
     Grammar: url -> url
     """
     earl = self.stream.get_token(URL)
     if earl is None:
         return None
     return flanker.addresslib.address.UrlAddress(to_utf8(earl))
예제 #4
0
 def _url(self):
     """
     Grammar: url -> url
     """
     earl = self.stream.get_token(URL) or self.stream.get_token(UNI_URL)
     if earl is None:
         return None
     #TODO: Better handle non-ascii urls, specially in hostname part
     return flanker.addresslib.address.UrlAddress(to_utf8(earl))