mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-11 15:56:07 -07:00
More Live TV fixes
This commit is contained in:
parent
91da41ff86
commit
c6cfb4a020
1 changed files with 34 additions and 34 deletions
|
@ -776,7 +776,7 @@ class PmsConnect(object):
|
||||||
|
|
||||||
elif metadata_type == 'season':
|
elif metadata_type == 'season':
|
||||||
parent_rating_key = helpers.get_xml_attr(metadata_main, 'parentRatingKey')
|
parent_rating_key = helpers.get_xml_attr(metadata_main, 'parentRatingKey')
|
||||||
show_details = self.get_metadata_details(parent_rating_key)
|
show_details = self.get_metadata_details(parent_rating_key) if parent_rating_key else {}
|
||||||
metadata = {'media_type': metadata_type,
|
metadata = {'media_type': metadata_type,
|
||||||
'section_id': section_id,
|
'section_id': section_id,
|
||||||
'library_name': library_name,
|
'library_name': library_name,
|
||||||
|
@ -790,22 +790,22 @@ class PmsConnect(object):
|
||||||
'sort_title': helpers.get_xml_attr(metadata_main, 'titleSort'),
|
'sort_title': helpers.get_xml_attr(metadata_main, 'titleSort'),
|
||||||
'media_index': helpers.get_xml_attr(metadata_main, 'index'),
|
'media_index': helpers.get_xml_attr(metadata_main, 'index'),
|
||||||
'parent_media_index': helpers.get_xml_attr(metadata_main, 'parentIndex'),
|
'parent_media_index': helpers.get_xml_attr(metadata_main, 'parentIndex'),
|
||||||
'studio': show_details['studio'],
|
'studio': show_details.get('studio', ''),
|
||||||
'content_rating': show_details['content_rating'],
|
'content_rating': show_details.get('content_rating', ''),
|
||||||
'summary': show_details['summary'],
|
'summary': show_details.get('summary', ''),
|
||||||
'tagline': helpers.get_xml_attr(metadata_main, 'tagline'),
|
'tagline': helpers.get_xml_attr(metadata_main, 'tagline'),
|
||||||
'rating': helpers.get_xml_attr(metadata_main, 'rating'),
|
'rating': helpers.get_xml_attr(metadata_main, 'rating'),
|
||||||
'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'),
|
'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'),
|
||||||
'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'),
|
'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'),
|
||||||
'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'),
|
'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'),
|
||||||
'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'),
|
'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'),
|
||||||
'duration': show_details['duration'],
|
'duration': show_details.get('duration', ''),
|
||||||
'year': helpers.get_xml_attr(metadata_main, 'year'),
|
'year': helpers.get_xml_attr(metadata_main, 'year'),
|
||||||
'thumb': helpers.get_xml_attr(metadata_main, 'thumb'),
|
'thumb': helpers.get_xml_attr(metadata_main, 'thumb'),
|
||||||
'parent_thumb': helpers.get_xml_attr(metadata_main, 'parentThumb'),
|
'parent_thumb': helpers.get_xml_attr(metadata_main, 'parentThumb'),
|
||||||
'grandparent_thumb': helpers.get_xml_attr(metadata_main, 'grandparentThumb'),
|
'grandparent_thumb': helpers.get_xml_attr(metadata_main, 'grandparentThumb'),
|
||||||
'art': helpers.get_xml_attr(metadata_main, 'art'),
|
'art': helpers.get_xml_attr(metadata_main, 'art'),
|
||||||
'banner': show_details['banner'],
|
'banner': show_details.get('banner', ''),
|
||||||
'originally_available_at': helpers.get_xml_attr(metadata_main, 'originallyAvailableAt'),
|
'originally_available_at': helpers.get_xml_attr(metadata_main, 'originallyAvailableAt'),
|
||||||
'added_at': helpers.get_xml_attr(metadata_main, 'addedAt'),
|
'added_at': helpers.get_xml_attr(metadata_main, 'addedAt'),
|
||||||
'updated_at': helpers.get_xml_attr(metadata_main, 'updatedAt'),
|
'updated_at': helpers.get_xml_attr(metadata_main, 'updatedAt'),
|
||||||
|
@ -813,12 +813,12 @@ class PmsConnect(object):
|
||||||
'guid': helpers.get_xml_attr(metadata_main, 'guid'),
|
'guid': helpers.get_xml_attr(metadata_main, 'guid'),
|
||||||
'parent_guid': helpers.get_xml_attr(metadata_main, 'parentGuid'),
|
'parent_guid': helpers.get_xml_attr(metadata_main, 'parentGuid'),
|
||||||
'grandparent_guid': helpers.get_xml_attr(metadata_main, 'grandparentGuid'),
|
'grandparent_guid': helpers.get_xml_attr(metadata_main, 'grandparentGuid'),
|
||||||
'directors': show_details['directors'],
|
'directors': show_details.get('directors', []),
|
||||||
'writers': show_details['writers'],
|
'writers': show_details.get('writers', []),
|
||||||
'actors': show_details['actors'],
|
'actors': show_details.get('actors', []),
|
||||||
'genres': show_details['genres'],
|
'genres': show_details.get('genres', []),
|
||||||
'labels': show_details['labels'],
|
'labels': show_details.get('labels', []),
|
||||||
'collections': show_details['collections'],
|
'collections': show_details.get('collections', []),
|
||||||
'full_title': u'{} - {}'.format(helpers.get_xml_attr(metadata_main, 'parentTitle'),
|
'full_title': u'{} - {}'.format(helpers.get_xml_attr(metadata_main, 'parentTitle'),
|
||||||
helpers.get_xml_attr(metadata_main, 'title')),
|
helpers.get_xml_attr(metadata_main, 'title')),
|
||||||
'children_count': helpers.get_xml_attr(metadata_main, 'leafCount')
|
'children_count': helpers.get_xml_attr(metadata_main, 'leafCount')
|
||||||
|
@ -826,7 +826,7 @@ class PmsConnect(object):
|
||||||
|
|
||||||
elif metadata_type == 'episode':
|
elif metadata_type == 'episode':
|
||||||
grandparent_rating_key = helpers.get_xml_attr(metadata_main, 'grandparentRatingKey')
|
grandparent_rating_key = helpers.get_xml_attr(metadata_main, 'grandparentRatingKey')
|
||||||
show_details = self.get_metadata_details(grandparent_rating_key)
|
show_details = self.get_metadata_details(grandparent_rating_key) if grandparent_rating_key else {}
|
||||||
|
|
||||||
parent_rating_key = helpers.get_xml_attr(metadata_main, 'parentRatingKey')
|
parent_rating_key = helpers.get_xml_attr(metadata_main, 'parentRatingKey')
|
||||||
parent_media_index = helpers.get_xml_attr(metadata_main, 'parentIndex')
|
parent_media_index = helpers.get_xml_attr(metadata_main, 'parentIndex')
|
||||||
|
@ -838,7 +838,7 @@ class PmsConnect(object):
|
||||||
parent_rating_key = parent_thumb.split('/')[3]
|
parent_rating_key = parent_thumb.split('/')[3]
|
||||||
|
|
||||||
# Try getting the parent_rating_key from the grandparent's children
|
# Try getting the parent_rating_key from the grandparent's children
|
||||||
if not parent_rating_key:
|
if not parent_rating_key and grandparent_rating_key:
|
||||||
children_list = self.get_item_children(grandparent_rating_key)
|
children_list = self.get_item_children(grandparent_rating_key)
|
||||||
parent_rating_key = next((c['rating_key'] for c in children_list['children_list']
|
parent_rating_key = next((c['rating_key'] for c in children_list['children_list']
|
||||||
if c['media_index'] == parent_media_index), '')
|
if c['media_index'] == parent_media_index), '')
|
||||||
|
@ -856,7 +856,7 @@ class PmsConnect(object):
|
||||||
'sort_title': helpers.get_xml_attr(metadata_main, 'titleSort'),
|
'sort_title': helpers.get_xml_attr(metadata_main, 'titleSort'),
|
||||||
'media_index': helpers.get_xml_attr(metadata_main, 'index'),
|
'media_index': helpers.get_xml_attr(metadata_main, 'index'),
|
||||||
'parent_media_index': parent_media_index,
|
'parent_media_index': parent_media_index,
|
||||||
'studio': show_details['studio'],
|
'studio': show_details.get('studio', ''),
|
||||||
'content_rating': helpers.get_xml_attr(metadata_main, 'contentRating'),
|
'content_rating': helpers.get_xml_attr(metadata_main, 'contentRating'),
|
||||||
'summary': helpers.get_xml_attr(metadata_main, 'summary'),
|
'summary': helpers.get_xml_attr(metadata_main, 'summary'),
|
||||||
'tagline': helpers.get_xml_attr(metadata_main, 'tagline'),
|
'tagline': helpers.get_xml_attr(metadata_main, 'tagline'),
|
||||||
|
@ -871,7 +871,7 @@ class PmsConnect(object):
|
||||||
'parent_thumb': parent_thumb,
|
'parent_thumb': parent_thumb,
|
||||||
'grandparent_thumb': helpers.get_xml_attr(metadata_main, 'grandparentThumb'),
|
'grandparent_thumb': helpers.get_xml_attr(metadata_main, 'grandparentThumb'),
|
||||||
'art': helpers.get_xml_attr(metadata_main, 'art'),
|
'art': helpers.get_xml_attr(metadata_main, 'art'),
|
||||||
'banner': show_details['banner'],
|
'banner': show_details.get('banner', ''),
|
||||||
'originally_available_at': helpers.get_xml_attr(metadata_main, 'originallyAvailableAt'),
|
'originally_available_at': helpers.get_xml_attr(metadata_main, 'originallyAvailableAt'),
|
||||||
'added_at': helpers.get_xml_attr(metadata_main, 'addedAt'),
|
'added_at': helpers.get_xml_attr(metadata_main, 'addedAt'),
|
||||||
'updated_at': helpers.get_xml_attr(metadata_main, 'updatedAt'),
|
'updated_at': helpers.get_xml_attr(metadata_main, 'updatedAt'),
|
||||||
|
@ -881,10 +881,10 @@ class PmsConnect(object):
|
||||||
'grandparent_guid': helpers.get_xml_attr(metadata_main, 'grandparentGuid'),
|
'grandparent_guid': helpers.get_xml_attr(metadata_main, 'grandparentGuid'),
|
||||||
'directors': directors,
|
'directors': directors,
|
||||||
'writers': writers,
|
'writers': writers,
|
||||||
'actors': show_details['actors'],
|
'actors': show_details.get('actors', []),
|
||||||
'genres': show_details['genres'],
|
'genres': show_details.get('genres', []),
|
||||||
'labels': show_details['labels'],
|
'labels': show_details.get('labels', []),
|
||||||
'collections': show_details['collections'],
|
'collections': show_details.get('collections', []),
|
||||||
'full_title': u'{} - {}'.format(helpers.get_xml_attr(metadata_main, 'grandparentTitle'),
|
'full_title': u'{} - {}'.format(helpers.get_xml_attr(metadata_main, 'grandparentTitle'),
|
||||||
helpers.get_xml_attr(metadata_main, 'title')),
|
helpers.get_xml_attr(metadata_main, 'title')),
|
||||||
'children_count': helpers.get_xml_attr(metadata_main, 'leafCount')
|
'children_count': helpers.get_xml_attr(metadata_main, 'leafCount')
|
||||||
|
@ -939,7 +939,7 @@ class PmsConnect(object):
|
||||||
|
|
||||||
elif metadata_type == 'album':
|
elif metadata_type == 'album':
|
||||||
parent_rating_key = helpers.get_xml_attr(metadata_main, 'parentRatingKey')
|
parent_rating_key = helpers.get_xml_attr(metadata_main, 'parentRatingKey')
|
||||||
artist_details = self.get_metadata_details(parent_rating_key)
|
artist_details = self.get_metadata_details(parent_rating_key) if parent_rating_key else {}
|
||||||
metadata = {'media_type': metadata_type,
|
metadata = {'media_type': metadata_type,
|
||||||
'section_id': section_id,
|
'section_id': section_id,
|
||||||
'library_name': library_name,
|
'library_name': library_name,
|
||||||
|
@ -955,7 +955,7 @@ class PmsConnect(object):
|
||||||
'parent_media_index': helpers.get_xml_attr(metadata_main, 'parentIndex'),
|
'parent_media_index': helpers.get_xml_attr(metadata_main, 'parentIndex'),
|
||||||
'studio': helpers.get_xml_attr(metadata_main, 'studio'),
|
'studio': helpers.get_xml_attr(metadata_main, 'studio'),
|
||||||
'content_rating': helpers.get_xml_attr(metadata_main, 'contentRating'),
|
'content_rating': helpers.get_xml_attr(metadata_main, 'contentRating'),
|
||||||
'summary': helpers.get_xml_attr(metadata_main, 'summary') or artist_details['summary'],
|
'summary': helpers.get_xml_attr(metadata_main, 'summary') or artist_details.get('summary', ''),
|
||||||
'tagline': helpers.get_xml_attr(metadata_main, 'tagline'),
|
'tagline': helpers.get_xml_attr(metadata_main, 'tagline'),
|
||||||
'rating': helpers.get_xml_attr(metadata_main, 'rating'),
|
'rating': helpers.get_xml_attr(metadata_main, 'rating'),
|
||||||
'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'),
|
'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'),
|
||||||
|
@ -968,7 +968,7 @@ class PmsConnect(object):
|
||||||
'parent_thumb': helpers.get_xml_attr(metadata_main, 'parentThumb'),
|
'parent_thumb': helpers.get_xml_attr(metadata_main, 'parentThumb'),
|
||||||
'grandparent_thumb': helpers.get_xml_attr(metadata_main, 'grandparentThumb'),
|
'grandparent_thumb': helpers.get_xml_attr(metadata_main, 'grandparentThumb'),
|
||||||
'art': helpers.get_xml_attr(metadata_main, 'art'),
|
'art': helpers.get_xml_attr(metadata_main, 'art'),
|
||||||
'banner': artist_details['banner'],
|
'banner': artist_details.get('banner', ''),
|
||||||
'originally_available_at': helpers.get_xml_attr(metadata_main, 'originallyAvailableAt'),
|
'originally_available_at': helpers.get_xml_attr(metadata_main, 'originallyAvailableAt'),
|
||||||
'added_at': helpers.get_xml_attr(metadata_main, 'addedAt'),
|
'added_at': helpers.get_xml_attr(metadata_main, 'addedAt'),
|
||||||
'updated_at': helpers.get_xml_attr(metadata_main, 'updatedAt'),
|
'updated_at': helpers.get_xml_attr(metadata_main, 'updatedAt'),
|
||||||
|
@ -989,7 +989,7 @@ class PmsConnect(object):
|
||||||
|
|
||||||
elif metadata_type == 'track':
|
elif metadata_type == 'track':
|
||||||
parent_rating_key = helpers.get_xml_attr(metadata_main, 'parentRatingKey')
|
parent_rating_key = helpers.get_xml_attr(metadata_main, 'parentRatingKey')
|
||||||
album_details = self.get_metadata_details(parent_rating_key)
|
album_details = self.get_metadata_details(parent_rating_key) if parent_rating_key else {}
|
||||||
track_artist = helpers.get_xml_attr(metadata_main, 'originalTitle') or \
|
track_artist = helpers.get_xml_attr(metadata_main, 'originalTitle') or \
|
||||||
helpers.get_xml_attr(metadata_main, 'grandparentTitle')
|
helpers.get_xml_attr(metadata_main, 'grandparentTitle')
|
||||||
metadata = {'media_type': metadata_type,
|
metadata = {'media_type': metadata_type,
|
||||||
|
@ -1015,12 +1015,12 @@ class PmsConnect(object):
|
||||||
'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'),
|
'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'),
|
||||||
'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'),
|
'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'),
|
||||||
'duration': helpers.get_xml_attr(metadata_main, 'duration'),
|
'duration': helpers.get_xml_attr(metadata_main, 'duration'),
|
||||||
'year': album_details['year'],
|
'year': album_details.get('year', ''),
|
||||||
'thumb': helpers.get_xml_attr(metadata_main, 'thumb'),
|
'thumb': helpers.get_xml_attr(metadata_main, 'thumb'),
|
||||||
'parent_thumb': helpers.get_xml_attr(metadata_main, 'parentThumb'),
|
'parent_thumb': helpers.get_xml_attr(metadata_main, 'parentThumb'),
|
||||||
'grandparent_thumb': helpers.get_xml_attr(metadata_main, 'grandparentThumb'),
|
'grandparent_thumb': helpers.get_xml_attr(metadata_main, 'grandparentThumb'),
|
||||||
'art': helpers.get_xml_attr(metadata_main, 'art'),
|
'art': helpers.get_xml_attr(metadata_main, 'art'),
|
||||||
'banner': album_details['banner'],
|
'banner': album_details.get('banner', ''),
|
||||||
'originally_available_at': helpers.get_xml_attr(metadata_main, 'originallyAvailableAt'),
|
'originally_available_at': helpers.get_xml_attr(metadata_main, 'originallyAvailableAt'),
|
||||||
'added_at': helpers.get_xml_attr(metadata_main, 'addedAt'),
|
'added_at': helpers.get_xml_attr(metadata_main, 'addedAt'),
|
||||||
'updated_at': helpers.get_xml_attr(metadata_main, 'updatedAt'),
|
'updated_at': helpers.get_xml_attr(metadata_main, 'updatedAt'),
|
||||||
|
@ -1031,9 +1031,9 @@ class PmsConnect(object):
|
||||||
'directors': directors,
|
'directors': directors,
|
||||||
'writers': writers,
|
'writers': writers,
|
||||||
'actors': actors,
|
'actors': actors,
|
||||||
'genres': album_details['genres'],
|
'genres': album_details.get('genres', []),
|
||||||
'labels': album_details['labels'],
|
'labels': album_details.get('labels', []),
|
||||||
'collections': album_details['collections'],
|
'collections': album_details.get('collections', []),
|
||||||
'full_title': u'{} - {}'.format(helpers.get_xml_attr(metadata_main, 'title'),
|
'full_title': u'{} - {}'.format(helpers.get_xml_attr(metadata_main, 'title'),
|
||||||
track_artist),
|
track_artist),
|
||||||
'children_count': helpers.get_xml_attr(metadata_main, 'leafCount')
|
'children_count': helpers.get_xml_attr(metadata_main, 'leafCount')
|
||||||
|
@ -1088,7 +1088,7 @@ class PmsConnect(object):
|
||||||
|
|
||||||
elif metadata_type == 'photo':
|
elif metadata_type == 'photo':
|
||||||
parent_rating_key = helpers.get_xml_attr(metadata_main, 'parentRatingKey')
|
parent_rating_key = helpers.get_xml_attr(metadata_main, 'parentRatingKey')
|
||||||
photo_album_details = self.get_metadata_details(parent_rating_key)
|
photo_album_details = self.get_metadata_details(parent_rating_key) if parent_rating_key else {}
|
||||||
metadata = {'media_type': metadata_type,
|
metadata = {'media_type': metadata_type,
|
||||||
'section_id': section_id,
|
'section_id': section_id,
|
||||||
'library_name': library_name,
|
'library_name': library_name,
|
||||||
|
@ -1128,9 +1128,9 @@ class PmsConnect(object):
|
||||||
'directors': directors,
|
'directors': directors,
|
||||||
'writers': writers,
|
'writers': writers,
|
||||||
'actors': actors,
|
'actors': actors,
|
||||||
'genres': photo_album_details.get('genres', ''),
|
'genres': photo_album_details.get('genres', []),
|
||||||
'labels': photo_album_details.get('labels', ''),
|
'labels': photo_album_details.get('labels', []),
|
||||||
'collections': photo_album_details.get('collections', ''),
|
'collections': photo_album_details.get('collections', []),
|
||||||
'full_title': u'{} - {}'.format(helpers.get_xml_attr(metadata_main, 'parentTitle') or library_name,
|
'full_title': u'{} - {}'.format(helpers.get_xml_attr(metadata_main, 'parentTitle') or library_name,
|
||||||
helpers.get_xml_attr(metadata_main, 'title')),
|
helpers.get_xml_attr(metadata_main, 'title')),
|
||||||
'children_count': helpers.get_xml_attr(metadata_main, 'leafCount')
|
'children_count': helpers.get_xml_attr(metadata_main, 'leafCount')
|
||||||
|
@ -1817,7 +1817,7 @@ class PmsConnect(object):
|
||||||
source_media_details = source_media_part_details = \
|
source_media_details = source_media_part_details = \
|
||||||
source_video_details = source_audio_details = source_subtitle_details = {}
|
source_video_details = source_audio_details = source_subtitle_details = {}
|
||||||
|
|
||||||
if stream_details['live'] or not helpers.get_xml_attr(session, 'ratingKey').isdigit():
|
if not helpers.get_xml_attr(session, 'ratingKey').isdigit():
|
||||||
channel_stream = 1
|
channel_stream = 1
|
||||||
|
|
||||||
audio_channels = helpers.get_xml_attr(stream_media_info, 'audioChannels')
|
audio_channels = helpers.get_xml_attr(stream_media_info, 'audioChannels')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue