Есть ли способ получить доступ к коду Python из сторонних плагинов kodi/xbmc в вашем плагине?

У меня есть опыт работы с Python, но я только начал изучать, как разрабатывать дополнения для Kodi. Возникли проблемы с пониманием документов.

Можно ли импортировать или иным образом получить доступ к коду Python из другого плагина или скрипта?

Например, если мой аддон был: script.hello.world и я хотел использовать some_method от plugin.video.someplugin,

addon.xml импортирует плагин, к которому я хочу получить доступ:

<requires>
    <import addon="xbmc.python" version="2.14.0"/>
    <import addon="plugin.video.plexbmc" version="3.4.5" optional="true"/>
</requires>

Я был уверен, что это не сработает, и я был прав:

from plugin.video.someplugin.default import some_method

Единственная вещь в документах, которая выглядела так, как будто это может работать, была такова:

spi = xbmcaddon.Addon ('plugin.video.someplugin')

Я могу получить доступ к встроенным в xbmc методам spi, но не могу добраться до реальных объектов python.

1 ответ

Решение

Понял! Просто добавьте нужный каталог в системный путь python:

spi = xbmcaddon.Addon ('plugin.video.someplugin')
path = spi.getAddonInfo('path')
sys.path.append (xbmc.translatePath( os.path.join( path) ))
from default import some_method
some_method()
Другие вопросы по тегам