Updated kodi settings on Lenovo
This commit is contained in:
93
Kodi/Lenovo/addons/script.metadata.editor/context.py
Normal file
93
Kodi/Lenovo/addons/script.metadata.editor/context.py
Normal file
@@ -0,0 +1,93 @@
|
||||
#!/usr/bin/python
|
||||
# coding: utf-8
|
||||
|
||||
#################################################################################################
|
||||
|
||||
import xbmc
|
||||
import sys
|
||||
|
||||
from resources.lib.helper import *
|
||||
from resources.lib.json_map import *
|
||||
from resources.lib.editor import *
|
||||
from resources.lib.rating_updater import *
|
||||
|
||||
#################################################################################################
|
||||
|
||||
class ContextMenu(object):
|
||||
def __init__(self,dbid,dbtype):
|
||||
self.dbid = dbid
|
||||
self.dbtype = dbtype
|
||||
|
||||
db = Database(self.dbid, self.dbtype)
|
||||
getattr(db, self.dbtype)()
|
||||
self.details = db.result().get(self.dbtype)[0]
|
||||
|
||||
itemlist, actionlist = self._generate_menu()
|
||||
|
||||
if len(itemlist) > 1:
|
||||
contextdialog = DIALOG.contextmenu(itemlist)
|
||||
if contextdialog >= 0:
|
||||
self._exec(actionlist[contextdialog])
|
||||
|
||||
else:
|
||||
self._exec(actionlist[0])
|
||||
|
||||
def _generate_menu(self):
|
||||
if self.dbtype in ['movie', 'tvshow']:
|
||||
watchlist_label = ADDON.getLocalizedString(32008) if 'Watchlist' in self.details.get('tag') else ADDON.getLocalizedString(32009)
|
||||
menu = [ADDON.getLocalizedString(32010), ADDON.getLocalizedString(32004), ADDON.getLocalizedString(32003), watchlist_label, ADDON.getLocalizedString(32039)]
|
||||
actions = [0, 1, 2, 3, 4]
|
||||
|
||||
elif self.dbtype == 'episode':
|
||||
menu = [ADDON.getLocalizedString(32010), ADDON.getLocalizedString(32039)]
|
||||
actions = [0, 4]
|
||||
|
||||
elif self.dbtype in ['artist', 'album']:
|
||||
menu = [ADDON.getLocalizedString(32010), ADDON.getLocalizedString(32004)]
|
||||
actions = [0, 1]
|
||||
|
||||
else:
|
||||
menu = [ADDON.getLocalizedString(32010)]
|
||||
actions = [0]
|
||||
|
||||
if ADDON.getSettingBool('nfo_updating') and self.dbtype in ['movie', 'tvshow', 'episode']:
|
||||
menu.insert(-1, ADDON.getLocalizedString(32046))
|
||||
actions.insert(-1, 5)
|
||||
|
||||
return menu, actions
|
||||
|
||||
def _exec(self,action):
|
||||
editor = EditDialog(dbid=self.dbid, dbtype=self.dbtype)
|
||||
|
||||
if action == 0:
|
||||
editor.editor()
|
||||
|
||||
elif action == 1:
|
||||
editor.set(key='genre', type='select')
|
||||
|
||||
elif action == 2:
|
||||
editor.set(key='tag', type='select')
|
||||
|
||||
elif action == 3:
|
||||
editor.set(key='tag', type='watchlist')
|
||||
|
||||
elif action == 4 :
|
||||
update_ratings(dbid=self.dbid, dbtype=self.dbtype)
|
||||
|
||||
elif action == 5:
|
||||
winprop('updatenfo.bool', True)
|
||||
update_nfo(dbid=self.dbid, dbtype=self.dbtype, details=self.details)
|
||||
winprop('updatenfo', clear=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
listitem = sys.listitem.getVideoInfoTag()
|
||||
dbid = listitem.getDbId()
|
||||
dbtype = listitem.getMediaType()
|
||||
|
||||
if not dbid or not dbtype:
|
||||
listitem = sys.listitem.getMusicInfoTag()
|
||||
dbid = listitem.getDbId()
|
||||
dbtype = listitem.getMediaType()
|
||||
|
||||
ContextMenu(dbid, dbtype)
|
||||
Reference in New Issue
Block a user