mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-12-24 17:56:11 +00:00
Fix plugin paths & Attempt to fix photos
Emby removed photos library. Now it's homevideo and photos. Had to tweak a few things. Update plugin patha to properly encode naming.
This commit is contained in:
parent
81e8da575a
commit
c0012582c8
4 changed files with 58 additions and 23 deletions
|
@ -30,7 +30,7 @@ import playbackutils as pbutils
|
|||
import playutils
|
||||
import api
|
||||
from views import Playlist, VideoNodes
|
||||
from utils import window, settings, dialog, language as lang
|
||||
from utils import window, settings, dialog, language as lang, plugin_path
|
||||
|
||||
#################################################################################################
|
||||
|
||||
|
@ -85,7 +85,7 @@ def doMainListing():
|
|||
'''
|
||||
|
||||
if path:
|
||||
if xbmc.getCondVisibility("Window.IsActive(Pictures)") and node == "photos":
|
||||
if xbmc.getCondVisibility("Window.IsActive(Pictures)") and node in ("photos", "homevideos"):
|
||||
addDirectoryItem(label, path)
|
||||
elif xbmc.getCondVisibility("Window.IsActive(Videos)") and node != "photos":
|
||||
addDirectoryItem(label, path)
|
||||
|
@ -620,11 +620,8 @@ def BrowseContent(viewname, browse_type="", folderid=""):
|
|||
#only proceed if we have a folderid
|
||||
if folderid:
|
||||
if browse_type.lower() == "homevideos":
|
||||
xbmcplugin.setContent(int(sys.argv[1]), 'episodes')
|
||||
itemtype = "Video,Folder,PhotoAlbum"
|
||||
elif browse_type.lower() == "photos":
|
||||
xbmcplugin.setContent(int(sys.argv[1]), 'files')
|
||||
itemtype = "Photo,PhotoAlbum,Folder"
|
||||
itemtype = "Video,Folder,PhotoAlbum,Photo"
|
||||
else:
|
||||
itemtype = ""
|
||||
|
||||
|
@ -653,7 +650,14 @@ def BrowseContent(viewname, browse_type="", folderid=""):
|
|||
li = createListItemFromEmbyItem(item,art,doUtils)
|
||||
if item.get("IsFolder") == True:
|
||||
#for folders we add an additional browse request, passing the folderId
|
||||
path = "%s?id=%s&mode=browsecontent&type=%s&folderid=%s" % (sys.argv[0].decode('utf-8'), viewname.decode('utf-8'), browse_type.decode('utf-8'), item.get("Id").decode('utf-8'))
|
||||
params = {
|
||||
|
||||
'id': viewname.encode('utf-8'),
|
||||
'mode': "browsecontent",
|
||||
'type': browse_type,
|
||||
'folderid': item['Id']
|
||||
}
|
||||
path = plugin_path("plugin://plugin.video.emby/", params)
|
||||
xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=path, listitem=li, isFolder=True)
|
||||
else:
|
||||
#playable item, set plugin path and mediastreams
|
||||
|
|
|
@ -3,14 +3,13 @@
|
|||
##################################################################################################
|
||||
|
||||
import logging
|
||||
import urllib
|
||||
from ntpath import dirname
|
||||
|
||||
import api
|
||||
import embydb_functions as embydb
|
||||
import _kodi_tvshows
|
||||
from _common import Items, catch_except
|
||||
from utils import window, settings, language as lang
|
||||
from utils import window, settings, language as lang, plugin_path
|
||||
|
||||
##################################################################################################
|
||||
|
||||
|
@ -630,7 +629,7 @@ class TVShows(Items):
|
|||
'dbid': episodeid,
|
||||
'mode': "play"
|
||||
}
|
||||
filename = "%s?%s" % (path, urllib.urlencode(params))
|
||||
filename = plugin_path(path, params)
|
||||
|
||||
##### UPDATE THE EPISODE #####
|
||||
if update_item:
|
||||
|
|
|
@ -10,6 +10,7 @@ import StringIO
|
|||
import os
|
||||
import sys
|
||||
import time
|
||||
import urllib
|
||||
import unicodedata
|
||||
import xml.etree.ElementTree as etree
|
||||
from datetime import datetime
|
||||
|
@ -77,6 +78,9 @@ def dialog(type_, *args, **kwargs):
|
|||
}
|
||||
return types[type_](*args, **kwargs)
|
||||
|
||||
def plugin_path(plugin, params):
|
||||
return "%s?%s" % (plugin, urllib.urlencode(params))
|
||||
|
||||
|
||||
class JSONRPC(object):
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ import xbmcvfs
|
|||
|
||||
import read_embyserver as embyserver
|
||||
import embydb_functions as embydb
|
||||
from utils import window, language as lang, indent as xml_indent
|
||||
from utils import window, language as lang, indent as xml_indent, plugin_path
|
||||
|
||||
#################################################################################################
|
||||
|
||||
|
@ -635,22 +635,50 @@ class VideoNodes(object):
|
|||
|
||||
# Set window properties
|
||||
if (mediatype == "homevideos" or mediatype == "photos") and nodetype == "all":
|
||||
# Custom query
|
||||
path = ("plugin://plugin.video.emby/?id=%s&mode=browsecontent&type=%s"
|
||||
% (tagname, mediatype))
|
||||
params = {
|
||||
|
||||
'id': tagname.encode('utf-8'),
|
||||
'mode': "browsecontent",
|
||||
'type': mediatype
|
||||
}
|
||||
path = plugin_path("plugin://plugin.video.emby/", params)
|
||||
|
||||
elif (mediatype == "homevideos" or mediatype == "photos"):
|
||||
# Custom query
|
||||
path = ("plugin://plugin.video.emby/?id=%s&mode=browsecontent&type=%s&folderid=%s"
|
||||
% (tagname, mediatype, nodetype))
|
||||
params = {
|
||||
|
||||
'id': tagname.encode('utf-8'),
|
||||
'mode': "browsecontent",
|
||||
'type': mediatype,
|
||||
'folderid': nodetype
|
||||
}
|
||||
path = plugin_path("plugin://plugin.video.emby/", params)
|
||||
|
||||
elif nodetype == "nextepisodes":
|
||||
# Custom query
|
||||
path = "plugin://plugin.video.emby/?id=%s&mode=nextup&limit=25" % tagname
|
||||
params = {
|
||||
|
||||
'id': tagname.encode('utf-8'),
|
||||
'mode': "nextup",
|
||||
'limit': 25
|
||||
}
|
||||
path = plugin_path("plugin://plugin.video.emby/", params)
|
||||
|
||||
elif KODI == 14 and nodetype == "recentepisodes":
|
||||
# Custom query
|
||||
path = "plugin://plugin.video.emby/?id=%s&mode=recentepisodes&limit=25" % tagname
|
||||
params = {
|
||||
|
||||
'id': tagname.encode('utf-8'),
|
||||
'mode': "recentepisodes",
|
||||
'limit': 25
|
||||
}
|
||||
path = plugin_path("plugin://plugin.video.emby/", params)
|
||||
|
||||
elif KODI == 14 and nodetype == "inprogressepisodes":
|
||||
# Custom query
|
||||
path = "plugin://plugin.video.emby/?id=%s&mode=inprogressepisodes&limit=25"% tagname
|
||||
params = {
|
||||
|
||||
'id': tagname.encode('utf-8'),
|
||||
'mode': "inprogressepisodes",
|
||||
'limit': 25
|
||||
}
|
||||
path = plugin_path("plugin://plugin.video.emby/", params)
|
||||
else:
|
||||
path = "library://video/emby/%s/%s.xml" % (viewid, nodetype)
|
||||
|
||||
|
|
Loading…
Reference in a new issue