当前位置: 首页>>代码示例>>Python>>正文


Python BytesGenerator._write_headers方法代码示例

本文整理汇总了Python中email.generator.BytesGenerator._write_headers方法的典型用法代码示例。如果您正苦于以下问题:Python BytesGenerator._write_headers方法的具体用法?Python BytesGenerator._write_headers怎么用?Python BytesGenerator._write_headers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在email.generator.BytesGenerator的用法示例。


在下文中一共展示了BytesGenerator._write_headers方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: encode_multipart_message

# 需要导入模块: from email.generator import BytesGenerator [as 别名]
# 或者: from email.generator.BytesGenerator import _write_headers [as 别名]
def encode_multipart_message(message):
    # The message must be multipart.
    assert message.is_multipart()
    # The body length cannot yet be known.
    assert "Content-Length" not in message
    # So line-endings can be fixed-up later on, component payloads must have
    # no Content-Length and their Content-Transfer-Encoding must be base64
    # (and not quoted-printable, which Django doesn't appear to understand).
    for part in message.get_payload():
        assert "Content-Length" not in part
        assert part["Content-Transfer-Encoding"] == "base64"
    # Flatten the message without headers.
    buf = BytesIO()
    generator = BytesGenerator(buf, False)  # Don't mangle "^From".
    generator._write_headers = lambda self: None  # Ignore.
    generator.flatten(message)
    # Ensure the body has CRLF-delimited lines. See
    # http://bugs.python.org/issue1349106.
    body = b"\r\n".join(buf.getvalue().splitlines())
    # Only now is it safe to set the content length.
    message.add_header("Content-Length", "%d" % len(body))
    return message.items(), body
开发者ID:pontillo,项目名称:alburnum-maas-client,代码行数:24,代码来源:multipart.py


注:本文中的email.generator.BytesGenerator._write_headers方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。