|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vladimir Bormotov 2:5020/400 01 Jun 2002 03:44:16 To : Ilya Anfimov Subject : Re: Есть ли в Linux-почтовиках предварительный просмотр почты как в The --------------------------------------------------------------------------------
Bat и в каких ?
Hi, Ilya!
>>>>> "IA" == Ilya Anfimov <ilan@adt.ru> writes:
[skip]
>> IA> Стандартные разборы MIME брать нельзя -- ведь он же на руках
>> IA> покоцанный будет.
>>
>> кем? Его нам покоцаный в мыло прислали?
IA> Hет, мы пытаемся по первым ндцати байтам что-нибудь в этом
IA> письме прочитать.
ааа, это типа и есть preview? ну ок, дернули 10 строк, "попытались
угадать". Да, не так просто как при целом письме, но тоже не сильно
сложно.
>> а куда оно денется? Т.е. оно ваще нифига не MIME уже в жищке?
>> Просто набор строк?
IA> Его ещё не скачали. Большое оно.
тло что скачали нам распарсят в виде заголовков.
[skip]
>> ассоциативный масив, это которые делается тоже одной строкой,
IA> Дело не в том, как ему конструктор организовать. Дело в том, что
IA> там хранить и как на это смотреть.
хранить какие-то данные, которые нужны. Я не знаю чего там обычно хранят,
чесслово. смотреть, по вот этим UIDL'ям.
>> UIDLs = UIDLDict()
>> а потом в него запихивают (че там в него пихать-то нужно?)
IA> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
IA> Один из двух интересных вопросов. Как минимум -- всё, что мы уже
IA> знаем об этом письме от сервера.
тогда делается объектик "все что знаем о письме"...
IA> Ещё память -- скачивали мы его или ещё нет. Hу, мало ли что ещё в
IA> процессе потребуется.
>> UIDLs[mail['UIDL']] = <тут пихаем чего нужно>
в итоге получаем
UIDLspmail['UIDL']] = knowledge(mail)
class knowledge:
def __init__(self, mail):
self.message_id = mail['Messgae-Id']
...
self.to_delete = False # py2.2.1 fetaure
sefl.to_dowload = True # same
или как-то так. :))
>> а потом где-то в конце говорится
>> UIDLs.save_fetchids('~/.fetchids')
IA> А, ты об этом подумал.
не, я пока еще даже не начинал думать, это так, рефлекторно... :))
IA> Я вообще хотел save_fetchids сделать отдельной, чисто процедурной
IA> функцией или в рамках менеджера файла fetchids.
никакой процедурщины! :)))
по сути, во всяких save_* будет создаваться итератор, который просто
пройдет по self.keys(), и для каждого self.__getitem__(key) вызовет метод
save_*
тогда будет
class knowledge_fetchmail(knowledge):
def get_fetchids(self):
return <что-то из наших знаний о письме в виде пригодном для ~/.fetchids>
def save_fetchids(self, file):
file.write(self.get_fetchids())
может быть еще понадобится read_fetchids, и так далее...
IA> В неё передаются UIDL неприговорённых мессаг. Или, может быть,
IA> приговорённых, объект UIDLs уже там лежит.
если неприговоренные, то там где итератор, будет что-то типа
if the_mail.to_download:
the_mail.save_fetchids(file)
the_mail - экземпляр класса knowledge_fetchmail
процедурщину с передачей идов туда-сюда давить. Это вон, пусть на Сы так
пишут. Там по-другому писать сложнее (т.е. дольше, и дороже). Тут
дешевле писать сразу красиво ;)
--
Bor.
--- ifmail v.2.15dev5
* Origin: BorHomeLand (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/254131a15ee8.html, оценка из 5, голосов 10
|