File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -771,6 +771,30 @@ def iterParts(self):
771771 for part in item .parts :
772772 yield part
773773
774+ def videoStreams (self ):
775+ """ Returns a list of :class:`~plexapi.media.videoStream` objects for all MediaParts. """
776+ if self .isPartialObject ():
777+ self .reload ()
778+ return sum ((part .videoStreams () for part in self .iterParts ()), [])
779+
780+ def audioStreams (self ):
781+ """ Returns a list of :class:`~plexapi.media.AudioStream` objects for all MediaParts. """
782+ if self .isPartialObject ():
783+ self .reload ()
784+ return sum ((part .audioStreams () for part in self .iterParts ()), [])
785+
786+ def subtitleStreams (self ):
787+ """ Returns a list of :class:`~plexapi.media.SubtitleStream` objects for all MediaParts. """
788+ if self .isPartialObject ():
789+ self .reload ()
790+ return sum ((part .subtitleStreams () for part in self .iterParts ()), [])
791+
792+ def lyricStreams (self ):
793+ """ Returns a list of :class:`~plexapi.media.LyricStream` objects for all MediaParts. """
794+ if self .isPartialObject ():
795+ self .reload ()
796+ return sum ((part .lyricStreams () for part in self .iterParts ()), [])
797+
774798 def play (self , client ):
775799 """ Start playback on the specified client.
776800
Original file line number Diff line number Diff line change @@ -97,42 +97,6 @@ def _defaultSyncTitle(self):
9797 """ Returns str, default title for a new syncItem. """
9898 return self .title
9999
100- def videoStreams (self ):
101- """ Returns a list of :class:`~plexapi.media.videoStream` objects for all MediaParts. """
102- streams = []
103-
104- if self .isPartialObject ():
105- self .reload ()
106-
107- parts = self .iterParts ()
108- for part in parts :
109- streams += part .videoStreams ()
110- return streams
111-
112- def audioStreams (self ):
113- """ Returns a list of :class:`~plexapi.media.AudioStream` objects for all MediaParts. """
114- streams = []
115-
116- if self .isPartialObject ():
117- self .reload ()
118-
119- parts = self .iterParts ()
120- for part in parts :
121- streams += part .audioStreams ()
122- return streams
123-
124- def subtitleStreams (self ):
125- """ Returns a list of :class:`~plexapi.media.SubtitleStream` objects for all MediaParts. """
126- streams = []
127-
128- if self .isPartialObject ():
129- self .reload ()
130-
131- parts = self .iterParts ()
132- for part in parts :
133- streams += part .subtitleStreams ()
134- return streams
135-
136100 def uploadSubtitles (self , filepath ):
137101 """ Upload Subtitle file for video. """
138102 url = f'{ self .key } /subtitles'
Original file line number Diff line number Diff line change @@ -394,6 +394,10 @@ def test_audio_Track_artist(album, artist):
394394 assert tracks [0 ].artist () == artist
395395
396396
397+ def test_audio_Track_lyricStreams (track ):
398+ assert not track .lyricStreams ()
399+
400+
397401def test_audio_Track_mixins_images (track ):
398402 test_mixins .attr_artUrl (track )
399403 test_mixins .attr_posterUrl (track )
You can’t perform that action at this time.
0 commit comments