Merge branch 'beta-version'
This commit is contained in:
commit
43a48ffcbe
6 changed files with 24 additions and 23 deletions
|
@ -1,5 +1,5 @@
|
||||||
[![stable version](https://img.shields.io/badge/stable_version-2.1.6-blue.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/stable/repository.plexkodiconnect/repository.plexkodiconnect-1.0.2.zip)
|
[![stable version](https://img.shields.io/badge/stable_version-2.1.6-blue.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/stable/repository.plexkodiconnect/repository.plexkodiconnect-1.0.2.zip)
|
||||||
[![beta version](https://img.shields.io/badge/beta_version-2.2.17-red.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/beta/repository.plexkodiconnectbeta/repository.plexkodiconnectbeta-1.0.2.zip)
|
[![beta version](https://img.shields.io/badge/beta_version-2.2.18-red.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/beta/repository.plexkodiconnectbeta/repository.plexkodiconnectbeta-1.0.2.zip)
|
||||||
|
|
||||||
[![Installation](https://img.shields.io/badge/wiki-installation-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/Installation)
|
[![Installation](https://img.shields.io/badge/wiki-installation-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/Installation)
|
||||||
[![FAQ](https://img.shields.io/badge/wiki-FAQ-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/faq)
|
[![FAQ](https://img.shields.io/badge/wiki-FAQ-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/faq)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<addon id="plugin.video.plexkodiconnect" name="PlexKodiConnect" version="2.2.17" provider-name="croneter">
|
<addon id="plugin.video.plexkodiconnect" name="PlexKodiConnect" version="2.2.18" provider-name="croneter">
|
||||||
<requires>
|
<requires>
|
||||||
<import addon="xbmc.python" version="2.1.0"/>
|
<import addon="xbmc.python" version="2.1.0"/>
|
||||||
<import addon="script.module.requests" version="2.9.1" />
|
<import addon="script.module.requests" version="2.9.1" />
|
||||||
|
@ -73,7 +73,11 @@
|
||||||
<summary lang="uk_UA">Нативна інтеграція Plex в Kodi</summary>
|
<summary lang="uk_UA">Нативна інтеграція Plex в Kodi</summary>
|
||||||
<description lang="uk_UA">Підключає Kodi до серверу Plex. Цей плагін передбачає, що ви керуєте всіма своїми відео за допомогою Plex (і ніяк не Kodi). Ви можете втратити дані, які вже зберігаються у відео та музичних БД Kodi (оскільки цей плагін безпосередньо їх змінює). Використовуйте на свій страх і ризик!</description>
|
<description lang="uk_UA">Підключає Kodi до серверу Plex. Цей плагін передбачає, що ви керуєте всіма своїми відео за допомогою Plex (і ніяк не Kodi). Ви можете втратити дані, які вже зберігаються у відео та музичних БД Kodi (оскільки цей плагін безпосередньо їх змінює). Використовуйте на свій страх і ризик!</description>
|
||||||
<disclaimer lang="uk_UA">Використовуйте на свій ризик</disclaimer>
|
<disclaimer lang="uk_UA">Використовуйте на свій ризик</disclaimer>
|
||||||
<news>version 2.2.17 (beta only):
|
<news>version 2.2.18 (beta only):
|
||||||
|
- Fix PKC tv show node "all"
|
||||||
|
- Move PKC playlist shortcut
|
||||||
|
|
||||||
|
version 2.2.17 (beta only):
|
||||||
- Access Plex Hubs. Listing will be different depending on Kodi section!
|
- Access Plex Hubs. Listing will be different depending on Kodi section!
|
||||||
- Fix year for songs missing
|
- Fix year for songs missing
|
||||||
- Fix Plex extras not playing
|
- Fix Plex extras not playing
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
version 2.2.18 (beta only):
|
||||||
|
- Fix PKC tv show node "all"
|
||||||
|
- Move PKC playlist shortcut
|
||||||
|
|
||||||
version 2.2.17 (beta only):
|
version 2.2.17 (beta only):
|
||||||
- Access Plex Hubs. Listing will be different depending on Kodi section!
|
- Access Plex Hubs. Listing will be different depending on Kodi section!
|
||||||
- Fix year for songs missing
|
- Fix year for songs missing
|
||||||
|
|
|
@ -137,7 +137,7 @@ class Main():
|
||||||
entrypoint.get_video_files(plexId, params)
|
entrypoint.get_video_files(plexId, params)
|
||||||
|
|
||||||
elif mode == 'playlists':
|
elif mode == 'playlists':
|
||||||
entrypoint.playlists(params.get('type'))
|
entrypoint.playlists(params.get('content_type'))
|
||||||
|
|
||||||
elif mode == 'hub':
|
elif mode == 'hub':
|
||||||
entrypoint.hub(params.get('type'))
|
entrypoint.hub(params.get('type'))
|
||||||
|
|
|
@ -152,6 +152,11 @@ def show_main_menu(content_type=None):
|
||||||
'homevideos',
|
'homevideos',
|
||||||
'musicvideos') and content_type == 'video':
|
'musicvideos') and content_type == 'video':
|
||||||
directory_item(label, path)
|
directory_item(label, path)
|
||||||
|
# Playlists
|
||||||
|
if content_type != 'image':
|
||||||
|
directory_item(utils.lang(136),
|
||||||
|
('plugin://%s?mode=playlists&content_type=%s'
|
||||||
|
% (v.ADDON_ID, content_type)))
|
||||||
# Plex Hub
|
# Plex Hub
|
||||||
directory_item('Plex Hub',
|
directory_item('Plex Hub',
|
||||||
'plugin://%s?mode=hub&type=%s' % (v.ADDON_ID, content_type))
|
'plugin://%s?mode=hub&type=%s' % (v.ADDON_ID, content_type))
|
||||||
|
@ -676,11 +681,12 @@ def on_deck_episodes(viewid, tagname, limit):
|
||||||
xbmcplugin.endOfDirectory(handle=int(argv[1]))
|
xbmcplugin.endOfDirectory(handle=int(argv[1]))
|
||||||
|
|
||||||
|
|
||||||
def playlists(plex_playlist_type):
|
def playlists(content_type):
|
||||||
"""
|
"""
|
||||||
Lists all Plex playlists of the media type plex_playlist_type
|
Lists all Plex playlists of the media type plex_playlist_type
|
||||||
|
content_type: 'audio', 'video'
|
||||||
"""
|
"""
|
||||||
LOG.debug('Listing Plex %s playlists', plex_playlist_type)
|
LOG.debug('Listing Plex %s playlists', content_type)
|
||||||
if not _wait_for_auth():
|
if not _wait_for_auth():
|
||||||
return
|
return
|
||||||
xbmcplugin.setContent(int(argv[1]), 'files')
|
xbmcplugin.setContent(int(argv[1]), 'files')
|
||||||
|
@ -690,7 +696,7 @@ def playlists(plex_playlist_type):
|
||||||
return
|
return
|
||||||
for item in xml:
|
for item in xml:
|
||||||
api = API(item)
|
api = API(item)
|
||||||
if not api.playlist_type() == plex_playlist_type:
|
if not api.playlist_type() == content_type:
|
||||||
continue
|
continue
|
||||||
listitem = ListItem(api.title())
|
listitem = ListItem(api.title())
|
||||||
listitem.setArt({'thumb': api.one_artwork('composite')})
|
listitem.setArt({'thumb': api.one_artwork('composite')})
|
||||||
|
|
|
@ -137,7 +137,6 @@ class VideoNodes(object):
|
||||||
'11': "recommended",
|
'11': "recommended",
|
||||||
'12': "ondeck",
|
'12': "ondeck",
|
||||||
'13': 'browsefiles',
|
'13': 'browsefiles',
|
||||||
'14': 'playlists'
|
|
||||||
}
|
}
|
||||||
mediatypes = {
|
mediatypes = {
|
||||||
# label according to nodetype per mediatype
|
# label according to nodetype per mediatype
|
||||||
|
@ -153,7 +152,6 @@ class VideoNodes(object):
|
||||||
'11': 30230,
|
'11': 30230,
|
||||||
'12': 39500,
|
'12': 39500,
|
||||||
'13': 39702,
|
'13': 39702,
|
||||||
'14': 136
|
|
||||||
},
|
},
|
||||||
|
|
||||||
'tvshows':
|
'tvshows':
|
||||||
|
@ -169,7 +167,6 @@ class VideoNodes(object):
|
||||||
# '11': 30230,
|
# '11': 30230,
|
||||||
'12': 39500,
|
'12': 39500,
|
||||||
'13': 39702,
|
'13': 39702,
|
||||||
'14': 136
|
|
||||||
},
|
},
|
||||||
|
|
||||||
'homevideos':
|
'homevideos':
|
||||||
|
@ -205,7 +202,6 @@ class VideoNodes(object):
|
||||||
'2': 517, # Recently played albums
|
'2': 517, # Recently played albums
|
||||||
'2': 359, # Recently added albums
|
'2': 359, # Recently added albums
|
||||||
'13': 39702, # browse by folder
|
'13': 39702, # browse by folder
|
||||||
'14': 136 # Playlists
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -224,7 +220,6 @@ class VideoNodes(object):
|
||||||
'11': '5', # "recommended",
|
'11': '5', # "recommended",
|
||||||
'12': '1', # "ondeck"
|
'12': '1', # "ondeck"
|
||||||
'13': '9', # browse by folder
|
'13': '9', # browse by folder
|
||||||
'14': '10' # Playlists
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nodes = mediatypes[mediatype]
|
nodes = mediatypes[mediatype]
|
||||||
|
@ -270,12 +265,6 @@ class VideoNodes(object):
|
||||||
nodetype = 'inprogress'
|
nodetype = 'inprogress'
|
||||||
elif nodetype == 'browsefiles':
|
elif nodetype == 'browsefiles':
|
||||||
path = 'plugin://plugin.video.plexkodiconnect?mode=browseplex&key=/library/sections/%s/folder' % viewid
|
path = 'plugin://plugin.video.plexkodiconnect?mode=browseplex&key=/library/sections/%s/folder' % viewid
|
||||||
elif nodetype == 'playlists':
|
|
||||||
path = 'plugin://plugin.video.plexkodiconnect?mode=playlists'
|
|
||||||
if mediatype in ('movies', 'tvshows', 'homevideos'):
|
|
||||||
path += '&type=%s' % v.PLEX_TYPE_VIDEO_PLAYLIST
|
|
||||||
else:
|
|
||||||
path += '&type=%s' % v.PLEX_TYPE_AUDIO_PLAYLIST
|
|
||||||
else:
|
else:
|
||||||
path = "library://video/Plex-%s/%s_%s.xml" % (dirname, viewid, nodetype)
|
path = "library://video/Plex-%s/%s_%s.xml" % (dirname, viewid, nodetype)
|
||||||
|
|
||||||
|
@ -320,8 +309,7 @@ class VideoNodes(object):
|
||||||
if (nodetype in ("nextepisodes",
|
if (nodetype in ("nextepisodes",
|
||||||
"ondeck",
|
"ondeck",
|
||||||
'recentepisodes',
|
'recentepisodes',
|
||||||
'browsefiles',
|
'browsefiles') or mediatype == "homevideos"):
|
||||||
'playlists') or mediatype == "homevideos"):
|
|
||||||
# Folder type with plugin path
|
# Folder type with plugin path
|
||||||
root = self.commonRoot(order=sortorder[node],
|
root = self.commonRoot(order=sortorder[node],
|
||||||
label=label,
|
label=label,
|
||||||
|
@ -332,7 +320,7 @@ class VideoNodes(object):
|
||||||
label=label,
|
label=label,
|
||||||
tagname=tagname)
|
tagname=tagname)
|
||||||
# Set the content type
|
# Set the content type
|
||||||
if mediatype == 'tvshows':
|
if mediatype == 'tvshows' and nodetype != 'all':
|
||||||
etree.SubElement(root, 'content').text = 'episodes'
|
etree.SubElement(root, 'content').text = 'episodes'
|
||||||
else:
|
else:
|
||||||
etree.SubElement(root, 'content').text = mediatype
|
etree.SubElement(root, 'content').text = mediatype
|
||||||
|
@ -340,8 +328,7 @@ class VideoNodes(object):
|
||||||
if (nodetype in ("nextepisodes",
|
if (nodetype in ("nextepisodes",
|
||||||
"ondeck",
|
"ondeck",
|
||||||
'recentepisodes',
|
'recentepisodes',
|
||||||
'browsefiles',
|
'browsefiles') or mediatype == "homevideos"):
|
||||||
'playlists') or mediatype == "homevideos"):
|
|
||||||
etree.SubElement(root, 'path').text = path
|
etree.SubElement(root, 'path').text = path
|
||||||
else:
|
else:
|
||||||
# Elements per nodetype
|
# Elements per nodetype
|
||||||
|
|
Loading…
Add table
Reference in a new issue