add background random image link

This commit is contained in:
Shaun
2018-02-25 11:23:23 +11:00
parent 65cb387d00
commit 8651f989ba
3 changed files with 45 additions and 46 deletions

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.embycon"
name="EmbyCon"
version="1.4.50"
version="1.4.51"
provider-name="Team B">
<requires>
<import addon="xbmc.python" version="2.25.0"/>

View File

@@ -20,18 +20,41 @@ dataManager = DataManager()
kodi_version = int(xbmc.getInfoLabel('System.BuildVersion')[:2])
def set_background_image():
log.debug("set_background_image Called")
url = ('{server}/emby/Users/{userid}/Items' +
'?Recursive=true' +
'&limit=1' +
'&SortBy=Random' +
'&IncludeItemTypes=Movie,Series' +
'&ImageTypeLimit=1')
results = downloadUtils.downloadUrl(url, suppress=True)
results = json.loads(results)
if results is not None:
items = results.get("Items", [])
if len(items) > 0:
item = items[0]
server = downloadUtils.getServer()
bg_image = downloadUtils.getArtwork(item, "Backdrop", server=server)
home_window = HomeWindow()
home_window.setProperty("random-gb", bg_image)
log.debug("random-gb: {0}", bg_image)
def checkForNewContent():
log.debug("checkForNewContent Called")
added_url = ('{server}/emby/Users/{userid}/Items' +
'?Recursive=true' +
'&limit=1' +
'&Fields=DateCreated,Etag' +
'&SortBy=DateCreated' +
'&SortOrder=Descending' +
'&IncludeItemTypes=Movie,Episode' +
'&ImageTypeLimit=0' +
'&format=json')
'?Recursive=true' +
'&limit=1' +
'&Fields=DateCreated,Etag' +
'&SortBy=DateCreated' +
'&SortOrder=Descending' +
'&IncludeItemTypes=Movie,Episode' +
'&ImageTypeLimit=0' +
'&format=json')
added_result = downloadUtils.downloadUrl(added_url, suppress=True)
result = json.loads(added_result)
@@ -46,14 +69,14 @@ def checkForNewContent():
log.debug("last_added_date: {0}", last_added_date)
played_url = ('{server}/emby/Users/{userid}/Items' +
'?Recursive=true' +
'&limit=1' +
'&Fields=DateCreated,Etag' +
'&SortBy=DatePlayed' +
'&SortOrder=Descending' +
'&IncludeItemTypes=Movie,Episode' +
'&ImageTypeLimit=0' +
'&format=json')
'?Recursive=true' +
'&limit=1' +
'&Fields=DateCreated,Etag' +
'&SortBy=DatePlayed' +
'&SortOrder=Descending' +
'&IncludeItemTypes=Movie,Episode' +
'&ImageTypeLimit=0' +
'&format=json')
played_result = downloadUtils.downloadUrl(played_url, suppress=True)
result = json.loads(played_result)

View File

@@ -15,7 +15,7 @@ from resources.lib.downloadutils import DownloadUtils
from resources.lib.simple_logging import SimpleLogging
from resources.lib.play_utils import Service, PlaybackService, sendProgress
from resources.lib.kodi_utils import HomeWindow
from resources.lib.widgets import checkForNewContent
from resources.lib.widgets import checkForNewContent, set_background_image
from resources.lib.websocket_client import WebSocketClient
from resources.lib.menu_functions import set_library_window_values
@@ -41,6 +41,7 @@ playback_service = PlaybackService(monitor)
home_window = HomeWindow()
last_progress_update = time.time()
last_content_check = time.time()
last_background_update = time.time()
websocket_client = WebSocketClient()
# start the WebSocket Client running
@@ -49,34 +50,9 @@ remote_control = settings.getSetting('remoteControl') == "true"
if remote_control:
websocket_client.start()
def get_now_playing():
# Get the active player
result = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "id": 1, "method": "Player.GetActivePlayers"}')
result = unicode(result, 'utf-8', errors='ignore')
log.debug("Got active player: {0}", result)
result = json.loads(result)
if 'result' in result and len(result["result"]) > 0:
playerid = result["result"][0]["playerid"]
# Get details of the playing media
log.debug("Getting details of now playing media")
result = xbmc.executeJSONRPC(
'{"jsonrpc": "2.0", "id": 1, "method": "Player.GetItem", "params": {"playerid": ' + str(
playerid) + ', "properties": ["showtitle", "tvshowid", "episode", "season", "playcount", "genre", "plotoutline", "uniqueid"] } }')
result = unicode(result, 'utf-8', errors='ignore')
log.debug("playing_item_details: {0}", result)
result = json.loads(result)
return result
def check_version():
download_utils.checkVersion()
t = Timer(5.0, check_version)
t.start()
@@ -96,12 +72,12 @@ while not xbmc.abortRequested:
last_progress_update = time.time()
sendProgress(monitor)
else:
# if not playing every 60 seonds check for new widget content
if (time.time() - last_content_check) > 60:
last_content_check = time.time()
checkForNewContent()
#get_now_playing()
if (time.time() - last_background_update) > 30:
last_background_update = time.time()
set_background_image()
except Exception as error:
log.error("Exception in Playback Monitor: {0}", error)