From f5673294c74a92766c6709f59fb2109297069f27 Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Wed, 20 Jul 2022 19:49:02 -0700 Subject: [PATCH] Remove check for playQueueType when adding items to a PlayQueue (#977) * Remove check for playQueueType when adding items to a PlayQueue * Fix PlayQueue doc strings --- plexapi/playqueue.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/plexapi/playqueue.py b/plexapi/playqueue.py index 6697532a..539b626b 100644 --- a/plexapi/playqueue.py +++ b/plexapi/playqueue.py @@ -3,7 +3,7 @@ from urllib.parse import quote_plus from plexapi import utils from plexapi.base import PlexObject -from plexapi.exceptions import BadRequest, Unsupported +from plexapi.exceptions import BadRequest class PlayQueue(PlexObject): @@ -13,7 +13,7 @@ class PlayQueue(PlexObject): TAG (str): 'PlayQueue' TYPE (str): 'playqueue' identifier (str): com.plexapp.plugins.library - items (list): List of :class:`~plexapi.media.Media` or :class:`~plexapi.playlist.Playlist` + items (list): List of :class:`~plexapi.base.Playable` or :class:`~plexapi.playlist.Playlist` mediaTagPrefix (str): Fx /system/bundle/media/flags/ mediaTagVersion (int): Fx 1485957738 playQueueID (int): ID of the PlayQueue. @@ -27,7 +27,7 @@ class PlayQueue(PlexObject): playQueueSourceURI (str): Original URI used to create the PlayQueue. playQueueTotalCount (int): How many items in the PlayQueue. playQueueVersion (int): Version of the PlayQueue. Increments every time a change is made to the PlayQueue. - selectedItem (:class:`~plexapi.media.Media`): Media object for the currently selected item. + selectedItem (:class:`~plexapi.base.Playable`): Media object for the currently selected item. _server (:class:`~plexapi.server.PlexServer`): PlexServer associated with the PlayQueue. size (int): Alias for playQueueTotalCount. """ @@ -150,9 +150,9 @@ class PlayQueue(PlexObject): Parameters: server (:class:`~plexapi.server.PlexServer`): Server you are connected to. - items (:class:`~plexapi.media.Media` or :class:`~plexapi.playlist.Playlist`): + items (:class:`~plexapi.base.Playable` or :class:`~plexapi.playlist.Playlist`): A media item, list of media items, or Playlist. - startItem (:class:`~plexapi.media.Media`, optional): + startItem (:class:`~plexapi.base.Playable`, optional): Media item in the PlayQueue where playback should begin. shuffle (int, optional): Start the playqueue shuffled. repeat (int, optional): Start the playqueue shuffled. @@ -191,7 +191,6 @@ class PlayQueue(PlexObject): path = "/playQueues{args}".format(args=utils.joinArgs(args)) data = server.query(path, method=server._session.post) c = cls(server, data, initpath=path) - c.playQueueType = args["type"] c._server = server return c @@ -227,7 +226,6 @@ class PlayQueue(PlexObject): path = f"/playQueues{utils.joinArgs(args)}" data = server.query(path, method=server._session.post) c = cls(server, data, initpath=path) - c.playQueueType = args["type"] c._server = server return c @@ -237,7 +235,7 @@ class PlayQueue(PlexObject): Items can only be added to the section immediately following the current playing item. Parameters: - item (:class:`~plexapi.media.Media` or :class:`~plexapi.playlist.Playlist`): Single media item or Playlist. + item (:class:`~plexapi.base.Playable` or :class:`~plexapi.playlist.Playlist`): Single media item or Playlist. playNext (bool, optional): If True, add this item to the front of the "Up Next" section. If False, the item will be appended to the end of the "Up Next" section. Only has an effect if an item has already been added to the "Up Next" section. @@ -250,15 +248,10 @@ class PlayQueue(PlexObject): args = {} if item.type == "playlist": args["playlistID"] = item.ratingKey - itemType = item.playlistType else: uuid = item.section().uuid - itemType = item.listType args["uri"] = "library://{uuid}/item{key}".format(uuid=uuid, key=item.key) - if itemType != self.playQueueType: - raise Unsupported("Item type does not match PlayQueue type") - if playNext: args["next"] = 1