-
Notifications
You must be signed in to change notification settings - Fork 7
Для авторов новых плагинов
Т.к. пока желающих писать собственные плагины не сказать что очень много мне в большинстве случаев на вопросы по написанию плагинов проще ответить лично, чем заниматься написанием серьезной инструкции. По тем же причинам я пока не обдумывал серьезно как быть если плагинов и авторов будет слишком много и нужно будет это как-то аккуратно разрешать от конфликтов. Появиться такая проблема - будем думать. Пока решаем это в виде pull request от авторов в ветку dev
Эту инструкцию пишу пока для старта.
Плагины - это программа на питоне - файл, расположенный в папке mbplugin/plugin, содержащий функцию:
def get_balance(login, password, storename=None, **kwargs):
result = {'Balance': 124.45}
return result
Пример простого плагина и возвращаемые параметры можно посмотреть в файле mbplugin/plugin/test1.py
Если Вы хотите получить какие-то данные с веб страницы и вариант просто воспользоваться библиотеками типа request, примеры такого использования можно найти например в плагинах megafon или avtodor-tr
Если Вы хотите получить какие-то данные с веб страницы и вариант просто воспользоваться библиотеками типа request Вам по каким-то причинам не подходят, то можно воспользоваться playwright. В принципе никто не мешает пользоваться им напрямую, но я реализовал основную часть рутины, для упрощения использования на типичных сайтах, что позволяет в большинстве случаев написать плагин буквально за 10 строчек кода. Пример такого плагина смотрите в mbplugin/plugin/test1.py
Чтобы не дублировать код
Для полноты картины иконку, которая будет видна в MobileBalance, можно сделать с помощью утилиты mbplugin/plugin/get_icon.py](https://github.com/artyl/mbplugin/blob/master/plugin/get_icon.py) указав ей либо url либо скачанный файл favicon.ico или его аналог. иконка - это переменная icon в теле модуля.