Skip to content

Commit 5270395

Browse files
Only pass stream object to function
1 parent 1c95e71 commit 5270395

File tree

1 file changed

+18
-22
lines changed

1 file changed

+18
-22
lines changed

plexapi/media.py

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -125,44 +125,40 @@ def subtitleStreams(self):
125125
""" Returns a list of :class:`~plexapi.media.SubtitleStream` objects in this MediaPart. """
126126
return [stream for stream in self.streams if stream.streamType == SubtitleStream.STREAMTYPE]
127127

128-
def setDefaultAudioStream(self, stream=None, streamID=None):
128+
def setDefaultAudioStream(self, stream):
129129
""" Set the default :class:`~plexapi.media.AudioStream` for this MediaPart.
130130
131131
Parameters:
132132
stream (:class:`~plexapi.media.AudioStream`): AudioStream to set as default
133-
(default:None; required if streamID is not specified).
134-
streamID (int): ID of the AudioStream to set
135-
(default:None; required if stream is not specified).
136133
137134
Raises:
138-
:class:`plexapi.exceptions.BadRequest`: If both stream and streamID are missing.
135+
:class:`plexapi.exceptions.BadRequest`: If stream is not an AudioStream.
139136
"""
140-
if stream:
137+
if type(stream) == AudioStream:
141138
key = "/library/parts/%d?audioStreamID=%d&allParts=1" % (self.id, stream.id)
142-
elif streamID:
143-
key = "/library/parts/%d?audioStreamID=%d&allParts=1" % (self.id, streamID)
139+
self._server.query(key, method=self._server._session.put)
144140
else:
145-
raise BadRequest('Missing argument: stream or streamID is required')
146-
self._server.query(key, method=self._server._session.put)
141+
raise BadRequest("Object 'stream' is not an AudioStream.")
147142

148-
def setDefaultSubtitleStream(self, stream=None, streamID=None):
143+
def setDefaultSubtitleStream(self, stream):
149144
""" Set the default :class:`~plexapi.media.SubtitleStream` for this MediaPart.
150-
(Note: pass no parameters to disable subtitles)
151-
145+
152146
Parameters:
153-
stream (:class:`~plexapi.media.SubtitleStream`): SubtitleStream to set as default
154-
(default:None).
155-
streamID (int): ID of the AudioStream to set
156-
(default:None).
147+
stream (:class:`~plexapi.media.SubtitleStream`): SubtitleStream to set as default.
148+
149+
Raises:
150+
:class:`plexapi.exceptions.BadRequest`: If stream is not a SubtitleStream.
157151
"""
158-
if stream:
152+
if type(stream) == SubtitleStream:
159153
key = "/library/parts/%d?subtitleStreamID=%d&allParts=1" % (self.id, stream.id)
160-
elif streamID:
161-
key = "/library/parts/%d?subtitleStreamID=%d&allParts=1" % (self.id, streamID)
154+
self._server.query(key, method=self._server._session.put)
162155
else:
163-
key = "/library/parts/%d?subtitleStreamID=%d&allParts=1" % (self.id, 0)
164-
self._server.query(key, method=self._server._session.put)
156+
raise BadRequest("Object 'stream' is not a SubtitleStream.")
165157

158+
def resetSubtitles(self):
159+
""" Set default subtitle of this MediaPart to 'none'. """
160+
key = "/library/parts/%d?subtitleStreamID=0&allParts=1" % (self.id)
161+
self._server.query(key, method=self._server._session.put)
166162

167163
class MediaPartStream(PlexObject):
168164
""" Base class for media streams. These consist of video, audio and subtitles.

0 commit comments

Comments
 (0)