parser.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:cerberus-core 作者: ovh 项目源码 文件源码
def parse_attachment(part):
    """
        Get attachments of an email

        :param `Message` part: A `Message`
        :rtype: list
        :return: The list of attachments
    """
    attachment = {}
    attachment['content_type'] = part.get_content_type()

    if attachment['content_type'].lower() in ['message/rfc822', 'message/delivery-status']:
        attachment['content'] = str(part)
    else:
        attachment['content'] = part.get_payload(decode=True)

    filename = part.get_filename()

    if not filename:
        filename = hashlib.sha1(attachment['content']).hexdigest()
        if attachment['content_type']:
            extension = mimetypes.guess_extension(attachment['content_type'])
            if extension:
                filename += extension

    attachment['filename'] = get_valid_filename(utils.decode_every_charset_in_the_world(filename))
    return attachment
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号