2018.10 второй месяц испытательного срока

Description: Доработка почтового сервера. Внедрение EWS и, возможно, MAPI, которое бинарно.

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 37
Reputation: 1
Loyalty: 1
Posts: 3303
Joined: Wed, 10 Oct 2012
With us: 7 years 3 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#1by dyvniy » Mon, 1 Oct 2018, 10:52:55

Зарезервировано для итогов.
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 37
Reputation: 1
Loyalty: 1
Posts: 3303
Joined: Wed, 10 Oct 2012
With us: 7 years 3 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#2by dyvniy » Mon, 1 Oct 2018, 11:28:40

01 октября

Планы:
Понять как формируются и отправляются пакеты в exchangelib.
Чтобы использовать этот же механизм при написании сервера.
В идеале - использовать те же классы.
Ведь каждый умеет как читать себя из XML, таки экспортироваться в него.

Получилось:
Мне всё больше кажется, что идея использовать exchangelib для написания сервера хороша.
Кроме изучения библиотеки пробовал отлаживать запуск клиентской части.
Там используется пара десятков потоков, так что есть некоторая сложность.
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 37
Reputation: 1
Loyalty: 1
Posts: 3303
Joined: Wed, 10 Oct 2012
With us: 7 years 3 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#3by dyvniy » Tue, 2 Oct 2018, 11:15:02

02 октября

Планы:
Изучить лог отладки клиентской библиотеки.
Понять как сохранять объекты в базу. Думаю так же рекурсивно, как я сохранял XML.
Только придётся учитывать типы данных - наследников от EWSElement.
Когда объекты будут сохраняться в базу и читаться из неё, их можно будет активно использовать.
Так же возможно придётся дописать несколько функции чтения объекта из XML и запись его туда же,
которые были не нужны в чисто клиентской библиотеке, зато в серверной будут полезны.

Получилось:
Сделать основу для нового сервера, научить его возвращать types.xsd по запросу,
а на все посты в Exchange.asmx возвращать варнинг unsupported )))
конечно можно заставить его возвращать готовые XML из файлов, но лучше сразу научиться их формировать.
Формированием XML завтра и займусь.
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 37
Reputation: 1
Loyalty: 1
Posts: 3303
Joined: Wed, 10 Oct 2012
With us: 7 years 3 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#4by dyvniy » Wed, 3 Oct 2018, 11:34:09

03 октября

Планы:
Записать в базу содержимое объектов EWSElement при запуске клиентской части.
Понять как читать эти данные, разбирать XML запрос и формировать ответ при работе серверной.

Получилось:
Проникнуть глубже в структуру библиотеки.
Изучить нескольких наследников EWSElement и Field, включая их чтение и запись в XML.
Узнал о модуле shelve, создающем потокобезопасный аналог словаря во временном файле.
Но такое ощущение, что ни элементы ни поля в нормальную базу данных не впихнуть.
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 37
Reputation: 1
Loyalty: 1
Posts: 3303
Joined: Wed, 10 Oct 2012
With us: 7 years 3 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#5by dyvniy » Thu, 4 Oct 2018, 12:48:40

04 октября

Планы:
Писать в базу пока рано.
Нужно найти место, где формируются и парсятся XML пакеты.

Получилось:
Место найдено services.py:132: def _get_responce_xml(self, payload)
Туда приходит дерево запросов, там оно превращается в бинарные данные и отсылается.
Там же ответ парсится и возвращается массив деревьев с полученными данными.
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 37
Reputation: 1
Loyalty: 1
Posts: 3303
Joined: Wed, 10 Oct 2012
With us: 7 years 3 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#6by dyvniy » Fri, 5 Oct 2018, 10:35:41

05 октября

Планы:
Попробовать сохранить в шелв дерево, извлечь оттуда и сравнить.
Если результаты идентичны - сохранить все папки и все итэмы в шелв,
чтобы потом извлекать их оттуда в сервере.
Если различны - сохранять в шелв дерево в виде текста.
План на понедельник - сделать историю и промокашки,
чтобы запросы обновления не ругались.

Получилось:
В шелв XML не сохраняются, но их легко в строку преобразовывать.
Ключом тоже можно использовать одни строки,
но массивы строк в строку и обратно преобразуются без проблем.
Вообще надо заканчивать с неполной реализацией,
надо все уникальные параметры парсить и хранить. Лучше в базе, а не в шелве.

К тому же в базе можно хранить XML в виде текста.
Не нужно парсить все параметры итемов - можно выдавать все, не важно сколько их запросили))
Image


Forum name: StalkerSoft
Description: Доработка почтового сервера. Внедрение EWS и, возможно, MAPI, которое бинарно.

Quick reply


Enter the code exactly as it appears. All letters are case insensitive.
Confirmation code
:) ;) :hihi: :P :hah: :haha: :angel: :( :st: :_( :cool: 8-| :beee: :ham: :rrr: :grr: :* :secret: :stupid: :music: View more smilies
   

Return to “StalkerSoft”

Who is online (over the past 15 minutes)

Users browsing this forum: 1 guest