@@ -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
167163class MediaPartStream (PlexObject ):
168164 """ Base class for media streams. These consist of video, audio and subtitles.
0 commit comments