def display_code(Items, content_type): for item in Items: context_items = [] if ADDON.getSetting("settings_context") == "true": context_items.append( (_("Settings"), "RunPlugin({0})".format(get_addon_url("Settings")))) context_items.extend(item["context"]) name = item["label"] if "adult" in name.lower(): if ADDON.getSetting("adult_menu") == "true": koding.Add_Dir(name=item["label"], url=item["url"], mode=item["mode"], folder=item["folder"], icon=item["icon"], fanart=item["fanart"], context_items=context_items, content_type="video", info_labels=item["info"], set_property=item.get("properties", {}), set_art={"poster": item["icon"]}) else: koding.Add_Dir(name=item["label"], url=item["url"], mode=item["mode"], folder=item["folder"], icon=item["icon"], fanart=item["fanart"], context_items=context_items, content_type="video", info_labels=item["info"], set_property=item.get("properties", {}), set_art={"poster": item["icon"]}) xbmcplugin.setContent(int(sys.argv[1]), content_type)
def queue_source(item, depth=0): """ queue item Keyword Arguments: item -- JenItem to try playing """ from resources.lib.util.url import get_addon_url jen_item = JenItem(item) playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) if "<item>" in str(jen_item): play = False if xbmcaddon.Addon().getSetting("autostart_queue") == "true": if playlist.size() == 0: play = True playlist.add( get_addon_url("get_sources", str(item)), xbmcgui.ListItem( jen_item["title"], iconImage=jen_item.get("thumbnail", ""))) if play: play_queue() else: link = jen_item.get("url", jen_item.get("link", "")) jenlist = JenList(link).get_raw_list() for list_item in jenlist: queue_source(str(list_item), depth + 1) if depth == 0: xbmcgui.Dialog().notification( ADDON.getAddonInfo("name"), _("Finished Queueing").encode('utf-8'), ADDON.getAddonInfo("icon")) xbmc.executebuiltin("Container.Refresh")
def display_list(items, content_type): "display jen list in kodi" import xbmcplugin import sys hook_result = run_hook("display_list", items, content_type) if hook_result: return for item in items: context_items = [] if ADDON.getSetting("settings_context") == "true": context_items.append((_("Settings"), "RunPlugin({0})".format( get_addon_url("Settings")))) context_items.extend(item["context"]) koding.Add_Dir( name=item["label"], url=item["url"], mode=item["mode"], folder=item["folder"], icon=item["icon"], fanart=item["fanart"], context_items=context_items, content_type="video", info_labels=item["info"], set_property=item.get("properties", {}), set_art={"poster": item["icon"]}) # xbmcgui.Dialog().textviewer('info',str(item["info"])) xbmcplugin.setContent(int(sys.argv[1]), content_type)
def display_list(items, content_type): "display jen list in kodi" import xbmcplugin import sys hook_result = run_hook("display_list", items, content_type) if hook_result: return for item in items: context_items = [] if ADDON.getSetting("settings_context") == "true": context_items.append( (_("Settings"), "RunPlugin({0})".format(get_addon_url("Settings")))) context_items.extend(item["context"]) koding.Add_Dir(name=item["label"], url=item["url"], mode=item["mode"], folder=item["folder"], icon=item["icon"], fanart=item["fanart"], context_items=context_items, content_type="video", info_labels=item["info"], set_property=item.get("properties", {}), set_art={"poster": item["icon"]}) xbmcplugin.setContent(int(sys.argv[1]), content_type)
def search(): """ Open root search directory """ versionspec = { "columns": { "version": "TEXT" } } koding.Create_Table("version", versionspec) search_spec = { "columns": { "term": "TEXT" } } koding.Create_Table("search", search_spec) terms = koding.Get_All_From_Table("search") if terms: koding.Add_Dir(name="Clear Search", mode="clear_search", folder=True, icon=icon, fanart=fanart) for term in terms: label = term["term"] context_menu = [ ("Remove Search", "RunPlugin({0})".format(get_addon_url(mode="remove_search", url=label))) ] koding.Add_Dir(name=label, url=label, mode="do_search", folder=True, icon=icon, fanart=fanart, context_items=context_menu) koding.Add_Dir(name="Add Search", mode="add_search", folder=True, icon=icon, fanart=fanart)
def queue_source(item, depth=0): """ queue item Keyword Arguments: item -- JenItem to try playing """ from resources.lib.util.url import get_addon_url jen_item = JenItem(item) playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) if "<item>" in str(jen_item): play = False if xbmcaddon.Addon().getSetting("autostart_queue") == "true": if playlist.size() == 0: play = True playlist.add( get_addon_url("get_sources", str(item)), xbmcgui.ListItem( jen_item["title"], iconImage=jen_item.get("thumbnail", "") ), ) if play: play_queue() else: link = jen_item.get("url", jen_item.get("link", "")) jenlist = JenList(link).get_raw_list() for list_item in jenlist: queue_source(str(list_item), depth + 1) if depth == 0: xbmcgui.Dialog().notification( ADDON.getAddonInfo("name"), _("Finished Queueing").encode("utf-8"), ADDON.getAddonInfo("icon"), ) xbmc.executebuiltin("Container.Refresh")
def search(): """ Open root search directory """ versionspec = {"columns": {"version": "TEXT"}} koding.Create_Table("version", versionspec) search_spec = {"columns": {"term": "TEXT"}} koding.Create_Table("search", search_spec) terms = koding.Get_All_From_Table("search") if terms: koding.Add_Dir(name=_("Clear Search"), mode="clear_search", folder=True, icon=icon, fanart=fanart) for term in terms: label = term["term"] context_menu = [(_("Remove Search"), "RunPlugin({0})".format( get_addon_url(mode="remove_search", url=label)))] koding.Add_Dir(name=label, url=label, mode="do_search", folder=True, icon=icon, fanart=fanart, context_items=context_menu) koding.Add_Dir(name=_("Add Search"), mode="add_search", folder=True, icon=icon, fanart=fanart)
def add_search(): term = str(koding.Keyboard(_("Enter search term"))) if not term: return koding.Add_To_Table("search", {"term": term}) xbmc.executebuiltin("Container.update(%s, replace)" % get_addon_url("do_search", term))
def display_list(items, content_type): "display jen list in kodi" import xbmcplugin import sys if content_type == "seasons": import pickle context_items = [] if ADDON.getSetting("settings_context") == "true": context_items.append( ("Settings", "RunPlugin({0})".format(get_addon_url("Settings")))) url = [] for item in items: url.append(item["url"]) koding.Add_Dir(name="All Episodes", url=pickle.dumps(url), mode="all_episodes", folder=True, icon=ADDON.getAddonInfo("icon"), fanart=ADDON.getAddonInfo("fanart"), context_items=context_items, content_type="video") for item in items: context_items = [] if ADDON.getSetting("settings_context") == "true": context_items.append( ("Settings", "RunPlugin({0})".format(get_addon_url("Settings")))) context_items.extend(item["context"]) koding.Add_Dir(name=item["label"], url=item["url"], mode=item["mode"], folder=item["folder"], icon=item["icon"], fanart=item["fanart"], context_items=context_items, content_type="video", info_labels=item["info"], set_property=item["properties"], set_art={"poster": item["icon"]}) xbmcplugin.setContent(int(sys.argv[1]), content_type)
def get_context_items(self, item, context): if not xbmc.getCondVisibility( "system.hasaddon(plugin.video.metalliq)"): return jen_item = item identifier = None meta = jen_item.get("meta", None) if meta: meta = JenItem(meta) tvdb = meta.get("tvdb", None) if tvdb and tvdb != "0": identifier = tvdb else: imdb = meta.get("imdb", None) if imdb and imdb != "0": identifier = imdb else: tmdb = meta.get("tmdb", None) if tmdb and tmdb != "0": identifier = tmdb if not identifier: return content = jen_item["content"] if content == "movie": context.append(("Add To Library", "RunPlugin({0})".format( get_addon_url("add_to_library", { "media_type": "movies", "identifier": identifier })))) return context elif content == "tvshow": context.append(("Add To Library", "RunPlugin({0})".format( get_addon_url("add_to_library", { "media_type": "tvshow", "identifier": identifier })))) return context
def display_data(Items): for item in Items: context_items = [] if ADDON.getSetting("settings_context") == "true": context_items.append( (_("Settings"), "RunPlugin({0})".format(get_addon_url("Settings")))) context_items.extend(item["context"]) koding.Add_Dir(name=item["label"], url=item["url"], mode=item["mode"], folder=item["folder"], icon=item["icon"], fanart=item["fanart"], context_items=context_items, content_type="video", info_labels=item["info"], set_property=item.get("properties", {}), set_art={"poster": item["icon"]})
def queue_source(item, depth=0): """ queue item Keyword Arguments: item -- BobItem to try playing """ from resources.lib.util.url import get_addon_url bob_item = BobItem(item) playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) if xbmcaddon.Addon().getSetting("background_list_queue") == "true": item = xbmc.getInfoLabel('Window(10008).Property(Bob_Queue)') if item: xbmcgui.Dialog().ok( "still queueing last one, please try again later") return import service service.background_queue.put(bob_item) return if "<item>" in str(bob_item): play = False if xbmcaddon.Addon().getSetting("autostart_queue") == "true": if playlist.size() == 0: play = True playlist.add( get_addon_url("get_sources", str(item)), xbmcgui.ListItem(bob_item["title"], iconImage=bob_item.get("thumbnail", ""))) if play: play_queue() else: link = bob_item.get("url", bob_item.get("link", "")) boblist = BobList(link).get_raw_list() for list_item in boblist: queue_source(str(list_item), depth + 1) if depth == 0: xbmcgui.Dialog().notification(ADDON.getAddonInfo("name"), "Finished Queueing".encode('utf-8'), ADDON.getAddonInfo("icon")) xbmc.executebuiltin("Container.Refresh")
def queue_source(item, depth=0): """ queue item Keyword Arguments: item -- BobItem to try playing """ from resources.lib.util.url import get_addon_url bob_item = BobItem(item) playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) if xbmcaddon.Addon().getSetting("background_list_queue") == "true": item = xbmc.getInfoLabel('Window(10008).Property(Bob_Queue)') if item: xbmcgui.Dialog().ok("still queueing last one, please try again later") return import service service.background_queue.put(bob_item) return if "<item>" in str(bob_item): play = False if xbmcaddon.Addon().getSetting("autostart_queue") == "true": if playlist.size() == 0: play = True playlist.add(get_addon_url("get_sources", str(item)), xbmcgui.ListItem(bob_item["title"], iconImage=bob_item.get("thumbnail", ""))) if play: play_queue() else: link = bob_item.get("url", bob_item.get("link", "")) boblist = BobList(link).get_raw_list() for list_item in boblist: queue_source(str(list_item), depth + 1) if depth == 0: xbmcgui.Dialog().notification(ADDON.getAddonInfo("name"), "Finished Queueing".encode('utf-8'), ADDON.getAddonInfo("icon")) xbmc.executebuiltin("Container.Refresh")
def get_context_items(item): """generate context menu for item Keyword Arguments: item -- JenItem to generate menu for """ context = [] content = item["content"] # cache if content == "": context.append((_("Try Uncached"), "Container.Update({0})".format( get_addon_url("get_list_uncached", item["link"])))) # information context.append( (xbmcaddon.Addon().getLocalizedString(30708), "XBMC.Action(Info)")) # view modes if content == "movie": context.append( (_("Set Movie View"), "RunPlugin({0})".format(get_addon_url("save_view_mode", "movies")))) elif content == "tvshow": context.append( (_("Set TV Show View"), "RunPlugin({0})".format(get_addon_url("save_view_mode", "tvshows")))) elif content == "season": context.append( (_("Set Season View"), "RunPlugin({0})".format(get_addon_url("save_view_mode", "seasons")))) elif content == "episode": context.append((_("Set Episode View"), "RunPlugin({0})".format( get_addon_url("save_view_mode", "episodes")))) else: context.append( (_("Set View"), "RunPlugin({0})".format(get_addon_url("save_view_mode", "other")))) # extended info mod/qlickplay if xbmc.getCondVisibility("system.hasaddon(script.qlickplay)") or \ xbmc.getCondVisibility("system.hasaddon(script.extendedinfo)"): if content == "movie": context.append((_("Extended info"), "RunPlugin({0})".format( get_addon_url("movie_extended_info", item["imdb"])))) elif content == "tvshow": context.append((_("Extended info"), "RunPlugin({0})".format( get_addon_url("tvshow_extended_info", item["imdb"])))) elif content == "season": url = "{'imdb': '%s', 'season': %s}" %\ (item["imdb"], item["season"]) context.append((_("Extended info"), "RunPlugin({0})".format( get_addon_url("season_extended_info", url)))) elif content == "episode": url = "{'imdb': '%s', 'season': %s, 'episode': %s}" %\ (item["imdb"], item["season"], item["episode"]) context.append((_("Extended info"), "RunPlugin({0})".format( get_addon_url("episode_extended_info", url)))) # queue playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) if playlist.size() > 0: context.append((_("Play Queue"), "RunPlugin({0})".format(get_addon_url("play_queue")))) context.append((_('Show Queue'), 'Action("Playlist")')) context.append((_("Clear Queue"), "RunPlugin({0})".format(get_addon_url("clear_queue")))) try: if content == "movie": context.append((_("Queue Movie"), "RunPlugin({0})".format( get_addon_url("queue", item.item_string)))) elif content == "tvshow": context.append((_("Queue TV Show"), "RunPlugin({0})".format( get_addon_url("queue", item.item_string)))) elif content == "season": context.append((_("Queue Season"), "RunPlugin({0})".format( get_addon_url("queue", item.item_string)))) elif content == "episode": context.append((_("Queue Episode"), "RunPlugin({0})".format( get_addon_url("queue", item.item_string)))) else: context.append((_("Queue Item"), "RunPlugin({0})".format( get_addon_url("queue", item.item_string)))) except: pass hook_result = run_hook("get_context_items", item, context) if hook_result: return hook_result return context
# -*- coding: utf-8 -*-
def add_search(): term = str(koding.Keyboard(_("Enter search term"))) if not term: return koding.Add_To_Table("search", {"term": term}) xbmc.executebuiltin("Container.update(%s, replace)" % get_addon_url("do_search", term))
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
def get_context_items(item): """generate context menu for item Keyword Arguments: item -- JenItem to generate menu for """ context = [] content = item["content"] # cache if content == "": context.append((_("Try Uncached"), "Container.Update({0})".format( get_addon_url("get_list_uncached", item["link"])))) # information context.append((xbmcaddon.Addon().getLocalizedString(30708), "XBMC.Action(Info)")) # view modes if content == "movie": context.append((_("Set Movie View"), "RunPlugin({0})".format( get_addon_url("save_view_mode", "movies")))) elif content == "tvshow": context.append((_("Set TV Show View"), "RunPlugin({0})".format( get_addon_url("save_view_mode", "tvshows")))) elif content == "season": context.append((_("Set Season View"), "RunPlugin({0})".format( get_addon_url("save_view_mode", "seasons")))) elif content == "episode": context.append((_("Set Episode View"), "RunPlugin({0})".format( get_addon_url("save_view_mode", "episodes")))) else: context.append((_("Set View"), "RunPlugin({0})".format( get_addon_url("save_view_mode", "other")))) # extended info mod/qlickplay if xbmc.getCondVisibility("system.hasaddon(script.qlickplay)") or \ xbmc.getCondVisibility("system.hasaddon(script.extendedinfo)"): if content == "movie": context.append((_("Extended info"), "RunPlugin({0})".format( get_addon_url("movie_extended_info", item["imdb"])))) elif content == "tvshow": context.append((_("Extended info"), "RunPlugin({0})".format( get_addon_url("tvshow_extended_info", item["imdb"])))) elif content == "season": url = "{'imdb': '%s', 'season': %s}" %\ (item["imdb"], item["season"]) context.append((_("Extended info"), "RunPlugin({0})".format( get_addon_url("season_extended_info", url)))) elif content == "episode": url = "{'imdb': '%s', 'season': %s, 'episode': %s}" %\ (item["imdb"], item["season"], item["episode"]) context.append((_("Extended info"), "RunPlugin({0})".format( get_addon_url("episode_extended_info", url)))) # queue playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) if playlist.size() > 0: context.append((_("Play Queue"), "RunPlugin({0})".format( get_addon_url("play_queue")))) context.append((_('Show Queue'), 'Action("Playlist")')) context.append((_("Clear Queue"), "RunPlugin({0})".format( get_addon_url("clear_queue")))) if content == "movie": context.append((_("Queue Movie"), "RunPlugin({0})".format( get_addon_url("queue", item.item_string)))) elif content == "tvshow": context.append((_("Queue TV Show"), "RunPlugin({0})".format( get_addon_url("queue", item.item_string)))) elif content == "season": context.append((_("Queue Season"), "RunPlugin({0})".format( get_addon_url("queue", item.item_string)))) elif content == "episode": context.append((_("Queue Episode"), "RunPlugin({0})".format( get_addon_url("queue", item.item_string)))) else: context.append((_("Queue Item"), "RunPlugin({0})".format( get_addon_url("queue", item.item_string)))) return context
def clear_search(): koding.Remove_Table("search") xbmc.executebuiltin("Container.update(%s)" % get_addon_url("Search"))
# -*- coding: utf-8 -*-
def get_context_items(item): """generate context menu for item Keyword Arguments: item -- BobItem to generate menu for """ context = [] content = item["content"] # information context.append( (xbmcaddon.Addon().getLocalizedString(30708), "XBMC.Action(Info)")) # view modes if content == "movie": context.append( ("Set Movie View", "RunPlugin({0})".format(get_addon_url("save_view_mode", "movies")))) elif content == "tvshow": context.append( ("Set TV Show View", "RunPlugin({0})".format(get_addon_url("save_view_mode", "tvshows")))) elif content == "season": context.append( ("Set Season View", "RunPlugin({0})".format(get_addon_url("save_view_mode", "seasons")))) elif content == "episode": context.append(("Set Episode View", "RunPlugin({0})".format( get_addon_url("save_view_mode", "episodes")))) else: context.append( ("Set View", "RunPlugin({0})".format(get_addon_url("save_view_mode", "othe")))) # extended info mod/qlickplay if xbmc.getCondVisibility("system.hasaddon(script.qlickplay)") or \ xbmc.getCondVisibility("system.hasaddon(script.extendedinfo)"): if content == "movie": context.append(("Extended info", "RunPlugin({0})".format( get_addon_url("movie_extended_info", item["imdb"])))) elif content == "tvshow": context.append(("Extended info", "RunPlugin({0})".format( get_addon_url("tvshow_extended_info", item["imdb"])))) elif content == "season": url = "{'imdb': '%s', 'season': %s}" %\ (item["imdb"], item["season"]) context.append(("Extended info", "RunPlugin({0})".format( get_addon_url("season_extended_info", url)))) elif content == "episode": url = "{'imdb': '%s', 'season': %s, 'episode': %s}" %\ (item["imdb"], item["season"], item["episode"]) context.append(("Extended info", "RunPlugin({0})".format( get_addon_url("episode_extended_info", url)))) # metalliq if xbmc.getCondVisibility("system.hasaddon(plugin.video.metalliq)"): imdb = item.get("imdb", "") if imdb.startswith("tt"): if content == "movie": path = "plugin://plugin.video.metalliq/movies/add_to_library_parsed/imdb/%s/direct.bob.unleashed.m" % imdb context.append( ("Add Movie To Library", "RunPlugin({0})".format(path))) elif content in ["tvshow", "season", "episode"]: path = "plugin://plugin.video.metalliq/tv/add_to_library_parsed/%s/direct.bob.unleashed.m" % imdb context.append( ("Add Show To Library", "RunPlugin({0})".format(path))) # queue playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) if playlist.size() > 0: context.append(("Play Queue", "RunPlugin({0})".format(get_addon_url("play_queue")))) context.append(('Show Queue', 'Action("Playlist")')) context.append(("Clear Queue", "RunPlugin({0})".format(get_addon_url("clear_queue")))) if content == "movie": context.append( ("Queue Movie", "RunPlugin({0})".format(get_addon_url("queue", item.item_string)))) elif content == "tvshow": context.append( ("Queue TV Show", "RunPlugin({0})".format(get_addon_url("queue", item.item_string)))) elif content == "season": context.append( ("Queue Season", "RunPlugin({0})".format(get_addon_url("queue", item.item_string)))) elif content == "episode": context.append( ("Queue Episode", "RunPlugin({0})".format(get_addon_url("queue", item.item_string)))) else: context.append( ("Queue Item", "RunPlugin({0})".format(get_addon_url("queue", item.item_string)))) return context
def clear_search(): koding.Remove_Table("search") xbmc.executebuiltin("Container.update(%s, replace)" % get_addon_url("Search"))