Files
jellycon/resources/lib/kodi_utils.py
2017-07-15 23:53:36 +10:00

68 lines
2.0 KiB
Python

import xbmc
import xbmcgui
import xbmcplugin
import xbmcaddon
import sys
import json
from simple_logging import SimpleLogging
log = SimpleLogging(__name__)
addon = xbmcaddon.Addon(id='plugin.video.embycon')
class HomeWindow():
"""
xbmcgui.Window(10000) with add-on id prefixed to keys
"""
def __init__(self):
self.id_string = 'plugin.video.embycon-%s'
self.window = xbmcgui.Window(10000)
def getProperty(self, key):
key = self.id_string % key
value = self.window.getProperty(key)
# log.debug('HomeWindow: getProperty |%s| -> |%s|' % (key, value))
return value
def setProperty(self, key, value):
key = self.id_string % key
# log.debug('HomeWindow: setProperty |%s| -> |%s|' % (key, value))
self.window.setProperty(key, value)
def clearProperty(self, key):
key = self.id_string % key
# log.debug('HomeWindow: clearProperty |%s|' % key)
self.window.clearProperty(key)
def addMenuDirectoryItem(label, path, folder=True, thumbnail=None):
li = xbmcgui.ListItem(label, path=path)
if thumbnail is None:
thumbnail = addon.getAddonInfo('icon')
artLinks = {}
artLinks["thumb"] = thumbnail
artLinks["icon"] = thumbnail
li.setArt(artLinks)
xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=path, listitem=li, isFolder=folder)
def getKodiVersion():
version = 0.0
jsonData = xbmc.executeJSONRPC(
'{ "jsonrpc": "2.0", "method": "Application.GetProperties", "params": {"properties": ["version", "name"]}, "id": 1 }')
result = json.loads(jsonData)
try:
result = result.get("result")
versionData = result.get("version")
version = float(str(versionData.get("major")) + "." + str(versionData.get("minor")))
log.debug("Version : " + str(version) + " - " + str(versionData))
except:
version = 0.0
log.error("Version Error : RAW Version Data : " + str(result))
return version