Enforce plex id type int

This commit is contained in:
croneter 2018-11-06 19:06:48 +01:00
parent c996e5c9be
commit 20f26364b8
2 changed files with 4 additions and 17 deletions

View file

@ -329,7 +329,7 @@ def playlist_item_from_kodi(kodi_item):
item.file = kodi_item.get('file') item.file = kodi_item.get('file')
if item.plex_id is None and item.file is not None: if item.plex_id is None and item.file is not None:
query = dict(parse_qsl(urlsplit(item.file).query)) query = dict(parse_qsl(urlsplit(item.file).query))
item.plex_id = query.get('plex_id') item.plex_id = utils.cast(int, query.get('plex_id'))
item.plex_type = query.get('itemType') item.plex_type = query.get('itemType')
if item.plex_id is None and item.file is not None: if item.plex_id is None and item.file is not None:
item.uri = ('library://whatever/item/%s' item.uri = ('library://whatever/item/%s'

View file

@ -54,19 +54,6 @@ LOG = getLogger('PLEX.plex_api')
############################################################################### ###############################################################################
def _unicode_or_none(value):
"""
Tries to decode value to unicode. Returns None if this fails
"""
try:
return value.decode('utf-8')
except TypeError:
# e.g. Android TV's Python
return value.decode()
except AttributeError:
pass
class API(object): class API(object):
""" """
API(item) API(item)
@ -94,7 +81,7 @@ class API(object):
Returns the type of media, e.g. 'movie' or 'clip' for trailers as Returns the type of media, e.g. 'movie' or 'clip' for trailers as
Unicode or None. Unicode or None.
""" """
return _unicode_or_none(self.item.get('type')) return self.item.get('type')
def playlist_type(self): def playlist_type(self):
""" """
@ -713,8 +700,8 @@ class API(object):
as Unicode. as Unicode.
If not found, None is returned If not found, None is returned
""" """
return _unicode_or_none(self.item.get('playQueueItemID') or return (cast(int, self.item.get('playQueueItemID')) or
self.item.get('playListItemID')) cast(int, self.item.get('playListItemID')))
def _data_from_part_or_media(self, key): def _data_from_part_or_media(self, key):
""" """