Анимация
JavaScript
|
Главная Библионтека 28.1. rfc822 - обработка заголовков электронных писем 371 отображений методов (has key() , keys() , values() , items() , get() ). Сопоставление имен заголовков производится независимо от используемого регистра букв, то есть выражения m [From], m [from] и m [FROM] полностью эквивалентны. Значением заголовка считается текст после двоеточия в первой строке заголовка плюс текст из строк продолжения с убранными символами пропуска в начале и конце. Кроме того, эти объекты имеют следующие методы и атрибуты данных: rewindbody () Перемещает указатель на начало сообщения. Этот метода работает только в том случае, если используемый файловый объект имеет методы tell() и seek(). isheader( line) Возвращает канонизированное имя заголовка, если line является соответствующим RFC 822 заголовком, иначе возвращает None (предполагая, что анализ должен быть остановлен в этом месте и строка должна быть помещена обратно в поток). Вы можете переопределить этот метод в производном классе для обеспечения поддержки расширенных форматов заголовков. islast( line) Возвращает истину, если строка line является разделителем, на котором обработка заголовков должна быть остановлена, иначе возвращает ложь. При чтении разделительная строка поглощается, и указатель помещается непосредственно после нее. Вы можете переопределить этот метод в производном классе. Исходная реализация проверяет, является ли данная строка пустой. iscomment( line) Возвращает истину, если строка line должна быть полностью проигнорирована, иначе возвращает ложь. Вы можете переопределить этот метод в производном классе, исходная реализация всегда возвращает ложь. getallmatchingheaders( name) Возвращает список строк, составляющих все заголовки с именем name. Каждая строка, в том числе являющаяся продолжением заголовка, является отдельным элементом этого списка. Если нет заголовков с указанным именем, возвращает пустой список. getfirstmatchingheader( name) Возвращает список строк, составляющих первый заголовок с именем name. Если нет заголовков с указанным именем, возвращает None. getrawheader( name) Возвращает строку, составляющую значение первого заголовка с именем (текст после двоеточия, включая строки продолжения) name, в исходном виде. Необработанное значение включает символы пропуска в начале, завершающий символ перехода на новую строку и дополнительные символы перехода на новую строку и пропуска перед текстом, взятым из строк продолжения. Если нет заголовков с указанным именем, возвращает None. getheader( name [, default ]) Псевдоним стандартного метода get() отображений. getaddr( name) Возвращает кортеж из двух строк (возможно пустых) с полным именем и адресом электронной почты, взятых из первого заголовка с именем name. Если нет заголовков с указанным именем, возвращает (None, None) . Например, если первый заголовок, сохраненный объектом m, содержит строку jack@cwi.nl (Jack Jansen) (или Jack Jansen <jack@cwi.nl>), m.getaddr(From) даст пару(Jack Jansen, jack@cwi.nl). getaddrlist( name) Работает аналогично методу getaddr() , но обрабатывает заголовок (или заголовки) с именем name как содержащий список адресов (например, заголовок To или серия заголовков Cc) и возвращает список кортежей с полным именем и адресом электронной почты. Если нет заголовков с указанным именем, возвращает пустой список. getdate( name) Анализирует первый заголовок с именем name на предмет содержания даты и времени и возвращает кортеж из девяти элементов (см. описание функции parsedate() ) или None, если нет заголовков с указанным именем или первый такой заголовок не содержит даты (не может быть обработан функцией parsedate() ). getdate tz( name) Работает аналогично методу getdate() , но возвращает кортеж из десяти элементов; последний элемент равен сдвигу в секундах часового пояса относительно универсального времени (см. описание функции parsedate tz() ) или None. headers Список всех строк заголовков в порядке их следования во входном файле. Каждая строка содержит завершающий символ перехода на новую строку. Разделительная строка (сигнализирующая конец заголовков) в этот список не включается. Файловый (или подобный) объект, который был использован при инициализации. Может быть использован для чтения содержимого сообщения. Экземпляры класса AddressList (обозначенные ниже как a и b) по поведению схожи с множествами (см. раздел 9.7.3) и поддерживают следующие операции: len( a) Количество адресов в списке. str( a) Канонизированное строковое представление списка (через запятую) адресов. Каждый адрес представляется в виде "name" <e mail>. a + b Дает экземпляр класса AddressList с адресами из обоих списков, но без дубликатов (объединение множеств). 28.2. mimetools - обработка сообщений в формате MIME 373 a - b Дает экземпляр класса AddressList с адресами, которые содержаться в списке a, но не содержаться в списке b (разница множеств). Кроме того, экземпляры класса AddressList имеют один публичный атрибут: addresslist Список кортежей (по одному на каждый адрес) из двух строк: канонизированного имени и электронного адреса. 28.2 mimetools - обработка сообщений в формате MIME Этот модуль определяет класс Message, производный от rfc822.Message, а также набор функций, полезных при обработке сообщений в формате MIME (Multipurpose Internet Mail Extensions, многоцелевые расширения электронной почты). Message( fp [, seekable]) Этот класс является производным от класса rfc822.Message и определяет несколько дополнительный методов, описанных ниже. Аргументы имеют такое же значение, как и для класса rfc822.Message (см. описание модуля rfc822). choose boundary() Возвращает уникальную строку, которая с высокой вероятностью может быть использована в качестве разделителя частей. Строка составляется из IP-адреса, идентификатора пользователя, идентификатора процесса, числа секунд, пройденных с начала эпохи, и некоторого случайного числа, разделенных точкой. decode( input , output , encoding) Считывает данные в MIME-кодировке encoding из потока input и записывает раскодированные данные в поток output . Аргумент encoding может иметь одно из следующих значений: base64, quoted-printable, uuencode (для большей совместимости воспринимаются также x-uuencode, uue и x-uue), 7bit или 8bit. encode( input , output , encoding) Считывает данные из потока input, преобразует в MIME-кодировку encoding и записывает в поток output . Поддерживаемые значения аргумента encoding такие же, как и для функции decode() . copyliteral( input , output ) Считывает строки текста из потока input (до конца файла) и записывает их в поток output . 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 [ 118 ] 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |