Вверх ↑
Ответов: 5446
Рейтинг: 323
#1: 2010-05-17 14:45:16 ЛС | профиль | цитата
Компоненты для POP3 и SMTP готовы. Возник такой вопрос: насколько "тонкой" должна быть обёртка над стандартной библиотекой Python-а? Возьмём компонент IMAP, который есть обёртка над стандартным модулем imaplib. В некоторых (да что там, почти во всех) запросах библиотека возвращает "сырой" ответ от сервера. Например, запрос "Список папок" (пример из личной почты):
Список папок

('OK', ['(\\NoInferiors) "/" INBOX', '(\\HasChildren) "/" Analysis', '(\\HasNoChildren) "/" Analysis/CAB', '(\\HasNoChildren) "/" Analysis/CAF', '(\\HasNoChildren) "/" Analysis/ROOT', '(\\HasChildren) "/" Business', '(\\HasNoChildren) "/" Business/Dell', '(\\HasNoChildren) "/" Business/TracFone', '(\\HasChildren) "/" CALMUO', '(\\HasNoChildren) "/" CALMUO/Pixels', '(\\HasChildren) "/" DAQ', '(\\HasNoChildren) "/" "DAQ/D0 DAQ Summary"', '(\\HasNoChildren) "/" "Deleted Items"', '(\\HasNoChildren) "/" Drafts', '(\\HasNoChildren) "/" EMID', '(\\HasNoChildren) "/" FNAL', '(\\HasNoChildren) "/" Higgz', '(\\HasChildren) "/" Linux', '(\\HasNoChildren) "/" "Linux/NTP Problems in 5.1"', '(\\HasNoChildren) "/" PBS', '(\\HasNoChildren) "/" Sent', '(\\HasNoChildren) "/" "Sent Items"', '(\\HasNoChildren) "/" "Tagged Spam"', '(\\HasNoChildren) "/" Trash', '(\\HasChildren) "/" Useful_things', '(\\HasNoChildren) "/" "Useful_things/Dell XPS M1530"', '(\\HasNoChildren) "/" "Video Conferences"', '(\\HasNoChildren) "/" muo_cert'])

Вот ещё пример - письмо (собственно заголовки и тело удалены для краткости):
Письмо

( 'OK',
[ ( '1 (FLAGS (\\Seen) BODY[HEADER] {3348}',
<...>'),
( ' BODY[TEXT] {3953}',
'<...>'),
')'])

В принципе, пользователю пакета обработать такую структуту несложно. Вопрос: перекладывать ли это на пользователя, или же отдавать ему "чистое" письмо (в виде строки, пригодной для разбора компонентом Mail_parse)?
карма: 1

0