diff --git a/plexapi/media.py b/plexapi/media.py index 735bbe1bf..c9c005d3f 100644 --- a/plexapi/media.py +++ b/plexapi/media.py @@ -558,6 +558,13 @@ def _loadData(self, data): self.target = data.attrib.get('target') self.targetTagID = data.attrib.get('targetTagID') + def items(self): + """ Returns a list of all :class:`~plexapi.media.Video` objects + in this optimized item. + """ + key = '%s/%s/items' % (self._initpath, self.id) + return self.fetchItems(key) + def remove(self): """ Remove an Optimized item""" key = '%s/%s' % (self._initpath, self.id) diff --git a/plexapi/server.py b/plexapi/server.py index 4b9c7e886..b2aa8d1d9 100644 --- a/plexapi/server.py +++ b/plexapi/server.py @@ -489,6 +489,7 @@ def optimizedItems(self, removeAll=None): backgroundProcessing = self.fetchItem('/playlists?type=42') return self.fetchItems('%s/items' % backgroundProcessing.key, cls=Optimized) + @deprecated('use "plexapi.media.Optimized.items()" instead') def optimizedItem(self, optimizedID): """ Returns single queued optimized item :class:`~plexapi.media.Video` object. Allows for using optimized item ID to connect back to source item. diff --git a/tests/test_video.py b/tests/test_video.py index eeb60030a..71831d9c5 100644 --- a/tests/test_video.py +++ b/tests/test_video.py @@ -1102,7 +1102,7 @@ def test_video_optimize(movie, plex): assert len(plex.conversions()) == 0 assert len(plex.optimizedItems()) == 1 optimized = plex.optimizedItems()[0] - video = plex.optimizedItem(optimizedID=optimized.id) - assert movie.key == video.key + videos = optimized.items() + assert movie in videos plex.optimizedItems(removeAll=True) assert len(plex.optimizedItems()) == 0