def headers_transform_encodedword_test(): # Create a header with non-ascii characters that will be stored in encoded-word format. headers = [('Subject', encoding.to_mime('Subject', u'Hello ✓'))] h = MimeHeaders(headers) # transform should decode it for us when we pass decode=True h.transform(lambda key,val: (key, val.replace(u'✓', u'☃')), decode=True) eq_(u'Hello ☃', h.get('Subject'))
def headers_transform_encodedword_test(): # Create a header with non-ascii characters that will be stored in encoded-word format. headers = [('Subject', encoding.to_mime('Subject', u'Hello ✓'))] h = MimeHeaders(headers) # transform should decode it for us when we pass decode=True h.transform(lambda key, val: (key, val.replace(u'✓', u'☃')), decode=True) eq_(u'Hello ☃', h.get('Subject'))
def to_stream(self, stream): """Takes a stream and serializes headers in a mime format""" for h, v in self._v.iteritems(): try: h = h.encode('ascii') except UnicodeDecodeError: raise EncodingError("Non-ascii header name") stream.write("{0}: {1}\r\n".format(h, to_mime(h, v)))
def to_stream(self, stream): """Takes a stream and serializes headers in a mime format""" for h, v in self.v.iteritems(): try: h = h.encode('ascii') except UnicodeDecodeError: raise EncodingError("Non-ascii header name") stream.write("{0}: {1}\r\n".format(h, to_mime(h, v)))
def to_stream(self, stream, prepends_only=False): """ Takes a stream and serializes headers in a mime format. """ i = 0 for h, v in self.iteritems(raw=True): if prepends_only and i == self.num_prepends: break i += 1 try: h.encode('ascii') except UnicodeDecodeError: raise EncodingError("Non-ascii header name") stream.write("{0}: {1}\r\n".format(h, to_mime(h, v)))