add contextual menu for search item on KOD via tmdb_id
This commit is contained in:
@@ -16,6 +16,10 @@
|
|||||||
<label>70269</label>
|
<label>70269</label>
|
||||||
<visible>String.IsEqual(ListItem.dbtype,tvshow)</visible>
|
<visible>String.IsEqual(ListItem.dbtype,tvshow)</visible>
|
||||||
</item>
|
</item>
|
||||||
|
<item library="externalsearch.py">
|
||||||
|
<label>90001</label>
|
||||||
|
<visible>!String.IsEmpty(ListItem.Property(tmdb_id))</visible>
|
||||||
|
</item>
|
||||||
</menu>
|
</menu>
|
||||||
</extension>
|
</extension>
|
||||||
<extension point="xbmc.addon.metadata">
|
<extension point="xbmc.addon.metadata">
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
import xbmc, sys, xbmcgui, os
|
||||||
|
from platformcode import config, logger
|
||||||
|
|
||||||
|
# incliuding folder libraries
|
||||||
|
librerias = xbmc.translatePath(os.path.join(config.get_runtime_path(), 'lib'))
|
||||||
|
sys.path.insert(0, librerias)
|
||||||
|
|
||||||
|
|
||||||
|
from core.item import Item
|
||||||
|
|
||||||
|
|
||||||
|
def execute_search():
|
||||||
|
"""
|
||||||
|
Gather the selected ListItem's attributes in order to compute the `Item` parameters
|
||||||
|
and perform the KOD's globalsearch.
|
||||||
|
Globalsearch will be executed specifing the content-type of the selected ListItem
|
||||||
|
|
||||||
|
NOTE: this method needs the DBTYPE and TMDB_ID specified as ListItem's properties
|
||||||
|
"""
|
||||||
|
|
||||||
|
# These following lines are commented and keep in the code just as reminder.
|
||||||
|
# In future, they could be used to filter the search outcome
|
||||||
|
|
||||||
|
# IMDB: the imdb of the selected ListItem
|
||||||
|
# this field is the Kodi's core field (not TMDB)
|
||||||
|
#
|
||||||
|
# imdb = xbmc.getInfoLabel('ListItem.IMDBNumber')
|
||||||
|
|
||||||
|
# ADDON: maybe can we know if the current windows is related to a specific addon?
|
||||||
|
# we could skip the ContextMenu if we already are in KOD's window
|
||||||
|
#
|
||||||
|
# addon = xbmc.getInfoLabel('ListItem.Property(Addon.ID)')
|
||||||
|
|
||||||
|
# YEAR: the year of the selected ListItem
|
||||||
|
# this field is the Kodi's core field
|
||||||
|
#
|
||||||
|
# year = xbmc.getInfoLabel('ListItem.Year')
|
||||||
|
|
||||||
|
|
||||||
|
tmdb = xbmc.getInfoLabel('ListItem.Property(tmdb_id)')
|
||||||
|
mediatype = xbmc.getInfoLabel('ListItem.DBTYPE')
|
||||||
|
title = xbmc.getInfoLabel('ListItem.Title')
|
||||||
|
|
||||||
|
|
||||||
|
logstr = "Selected ListItem is: 'TMDB: {}' - 'Title: {}' - 'Type: {}'".format(tmdb, title, mediatype)
|
||||||
|
logger.info(logstr)
|
||||||
|
|
||||||
|
item = Item(
|
||||||
|
action="Search",
|
||||||
|
channel="globalsearch",
|
||||||
|
contentType= mediatype,
|
||||||
|
mode="search",
|
||||||
|
text= title,
|
||||||
|
type= mediatype,
|
||||||
|
infoLabels= {
|
||||||
|
'tmdb_id': tmdb
|
||||||
|
},
|
||||||
|
folder= False
|
||||||
|
)
|
||||||
|
|
||||||
|
logger.info("Invoking Item: {}".format(item.tostring()))
|
||||||
|
|
||||||
|
itemurl = item.tourl()
|
||||||
|
xbmc.executebuiltin("RunPlugin(plugin://plugin.video.kod/?" + itemurl + ")")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
execute_search()
|
||||||
@@ -3975,7 +3975,7 @@ msgstr ""
|
|||||||
msgctxt "#70292"
|
msgctxt "#70292"
|
||||||
msgid "[%s] File no longer exist on this server."
|
msgid "[%s] File no longer exist on this server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgctxt "#70293"
|
msgctxt "#70293"
|
||||||
msgid "[%s] The file is processing or has been deleted."
|
msgid "[%s] The file is processing or has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -6478,4 +6478,8 @@ msgstr ""
|
|||||||
|
|
||||||
msgctxt "#80050"
|
msgctxt "#80050"
|
||||||
msgid "Downloading..."
|
msgid "Downloading..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#90001"
|
||||||
|
msgid "Search on KOD"
|
||||||
|
msgstr "Search on KOD..."
|
||||||
|
|||||||
@@ -3974,7 +3974,7 @@ msgstr "Errore, in conversione"
|
|||||||
msgctxt "#70292"
|
msgctxt "#70292"
|
||||||
msgid "[%s] File no longer exist on this server."
|
msgid "[%s] File no longer exist on this server."
|
||||||
msgstr "[%s] Il file non è più presente nel server."
|
msgstr "[%s] Il file non è più presente nel server."
|
||||||
|
|
||||||
msgctxt "#70293"
|
msgctxt "#70293"
|
||||||
msgid "[%s] The file is processing or has been deleted."
|
msgid "[%s] The file is processing or has been deleted."
|
||||||
msgstr "[%s] Il file video è ancora in elaborazione o è stato rimosso."
|
msgstr "[%s] Il file video è ancora in elaborazione o è stato rimosso."
|
||||||
@@ -6480,3 +6480,8 @@ msgstr "Rimuovi episodi in locale"
|
|||||||
msgctxt "#80050"
|
msgctxt "#80050"
|
||||||
msgid "Downloading..."
|
msgid "Downloading..."
|
||||||
msgstr "Download in corso..."
|
msgstr "Download in corso..."
|
||||||
|
|
||||||
|
|
||||||
|
msgctxt "#90001"
|
||||||
|
msgid "Search on KOD"
|
||||||
|
msgstr "Cerca con KOD..."
|
||||||
|
|||||||
+2
-1
@@ -107,7 +107,8 @@ if __name__ == '__main__':
|
|||||||
path = search_paths(sys.listitem.getVideoInfoTag().getDbId())
|
path = search_paths(sys.listitem.getVideoInfoTag().getDbId())
|
||||||
if path:
|
if path:
|
||||||
item = Item(action="update_tvshow", channel="videolibrary", path=path)
|
item = Item(action="update_tvshow", channel="videolibrary", path=path)
|
||||||
item.tourl()
|
# Why? I think it is not necessary, just commented
|
||||||
|
# item.tourl()
|
||||||
xbmc.executebuiltin("RunPlugin(plugin://plugin.video.kod/?" + item.tourl() + ")")
|
xbmc.executebuiltin("RunPlugin(plugin://plugin.video.kod/?" + item.tourl() + ")")
|
||||||
else:
|
else:
|
||||||
dialog = xbmcgui.Dialog()
|
dialog = xbmcgui.Dialog()
|
||||||
|
|||||||
Reference in New Issue
Block a user