Skip to content

Commit 9efbde9

Browse files
committed
Merge branch 'master' of github.com:pkkid/python-plexapi
2 parents eae4f52 + 49d6314 commit 9efbde9

File tree

6 files changed

+15
-14
lines changed

6 files changed

+15
-14
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
- stage: test
5757
python: 3.6
5858
env:
59-
- PLEX_CONTAINER_TAG=1.3.2.3112-1751929
59+
- PLEX_CONTAINER_TAG=1.10.1.4602-f54242b6b
6060
- TEST_ACCOUNT_ONCE=1
6161
- stage: test
6262
python: 3.6

plexapi/library.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -378,13 +378,13 @@ def get(self, title):
378378
return self.fetchItem(key, title__iexact=title)
379379

380380
def all(self, sort=None, **kwargs):
381-
""" Returns a list of media from this library section.
382-
381+
""" Returns a list of media from this library section.
382+
383383
Parameters:
384384
sort (string): The sort string
385385
"""
386386
sortStr = ''
387-
if sort != None:
387+
if sort is not None:
388388
sortStr = '?sort=' + sort
389389

390390
key = '/library/sections/%s/all%s' % (self.key, sortStr)
@@ -784,7 +784,7 @@ class MusicSection(LibrarySection):
784784
TAG (str): 'Directory'
785785
TYPE (str): 'artist'
786786
"""
787-
ALLOWED_FILTERS = ('genre', 'country', 'collection', 'mood', 'track.userRating')
787+
ALLOWED_FILTERS = ('genre', 'country', 'collection', 'mood', 'year', 'track.userRating')
788788
ALLOWED_SORT = ('addedAt', 'lastViewedAt', 'viewCount', 'titleSort', 'userRating')
789789
TAG = 'Directory'
790790
TYPE = 'artist'

plexapi/media.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,19 +124,19 @@ 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-
127+
128128
def setDefaultAudioStream(self, stream):
129129
""" Set the default :class:`~plexapi.media.AudioStream` for this MediaPart.
130130
131131
Parameters:
132-
stream (:class:`~plexapi.media.AudioStream`): AudioStream to set as default
132+
stream (:class:`~plexapi.media.AudioStream`): AudioStream to set as default
133133
"""
134134
if isinstance(stream, AudioStream):
135135
key = "/library/parts/%d?audioStreamID=%d&allParts=1" % (self.id, stream.id)
136136
else:
137137
key = "/library/parts/%d?audioStreamID=%d&allParts=1" % (self.id, stream)
138138
self._server.query(key, method=self._server._session.put)
139-
139+
140140
def setDefaultSubtitleStream(self, stream):
141141
""" Set the default :class:`~plexapi.media.SubtitleStream` for this MediaPart.
142142
@@ -148,12 +148,13 @@ def setDefaultSubtitleStream(self, stream):
148148
else:
149149
key = "/library/parts/%d?subtitleStreamID=%d&allParts=1" % (self.id, stream)
150150
self._server.query(key, method=self._server._session.put)
151-
151+
152152
def resetDefaultSubtitleStream(self):
153153
""" Set default subtitle of this MediaPart to 'none'. """
154154
key = "/library/parts/%d?subtitleStreamID=0&allParts=1" % (self.id)
155155
self._server.query(key, method=self._server._session.put)
156156

157+
157158
class MediaPartStream(PlexObject):
158159
""" Base class for media streams. These consist of video, audio and subtitles.
159160

plexapi/video.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -332,9 +332,9 @@ def season(self, title=None):
332332
Parameters:
333333
title (str or int): Title or Number of the season to return.
334334
"""
335-
if isinstance(title, int):
336-
title = 'Season %s' % title
337335
key = '/library/metadata/%s/children' % self.ratingKey
336+
if isinstance(title, int):
337+
return self.fetchItem(key, etag='Directory', index__iexact=str(title))
338338
return self.fetchItem(key, etag='Directory', title__iexact=title)
339339

340340
def episodes(self, **kwargs):
@@ -357,7 +357,7 @@ def episode(self, title=None, season=None, episode=None):
357357
if title:
358358
key = '/library/metadata/%s/allLeaves' % self.ratingKey
359359
return self.fetchItem(key, title__iexact=title)
360-
elif season and episode:
360+
elif season is not None and episode:
361361
results = [i for i in self.episodes() if i.seasonNumber == season and i.index == episode]
362362
if results:
363363
return results[0]

tests/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
FRAMERATES = {'24p', 'PAL', 'NTSC'}
4141
PROFILES = {'advanced simple', 'main', 'constrained baseline'}
4242
RESOLUTIONS = {'sd', '480', '576', '720', '1080'}
43-
ENTITLEMENTS = {'ios', 'cpms', 'roku', 'android', 'xbox_one', 'xbox_360', 'windows', 'windows_phone'}
43+
ENTITLEMENTS = {'ios', 'roku', 'android', 'xbox_one', 'xbox_360', 'windows', 'windows_phone'}
4444

4545
TEST_AUTHENTICATED = 'authenticated'
4646
TEST_ANONYMOUSLY = 'anonymously'

tests/test_video.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def test_video_Movie_attrs(movies):
118118
assert float(movie.rating) >= 6.4
119119
#assert movie.ratingImage == 'rottentomatoes://image.rating.ripe'
120120
assert movie.ratingKey >= 1
121-
assert sorted([i.tag for i in movie.roles])[:4] == ['Aladdin Ullah', 'Annette Hanshaw', 'Aseem Chhabra', 'Bhavana Nagulapally'] # noqa
121+
assert set(sorted([i.tag for i in movie.roles])) >= {'Aladdin Ullah', 'Annette Hanshaw', 'Aseem Chhabra', 'Debargo Sanyal'} # noqa
122122
assert movie._server._baseurl == utils.SERVER_BASEURL
123123
assert movie.sessionKey is None
124124
assert movie.studio == 'Nina Paley'

0 commit comments

Comments
 (0)