add background random image link
This commit is contained in:
@@ -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"/>
|
||||
|
||||
@@ -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)
|
||||
|
||||
34
service.py
34
service.py
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user