parent
7be7fe7e01
commit
0d96f6bf4f
5 changed files with 47 additions and 28 deletions
|
@ -391,7 +391,7 @@
|
||||||
<string id="39045">Appearance Tweaks</string>
|
<string id="39045">Appearance Tweaks</string>
|
||||||
<string id="39046">TV Shows</string>
|
<string id="39046">TV Shows</string>
|
||||||
<string id="39047">On Deck: Append show title to episode</string>
|
<string id="39047">On Deck: Append show title to episode</string>
|
||||||
<string id="39048">On Deck: Append season- and episode-number (e.g. S3E2)</string>
|
<string id="39048">On Deck: Append season- and episode-number SxxExx</string>
|
||||||
<string id="39049">Nothing works? Try a full reset!</string>
|
<string id="39049">Nothing works? Try a full reset!</string>
|
||||||
<string id="39050">[COLOR yellow]Choose Plex Server from a list[/COLOR]</string>
|
<string id="39050">[COLOR yellow]Choose Plex Server from a list[/COLOR]</string>
|
||||||
<string id="39051">Wait before sync new/changed PMS item [s]</string>
|
<string id="39051">Wait before sync new/changed PMS item [s]</string>
|
||||||
|
@ -402,6 +402,8 @@
|
||||||
<string id="39056">Used by Sync and when attempting to Direct Play</string>
|
<string id="39056">Used by Sync and when attempting to Direct Play</string>
|
||||||
<string id="39057">Customize Paths</string>
|
<string id="39057">Customize Paths</string>
|
||||||
<string id="39058">Extend Plex TV Series "On Deck" view to all shows</string>
|
<string id="39058">Extend Plex TV Series "On Deck" view to all shows</string>
|
||||||
|
<string id="39059">Recently Added: Append show title to episode</string>
|
||||||
|
<string id="39060">Recently Added: Append season- and episode-number SxxExx</string>
|
||||||
|
|
||||||
<!-- Plex Entrypoint.py -->
|
<!-- Plex Entrypoint.py -->
|
||||||
<string id="39200">Log-out Plex Home User </string>
|
<string id="39200">Log-out Plex Home User </string>
|
||||||
|
|
|
@ -329,7 +329,7 @@
|
||||||
<string id="39045">Erscheinung</string>
|
<string id="39045">Erscheinung</string>
|
||||||
<string id="39046">TV Serien</string>
|
<string id="39046">TV Serien</string>
|
||||||
<string id="39047">"Aktuell": Serien- an Episoden-Titel anfügen</string>
|
<string id="39047">"Aktuell": Serien- an Episoden-Titel anfügen</string>
|
||||||
<string id="39048">"Aktuell": Staffel und Episode anfügen (z.B. S3E2)</string>
|
<string id="39048">"Aktuell": Staffel und Episode anfügen, SxxExx</string>
|
||||||
<string id="39049">Nichts funktioniert? Setze mal alles zurück!</string>
|
<string id="39049">Nichts funktioniert? Setze mal alles zurück!</string>
|
||||||
<string id="39050">[COLOR yellow]Plex Server aus Liste auswählen[/COLOR]</string>
|
<string id="39050">[COLOR yellow]Plex Server aus Liste auswählen[/COLOR]</string>
|
||||||
<string id="39051">Warten bevor neue/geänderte PMS Einträge gesynct werden [s]</string>
|
<string id="39051">Warten bevor neue/geänderte PMS Einträge gesynct werden [s]</string>
|
||||||
|
@ -340,6 +340,8 @@
|
||||||
<string id="39056">Verwendet für Synchronisierung sowie beim Versuch, Direct Play zu nutzen</string>
|
<string id="39056">Verwendet für Synchronisierung sowie beim Versuch, Direct Play zu nutzen</string>
|
||||||
<string id="39057">Pfade ändern</string>
|
<string id="39057">Pfade ändern</string>
|
||||||
<string id="39058">Standard Plex Ansicht "Aktuell" auf alle TV Shows erweitern</string>
|
<string id="39058">Standard Plex Ansicht "Aktuell" auf alle TV Shows erweitern</string>
|
||||||
|
<string id="39059">"Zuletzt hinzugefügt": Serien- an Episoden-Titel anfügen</string>
|
||||||
|
<string id="39060">"Zuletzt hinzugefügt": Staffel und Episode anfügen, SxxExx</string>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2122,12 +2122,15 @@ class API():
|
||||||
self.logMsg('Found external subs: %s' % externalsubs)
|
self.logMsg('Found external subs: %s' % externalsubs)
|
||||||
return externalsubs
|
return externalsubs
|
||||||
|
|
||||||
def CreateListItemFromPlexItem(self, listItem=None):
|
def CreateListItemFromPlexItem(self, listItem=None,
|
||||||
|
appendShowTitle=False, appendSxxExx=False):
|
||||||
"""
|
"""
|
||||||
Call on a child level of PMS xml response (e.g. in a for loop)
|
Call on a child level of PMS xml response (e.g. in a for loop)
|
||||||
|
|
||||||
listItem: existing xbmcgui.ListItem to work with
|
listItem : existing xbmcgui.ListItem to work with
|
||||||
otherwise, a new one is created
|
otherwise, a new one is created
|
||||||
|
appendShowTitle : True to append TV show title to episode title
|
||||||
|
appendSxxExx : True to append SxxExx to episode title
|
||||||
|
|
||||||
Returns XBMC listitem for this PMS library item
|
Returns XBMC listitem for this PMS library item
|
||||||
"""
|
"""
|
||||||
|
@ -2147,7 +2150,6 @@ class API():
|
||||||
'cast': people['Cast'],
|
'cast': people['Cast'],
|
||||||
'director': self.joinList(people.get('Director')),
|
'director': self.joinList(people.get('Director')),
|
||||||
'plot': self.getPlot(),
|
'plot': self.getPlot(),
|
||||||
'title': title,
|
|
||||||
'sorttitle': sorttitle,
|
'sorttitle': sorttitle,
|
||||||
'duration': userdata['Runtime'],
|
'duration': userdata['Runtime'],
|
||||||
'studio': self.joinList(self.getStudios()),
|
'studio': self.joinList(self.getStudios()),
|
||||||
|
@ -2171,7 +2173,11 @@ class API():
|
||||||
if season and episode:
|
if season and episode:
|
||||||
listItem.setProperty('episodeno',
|
listItem.setProperty('episodeno',
|
||||||
"s%.2de%.2d" % (season, episode))
|
"s%.2de%.2d" % (season, episode))
|
||||||
|
if appendSxxExx is True:
|
||||||
|
title = "S%.2dE%.2d - %s" % (season, episode, title)
|
||||||
listItem.setIconImage('DefaultTVShows.png')
|
listItem.setIconImage('DefaultTVShows.png')
|
||||||
|
if appendShowTitle is True:
|
||||||
|
title = show + ' - ' + title
|
||||||
elif self.getType() == "movie":
|
elif self.getType() == "movie":
|
||||||
listItem.setIconImage('DefaultMovies.png')
|
listItem.setIconImage('DefaultMovies.png')
|
||||||
else:
|
else:
|
||||||
|
@ -2188,6 +2194,8 @@ class API():
|
||||||
except TypeError:
|
except TypeError:
|
||||||
pass
|
pass
|
||||||
# Expensive operation
|
# Expensive operation
|
||||||
|
metadata['title'] = title
|
||||||
|
listItem.setLabel(title)
|
||||||
listItem.setInfo('video', infoLabels=metadata)
|
listItem.setInfo('video', infoLabels=metadata)
|
||||||
return listItem
|
return listItem
|
||||||
|
|
||||||
|
|
|
@ -975,15 +975,12 @@ def BrowseChannels(itemid, folderid=None):
|
||||||
xbmcplugin.endOfDirectory(handle=int(sys.argv[1]))
|
xbmcplugin.endOfDirectory(handle=int(sys.argv[1]))
|
||||||
|
|
||||||
##### LISTITEM SETUP FOR VIDEONODES #####
|
##### LISTITEM SETUP FOR VIDEONODES #####
|
||||||
def createListItem(item):
|
def createListItem(item, appendShowTitle=False, appendSxxExx=False):
|
||||||
|
|
||||||
title = item['title']
|
title = item['title']
|
||||||
li = xbmcgui.ListItem(title)
|
li = xbmcgui.ListItem(title)
|
||||||
li.setProperty('IsPlayable', "true")
|
li.setProperty('IsPlayable', "true")
|
||||||
|
|
||||||
metadata = {
|
|
||||||
|
|
||||||
'Title': title,
|
metadata = {
|
||||||
'duration': str(item['runtime']/60),
|
'duration': str(item['runtime']/60),
|
||||||
'Plot': item['plot'],
|
'Plot': item['plot'],
|
||||||
'Playcount': item['playcount']
|
'Playcount': item['playcount']
|
||||||
|
@ -999,12 +996,16 @@ def createListItem(item):
|
||||||
|
|
||||||
if season and episode:
|
if season and episode:
|
||||||
li.setProperty('episodeno', "s%.2de%.2d" % (season, episode))
|
li.setProperty('episodeno', "s%.2de%.2d" % (season, episode))
|
||||||
|
if appendSxxExx is True:
|
||||||
|
title = "S%.2dE%.2d - %s" % (season, episode, title)
|
||||||
|
|
||||||
if "firstaired" in item:
|
if "firstaired" in item:
|
||||||
metadata['Premiered'] = item['firstaired']
|
metadata['Premiered'] = item['firstaired']
|
||||||
|
|
||||||
if "showtitle" in item:
|
if "showtitle" in item:
|
||||||
metadata['TVshowTitle'] = item['showtitle']
|
metadata['TVshowTitle'] = item['showtitle']
|
||||||
|
if appendShowTitle is True:
|
||||||
|
title = item['showtitle'] + ' - ' + title
|
||||||
|
|
||||||
if "rating" in item:
|
if "rating" in item:
|
||||||
metadata['Rating'] = str(round(float(item['rating']),1))
|
metadata['Rating'] = str(round(float(item['rating']),1))
|
||||||
|
@ -1025,6 +1026,9 @@ def createListItem(item):
|
||||||
metadata['Cast'] = cast
|
metadata['Cast'] = cast
|
||||||
metadata['CastAndRole'] = castandrole
|
metadata['CastAndRole'] = castandrole
|
||||||
|
|
||||||
|
metadata['Title'] = title
|
||||||
|
li.setLabel(title)
|
||||||
|
|
||||||
li.setInfo(type="Video", infoLabels=metadata)
|
li.setInfo(type="Video", infoLabels=metadata)
|
||||||
li.setProperty('resumetime', str(item['resume']['position']))
|
li.setProperty('resumetime', str(item['resume']['position']))
|
||||||
li.setProperty('totaltime', str(item['resume']['total']))
|
li.setProperty('totaltime', str(item['resume']['total']))
|
||||||
|
@ -1215,6 +1219,10 @@ def getRecentEpisodes(viewid, mediatype, tagname, limit):
|
||||||
# if the addon is called with recentepisodes parameter,
|
# if the addon is called with recentepisodes parameter,
|
||||||
# we return the recentepisodes list of the given tagname
|
# we return the recentepisodes list of the given tagname
|
||||||
xbmcplugin.setContent(int(sys.argv[1]), 'episodes')
|
xbmcplugin.setContent(int(sys.argv[1]), 'episodes')
|
||||||
|
appendShowTitle = True if \
|
||||||
|
utils.settings('RecentTvAppendShow') == 'true' else False
|
||||||
|
appendSxxExx = True if \
|
||||||
|
utils.settings('RecentTvAppendSeason') == 'true' else False
|
||||||
# First we get a list of all the TV shows - filtered by tag
|
# First we get a list of all the TV shows - filtered by tag
|
||||||
query = {
|
query = {
|
||||||
'jsonrpc': "2.0",
|
'jsonrpc': "2.0",
|
||||||
|
@ -1263,7 +1271,9 @@ def getRecentEpisodes(viewid, mediatype, tagname, limit):
|
||||||
else:
|
else:
|
||||||
for episode in episodes:
|
for episode in episodes:
|
||||||
if episode['tvshowid'] in allshowsIds:
|
if episode['tvshowid'] in allshowsIds:
|
||||||
li = createListItem(episode)
|
li = createListItem(episode,
|
||||||
|
appendShowTitle=appendShowTitle,
|
||||||
|
appendSxxExx=appendSxxExx)
|
||||||
xbmcplugin.addDirectoryItem(
|
xbmcplugin.addDirectoryItem(
|
||||||
handle=int(sys.argv[1]),
|
handle=int(sys.argv[1]),
|
||||||
url=episode['file'],
|
url=episode['file'],
|
||||||
|
@ -1484,6 +1494,10 @@ def getOnDeck(viewid, mediatype, tagname, limit):
|
||||||
limit: Max. number of items to retrieve, e.g. 50
|
limit: Max. number of items to retrieve, e.g. 50
|
||||||
"""
|
"""
|
||||||
xbmcplugin.setContent(int(sys.argv[1]), 'episodes')
|
xbmcplugin.setContent(int(sys.argv[1]), 'episodes')
|
||||||
|
appendShowTitle = True if \
|
||||||
|
utils.settings('OnDeckTvAppendShow') == 'true' else False
|
||||||
|
appendSxxExx = True if \
|
||||||
|
utils.settings('OnDeckTvAppendSeason') == 'true' else False
|
||||||
if utils.settings('OnDeckTVextended') == 'false':
|
if utils.settings('OnDeckTVextended') == 'false':
|
||||||
# Chances are that this view is used on Kodi startup
|
# Chances are that this view is used on Kodi startup
|
||||||
# Wait till we've connected to a PMS. At most 30s
|
# Wait till we've connected to a PMS. At most 30s
|
||||||
|
@ -1503,7 +1517,9 @@ def getOnDeck(viewid, mediatype, tagname, limit):
|
||||||
}
|
}
|
||||||
for item in xml:
|
for item in xml:
|
||||||
API = PlexAPI.API(item)
|
API = PlexAPI.API(item)
|
||||||
listitem = API.CreateListItemFromPlexItem()
|
listitem = API.CreateListItemFromPlexItem(
|
||||||
|
appendShowTitle=appendShowTitle,
|
||||||
|
appendSxxExx=appendSxxExx)
|
||||||
API.AddStreamInfo(listitem)
|
API.AddStreamInfo(listitem)
|
||||||
pbutils.PlaybackUtils(item).setArtwork(listitem)
|
pbutils.PlaybackUtils(item).setArtwork(listitem)
|
||||||
params['id'] = API.getRatingKey()
|
params['id'] = API.getRatingKey()
|
||||||
|
@ -1606,20 +1622,9 @@ def getOnDeck(viewid, mediatype, tagname, limit):
|
||||||
continue
|
continue
|
||||||
for episode in episodes:
|
for episode in episodes:
|
||||||
# There will always be only 1 episode ('limit=1')
|
# There will always be only 1 episode ('limit=1')
|
||||||
li = createListItem(episode)
|
li = createListItem(episode,
|
||||||
# Fix some skin shortcomings
|
appendShowTitle=appendShowTitle,
|
||||||
title = episode.get('title', '')
|
appendSxxExx=appendSxxExx)
|
||||||
if utils.settings('OnDeckTvAppendSeason') == 'true':
|
|
||||||
seasonid = episode.get('season')
|
|
||||||
episodeid = episode.get('episode')
|
|
||||||
if seasonid and episodeid:
|
|
||||||
title = ('S' + str(seasonid) + 'E' + str(episodeid)
|
|
||||||
+ ' - ' + title)
|
|
||||||
if utils.settings('OnDeckTvAppendShow') == 'true':
|
|
||||||
show = episode.get('showtitle')
|
|
||||||
if show:
|
|
||||||
title = show + ' - ' + title
|
|
||||||
li.setLabel(title)
|
|
||||||
xbmcplugin.addDirectoryItem(
|
xbmcplugin.addDirectoryItem(
|
||||||
handle=int(sys.argv[1]),
|
handle=int(sys.argv[1]),
|
||||||
url=episode['file'],
|
url=episode['file'],
|
||||||
|
|
|
@ -127,10 +127,12 @@
|
||||||
|
|
||||||
<category label="39045"><!-- Appearance Tweaks -->
|
<category label="39045"><!-- Appearance Tweaks -->
|
||||||
<setting id="connectMsg" type="bool" label="30249" default="true" />
|
<setting id="connectMsg" type="bool" label="30249" default="true" />
|
||||||
<setting type="lsep" label="39046" />
|
<setting type="lsep" label="39046" /><!-- TV Shows -->
|
||||||
<setting id="OnDeckTVextended" type="bool" label="39058" default="true" /><!-- Extend Plex TV Series "On Deck" view to all shows -->
|
<setting id="OnDeckTVextended" type="bool" label="39058" default="true" /><!-- Extend Plex TV Series "On Deck" view to all shows -->
|
||||||
<setting id="OnDeckTvAppendShow" type="bool" label="39047" default="false" /><!--On Deck view: Append show title to episode-->
|
<setting id="OnDeckTvAppendShow" type="bool" label="39047" default="false" /><!--On Deck view: Append show title to episode-->
|
||||||
<setting id="OnDeckTvAppendSeason" type="bool" label="39048" default="false" /><!--On Deck view: Append season number to episode-->
|
<setting id="OnDeckTvAppendSeason" type="bool" label="39048" default="false" /><!--On Deck view: Append season number to episode-->
|
||||||
|
<setting id="RecentTvAppendShow" type="bool" label="39059" default="false" /><!--Recently added: Append show title to episode-->
|
||||||
|
<setting id="RecentTvAppendSeason" type="bool" label="39060" default="false" /><!--Recently Added: Append season- and episode-number SxxExx-->
|
||||||
</category>
|
</category>
|
||||||
|
|
||||||
<category label="30022"><!-- Advanced -->
|
<category label="30022"><!-- Advanced -->
|
||||||
|
|
Loading…
Reference in a new issue