Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Журнал Витуса. ([info]lj_vitus_wagner)
@ 2019-09-06 10:48:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Радикальное
При апгрейде wagner.pp.ru на Debian 10 больше всего сил и нервов сьел маленький radicale, у которого всех данных-то 150 кб телефонной книги и 15 кб календарных событий.

Потому что:
1. Из конфигурации убрали префикс URL для работы за reverse proxy. И блин хоть бы написали
"вместо base-prefix используйет http-заголовгок X-Script-Name".
2. Переехали с python2 на python3. А в модуле vobjects при работе в python3 была бага. (которую я уже зарепортил) из-за которой при попытке сериализовать честно распарсенную vcard оно выдавало
Failed to store item '4c393f45-ae9b-4e32-9720-33118152246c.vcf' in collection 'vitus/2b6f78b0-270c-b45d-6e18-3238dad34b44': a bytes-like object is required, not 'str'
Стэк-трасса конечно никуда не показывалась и догадаться в чем дело было довольно непросто.В конце концов выяснилось что последовательность

import vobject
vcard=vobject.readOne("""....""")
vcard.serialize()

эту ошибку прекрасно воспроизводит.
3. После того как эта проблема решилась, началась фигня с фотографиями. Пришлось довольно долго возиться. прежде чем я понял, что PHOTO;TYPE=JPEG;ENCODING=BASE64 оно понимать перестало. Ему теперь надо PHOTO;TYPE=JPEG;ENCODING=B (и версия VCARD тут абсолютно ни на что не влияет). Кстати PHOTO:data:image/jpeg;base64,.... оно тоже не понимает, хотя в спецификации на VCARD 3.0 это предусмотрено.

А вот оказывается, что жить без синхронизируемых с сервером адресной книжки и календаря я уже отвык. И не столько я, сколько мой телефон, который при попытке отключить синхронизацию вообще перестал показывать контакты.

В общем, я чувствую, что после того как python 2 официально объявят deprecated борьба с кодировками во всех библиотеках для python 3 предстоит куда более суровая чем 20 лет назад в tcl и несколько позже в perl.

Мне вот тут на этой неделе в ctypescrypto баг зарепортили что в python3 оно не умеет работать с бинарными данными в CMS. (Ох, ну когда ж я тесты на этот самый CMS напишу? Судя по багрепортам на гитхабе, CMS это основное для чего народ ctypescrypto использует).

This entry was originally posted at https://vitus-wagner.dreamwidth.org/2101841.html. Please comment there using OpenID. Now there are Image comments


(Читать комментарии) (Добавить комментарий)