コード例 #1
0
ファイル: email_mirror.py プロジェクト: deltay/zulip
def get_message_part_by_type(message: message.Message, content_type: str) -> Optional[str]:
    charsets = message.get_charsets()

    for idx, part in enumerate(message.walk()):
        if part.get_content_type() == content_type:
            content = part.get_payload(decode=True)
            assert isinstance(content, bytes)
            if charsets[idx]:
                return content.decode(charsets[idx], errors="ignore")
    return None
コード例 #2
0
ファイル: email_mirror.py プロジェクト: yanghui0705/zulip
def get_message_part_by_type(message: message.Message, content_type: str) -> Optional[str]:
    charsets = message.get_charsets()

    for idx, part in enumerate(message.walk()):
        if part.get_content_type() == content_type:
            content = part.get_payload(decode=True)
            assert isinstance(content, bytes)
            if charsets[idx]:
                return content.decode(charsets[idx], errors="ignore")
    return None
コード例 #3
0
ファイル: email_mirror.py プロジェクト: alexandrinaw/zulip
def get_message_part_by_type(message, content_type):
    # type: (message.Message, text_type) -> text_type
    charsets = message.get_charsets()

    for idx, part in enumerate(message.walk()):
        if part.get_content_type() == content_type:
            content = part.get_payload(decode=True)
            if charsets[idx]:
                content = content.decode(charsets[idx], errors="ignore")
            return content
コード例 #4
0
ファイル: email_mirror.py プロジェクト: tied/zulip
def get_message_part_by_type(message, content_type):
    # type: (message.Message, text_type) -> text_type
    charsets = message.get_charsets()

    for idx, part in enumerate(message.walk()):
        if part.get_content_type() == content_type:
            content = part.get_payload(decode=True)
            assert isinstance(content, binary_type)
            if charsets[idx]:
                text = content.decode(charsets[idx], errors="ignore")
            return text
コード例 #5
0
ファイル: email_mirror.py プロジェクト: acemaster/zulip
def get_message_part_by_type(message, content_type):
    # type: (message.Message, Text) -> Text
    charsets = message.get_charsets()

    for idx, part in enumerate(message.walk()):
        if part.get_content_type() == content_type:
            content = part.get_payload(decode=True)
            assert isinstance(content, binary_type)
            if charsets[idx]:
                text = content.decode(charsets[idx], errors="ignore")
            return text
コード例 #6
0
def get_message_part_by_type(message: message.Message, content_type: str) -> Optional[str]:
    charsets = message.get_charsets()

    for idx, part in enumerate(message.walk()):
        if part.get_content_type() == content_type:
            content = part.get_payload(decode=True)
            assert isinstance(content, bytes)
            if charsets[idx]:
                return content.decode(charsets[idx], errors="ignore")
            # If no charset has been specified in the header, assume us-ascii,
            # by RFC6657: https://tools.ietf.org/html/rfc6657
            else:
                return content.decode("us-ascii", errors="ignore")

    return None