Содержание страницы
18.6. mimetools – Инструменты для разбора MIME-сообщений¶mimetools – Tools for parsing MIME messages
Устарело с версии 2.3: Пакет email следует использовать вместо модуля mimetools.
Этот модуль присутствует только для поддержания обратной совместимости и был удалён в 3.x.
Этот модуль определяет подкласс класса Message модуля rfc822
и ряд служебных функций, полезных для работы с MIME-сообщениями, состоящими из нескольких частей или закодированными.
Определяются следующие элементы:
-
class
mimetools.Message(fp[, seekable])¶ Возвращает новый экземпляр класса
Message. Это подкласс классаrfc822.Messageс некоторыми дополнительными методами (см. ниже). Аргумент seekable имеет то же значение, что и дляrfc822.Message.
-
mimetools.choose_boundary()¶ Возвращает уникальную строку, которая с высокой вероятностью может быть использована в качестве границы части. Строка имеет вид
'hostipaddr.uid.pid.timestamp.random'.
-
mimetools.decode(input, output, encoding)¶ Читает данные, закодированные с использованием разрешённой MIME-кодировки encoding, из открытого файлового объекта input и записывает декодированные данные в открытый файловый объект output. Допустимые значения для encoding включают
'base64','quoted-printable','uuencode','x-uuencode','uue','x-uue','7bit'и'8bit'. Декодирование сообщений, закодированных в'7bit'или'8bit', не даёт эффекта. Входные данные просто копируются в выходные.
-
mimetools.encode(input, output, encoding)¶ Читает данные из открытого файлового объекта input и записывает их, закодировав с использованием разрешённой MIME-кодировки encoding, в открытый файловый объект output. Допустимые значения для encoding такие же, как для
decode().
-
mimetools.copyliteral(input, output)¶ Читает строки из открытого файла input до конца файла и записывает их в открытый файл output.
-
mimetools.copybinary(input, output)¶ Читает блоки до конца файла из открытого файла input и записывает их в открытый файл output. Размер блока в настоящее время фиксирован и равен 8192.
См. также
- Модуль
email Комплексный пакет для работы с электронной почтой; заменяет модуль
mimetools.- Модуль
rfc822 Предоставляет базовый класс для
mimetools.Message.- Модуль
multifile Поддержка чтения файлов, содержащих отдельные части, например, MIME-данные.
- http://faqs.cs.uu.nl/na-dir/mail/mime-faq/.html
Документ с часто задаваемыми вопросами по MIME. Обзор MIME см. в ответе на вопрос 1.1 в части 1 этого документа.
18.6.1. Дополнительные методы объектов Message¶Additional Methods of Message Objects
Класс Message определяет следующие методы в дополнение к методам
rfc822.Message:
-
Message.getplist()¶ Возвращает список параметров заголовка Content-Type. Это список строк. Для параметров вида
key=value, key преобразуется в нижний регистр, а value – нет. Например, если сообщение содержит заголовокContent-type: text/html; spam=1; Spam=2; Spam, тоgetplist()вернёт список Python['spam=1', 'spam=2', 'Spam'].
-
Message.getparam(name)¶ Возвращает value первого параметра (возвращаемого функцией
getplist()) видаname=valueдля заданного name. Если value окружён кавычками вида '<…>' или '"…"', они удаляются.
-
Message.getencoding()¶ Возвращает кодировку, указанную в заголовке сообщения Content-Transfer-Encoding. Если такого заголовка нет, возвращает
'7bit'. Кодировка преобразуется в нижний регистр.
-
Message.gettype()¶ Возвращает тип сообщения (вида
type/subtype), указанный в заголовке Content-Type. Если такого заголовка нет, возвращает'text/plain'. Тип преобразуется в нижний регистр.
-
Message.getmaintype()¶ Возвращает основной тип, указанный в заголовке Content-Type. Если такого заголовка нет, возвращает
'text'. Основной тип преобразуется в нижний регистр.
-
Message.getsubtype()¶ Возвращает подтип, указанный в заголовке Content-Type. Если такого заголовка нет, возвращает
'plain'. Подтип преобразуется в нижний регистр.