Архив рубрики: Программирование

Примеры кода для PyXMPP и XMPPpy

Пока писал различные транспорты / сервисы для jabber’а – часто приходилось выискивать примеры кода, чтобы понять, какие блоки для чего использовать, чтобы вырисовать нужный XML. С PyXMPP было проще – под рукой было 2 проекта с неплохим объемом кода, на котором можно было учиться – наверное, поэтому мне больше PyXMPP и полюбился. С XMPPpy было сложнее, но в итоге разобрался.

В данной заметке – куски кода из моих проектов, реализующие ту или иную функцию. Код, в основном, скопирован “как есть” – разве что с удалением часто повторяющихся одинаковых блоков. Основная задача – показать последовательность действий, которая нужна для “рисования” нужного XML’а.

Читать далее Примеры кода для PyXMPP и XMPPpy

Google Translate Transport (service) for XMPP

Еще один проектик для jabber’а.

В конференции саппорта сервера jabbercity.ru с Lex’ом как-то зашла речь за перевод через гугл. Собственно, мне самому давно была интересна эта тема – боты переводчики, бывшие в таблице на JabberWorld, давно перестали работать, а новых не появлялось. Но я считал, что там надо будет активно изучать API гугла, создавать пары ключей и заниматься тому подобными вещами. Тут же Lex кинул пару функций, там все оказалось гораздо проще. Потом на stackoverflow нашел еще более интересный вариант (фактически – упрощенный и использующий меньше библиотек) – и завертелось.

Читать далее Google Translate Transport (service) for XMPP

В копилку ссылок: бридж BT-Wifi для мультиварок Redmond

Искал мультиварки-самоделки на ESP32 или чем-то таком, нашел бридж для подключения мультиварок/чайников/прочих девайсов с Bluetooth к умному дому:

Нагрузка на базу у RSS-транспорта

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

Читать далее Нагрузка на базу у RSS-транспорта

Архив сообщений в RSS-транспорте и веселый юникод-2

Да, я снова вляпался в utf8mb4.

Читать далее Архив сообщений в RSS-транспорте и веселый юникод-2

Работа над JabRSS

Одним из первых jabber-проектов в собранном архиве, который пробовал запускать у себя, стал JabRSS – бот для чтения новостных лент.

Предыстория: на начало войны хотелось получать новости в jabber'e более-менее реалтайм, но оригинальный инстанс JabRSS делал апдейты не чаще, чем раз в 45 минут, что я первым делом и исправил, после чего и решил держать свой инстанс на своем сервере.

Бот вполне успешно запустился на python2 и python3.7, но отказался запускаться на python3.9, сославшись на устаревший атрибут getchildren() в xml.etree.ElementTree.Element. Бот в итоге был запущен на сервере под python2 с пакетом библиотек под него; я подергал на эту тему H31, чтобы тот как-то помог и на том все затихло. Я увлекся работой над RSS-транспортом – в итоге на сейчас JabRSS не особо и нужен, транспорт стал более продвинутым и удобным в использовании.

Однако сейчас все же решил поставить уже какую-то точку насчет JabRSS – если там не сильно сложно его доработать – а опыт работы с Python у меня уже немного есть – то почему бы и нет?

Читать далее Работа над JabRSS

Нет, ну можно, конечно… Про favicon.ico в vCard для RSS

В коде RSS-транспорта была идея поначалу использовать favicon.ico с сайта, откуда берется лента и отдавать его в качестве фото в vCard. Вообще в XMPP есть возможность указывать в фото ссылку на внешний ресурс. Одна проблема – это нигде (ну, как минимум, в популярных клиентах, что я пробовал) не реализовано. В общем, забил и просто отдаю RSS-лого, которое сохранено напрямую в коде скрипта в base64.

Читать далее Нет, ну можно, конечно… Про favicon.ico в vCard для RSS

RSS-транспорт: фильтры

С давних времен у меня висит в ростере оригинальный инстанс JabRSS, ну и с тех же времен висит там подписка на kernel.org. Постит мне новости о новых релизах и багфиксах, красота.

Читать далее RSS-транспорт: фильтры

RSS-транспорт: диалоги

Да, я таки реализовал управление через отправку сообщений RSS-транспорту. Отметил это версией 1.5. Слать сообщения можно любой ленте либо транспорту напрямую (если добавить его в ростер).

Читать далее RSS-транспорт: диалоги