jellyfin-kodi/resources/lib/KodiMonitor.py
xnappo c9fb82cf3c Back out delete
Need to add check if item is already deleted on Emby server
2015-03-23 22:54:11 -05:00

56 lines
2.4 KiB
Python

#################################################################################################
# Kodi Monitor
# Watched events that occur in Kodi, like setting media watched
#################################################################################################
import xbmc
import xbmcgui
import xbmcaddon
import json
import Utils as utils
from WriteKodiDB import WriteKodiDB
from DownloadUtils import DownloadUtils
class Kodi_Monitor(xbmc.Monitor):
def __init__(self, *args, **kwargs):
xbmc.Monitor.__init__(self)
def onDatabaseUpdated(self, database):
pass
#this library monitor is used to detect a watchedstate change by the user through the library
def onNotification (self,sender,method,data):
addon = xbmcaddon.Addon(id='plugin.video.mb3sync')
port = addon.getSetting('port')
host = addon.getSetting('ipaddress')
server = host + ":" + port
if method == "VideoLibrary.OnUpdate":
jsondata = json.loads(data)
if jsondata != None:
playcount = None
playcount = jsondata.get("playcount")
item = jsondata.get("item").get("id")
type = jsondata.get("item").get("type")
if playcount != None:
utils.logMsg("MB# Sync","Kodi_Monitor--> VideoLibrary.OnUpdate : " + str(data),2)
WriteKodiDB().updatePlayCountFromKodi(item, type, playcount)
if method == "VideoLibrary.OnRemove":
xbmc.log('Intercepted remove from sender: ' + sender + ' method: ' + method + ' data: ' + data)
jsondata = json.loads(data)
if jsondata != None:
if jsondata.get("type") == "episode":
episodeid = jsondata.get("id")
WINDOW = xbmcgui.Window( 10000 )
MBlist = WINDOW.getProperty("episodeid" + str(episodeid)).split(";;")
#NEED TO CHECK IF ITEM STILL EXISTS ON EMBY SERVER
#return_value = xbmcgui.Dialog().yesno("Confirm Delete", "Delete: "+ MBlist[0] + "\n on Emby Server?\nEmbyID: " + MBlist[1])
#if return_value:
# url='http://' + server + '/mediabrowser/Items/' + MBlist[1]
# xbmc.log('Deleting via URL: ' + url)
# DownloadUtils().downloadUrl(url, type="DELETE")