Skip to content

Commit 68868a6

Browse files
Merge remote-tracking branch 'root/master' into newer_oldest_plex
2 parents c5e9333 + 5980abe commit 68868a6

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Plex Web Client. A few of the many features we currently support are:
1717
* Perform library actions such as scan, analyze, empty trash.
1818
* Remote control and play media on connected clients.
1919
* Listen in on all Plex Server notifications.
20-
20+
2121

2222
Installation & Documentation
2323
----------------------------

plexapi/media.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,35 @@ def audioStreams(self):
124124
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]
127+
128+
def setDefaultAudioStream(self, stream):
129+
""" Set the default :class:`~plexapi.media.AudioStream` for this MediaPart.
127130
131+
Parameters:
132+
stream (:class:`~plexapi.media.AudioStream`): AudioStream to set as default
133+
"""
134+
if isinstance(stream, AudioStream):
135+
key = "/library/parts/%d?audioStreamID=%d&allParts=1" % (self.id, stream.id)
136+
else:
137+
key = "/library/parts/%d?audioStreamID=%d&allParts=1" % (self.id, stream)
138+
self._server.query(key, method=self._server._session.put)
139+
140+
def setDefaultSubtitleStream(self, stream):
141+
""" Set the default :class:`~plexapi.media.SubtitleStream` for this MediaPart.
142+
143+
Parameters:
144+
stream (:class:`~plexapi.media.SubtitleStream`): SubtitleStream to set as default.
145+
"""
146+
if isinstance(stream, SubtitleStream):
147+
key = "/library/parts/%d?subtitleStreamID=%d&allParts=1" % (self.id, stream.id)
148+
else:
149+
key = "/library/parts/%d?subtitleStreamID=%d&allParts=1" % (self.id, stream)
150+
self._server.query(key, method=self._server._session.put)
151+
152+
def resetDefaultSubtitleStream(self):
153+
""" Set default subtitle of this MediaPart to 'none'. """
154+
key = "/library/parts/%d?subtitleStreamID=0&allParts=1" % (self.id)
155+
self._server.query(key, method=self._server._session.put)
128156

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

0 commit comments

Comments
 (0)