Skip to content

Commit c5aed99

Browse files
authored
Remove all deprecated methods (#1565)
* Remove all deprecated methods * Update collection edit test
1 parent f5a1d7e commit c5aed99

File tree

6 files changed

+10
-129
lines changed

6 files changed

+10
-129
lines changed

plexapi/collection.py

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
from plexapi.exceptions import BadRequest, NotFound, Unsupported
77
from plexapi.library import LibrarySection, ManagedHub
88
from plexapi.mixins import CollectionMixins
9-
from plexapi.utils import deprecated
109

1110

1211
@utils.registerPlexObject
@@ -158,11 +157,6 @@ def isPhoto(self):
158157
""" Returns True if this is a photo collection. """
159158
return self.subtype in {'photoalbum', 'photo'}
160159

161-
@property
162-
@deprecated('use "items" instead', stacklevel=3)
163-
def children(self):
164-
return self.items()
165-
166160
@cached_data_property
167161
def _filters(self):
168162
""" Cache for filters. """
@@ -414,33 +408,6 @@ def updateFilters(self, libtype=None, limit=None, sort=None, filters=None, **kwa
414408
self._server.query(key, method=self._server._session.put)
415409
return self
416410

417-
@deprecated('use editTitle, editSortTitle, editContentRating, and editSummary instead')
418-
def edit(self, title=None, titleSort=None, contentRating=None, summary=None, **kwargs):
419-
""" Edit the collection.
420-
421-
Parameters:
422-
title (str, optional): The title of the collection.
423-
titleSort (str, optional): The sort title of the collection.
424-
contentRating (str, optional): The summary of the collection.
425-
summary (str, optional): The summary of the collection.
426-
"""
427-
args = {}
428-
if title is not None:
429-
args['title.value'] = title
430-
args['title.locked'] = 1
431-
if titleSort is not None:
432-
args['titleSort.value'] = titleSort
433-
args['titleSort.locked'] = 1
434-
if contentRating is not None:
435-
args['contentRating.value'] = contentRating
436-
args['contentRating.locked'] = 1
437-
if summary is not None:
438-
args['summary.value'] = summary
439-
args['summary.locked'] = 1
440-
441-
args.update(kwargs)
442-
self._edit(**args)
443-
444411
def delete(self):
445412
""" Delete the collection. """
446413
super(Collection, self).delete()

plexapi/library.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
ArtistEditMixins, AlbumEditMixins, TrackEditMixins, PhotoalbumEditMixins, PhotoEditMixins
1616
)
1717
from plexapi.settings import Setting
18-
from plexapi.utils import deprecated
1918

2019

2120
if TYPE_CHECKING:
@@ -1687,14 +1686,6 @@ def playlists(self, sort=None, **kwargs):
16871686
return self._server.playlists(
16881687
playlistType=self.CONTENT_TYPE, sectionId=self.key, sort=sort, **kwargs)
16891688

1690-
@deprecated('use "listFields" instead')
1691-
def filterFields(self, mediaType=None):
1692-
return self.listFields(libtype=mediaType)
1693-
1694-
@deprecated('use "listFilterChoices" instead')
1695-
def listChoices(self, category, libtype=None, **kwargs):
1696-
return self.listFilterChoices(field=category, libtype=libtype)
1697-
16981689
def getWebURL(self, base=None, tab=None, key=None):
16991690
""" Returns the Plex Web URL for the library.
17001691

plexapi/media.py

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from plexapi import log, settings, utils
66
from plexapi.base import PlexObject, cached_data_property
77
from plexapi.exceptions import BadRequest
8-
from plexapi.utils import deprecated
98

109

1110
@utils.registerPlexObject
@@ -230,18 +229,6 @@ def resetSelectedSubtitleStream(self):
230229
self._server.query(key, method=self._server._session.put, params=params)
231230
return self
232231

233-
@deprecated('Use "setSelectedAudioStream" instead.')
234-
def setDefaultAudioStream(self, stream):
235-
return self.setSelectedAudioStream(stream)
236-
237-
@deprecated('Use "setSelectedSubtitleStream" instead.')
238-
def setDefaultSubtitleStream(self, stream):
239-
return self.setSelectedSubtitleStream(stream)
240-
241-
@deprecated('Use "resetSelectedSubtitleStream" instead.')
242-
def resetDefaultSubtitleStream(self):
243-
return self.resetSelectedSubtitleStream()
244-
245232

246233
class MediaPartStream(PlexObject):
247234
""" Base class for media streams. These consist of video, audio, subtitles, and lyrics.
@@ -443,10 +430,6 @@ def levels(self, subSample=128):
443430
params = {'subsample': subSample}
444431
return self.fetchItems(key, params=params)
445432

446-
@deprecated('Use "setSelected" instead.')
447-
def setDefault(self):
448-
return self.setSelected()
449-
450433

451434
@utils.registerPlexObject
452435
class SubtitleStream(MediaPartStream):
@@ -493,10 +476,6 @@ def setSelected(self):
493476
"""
494477
return self._parent().setSelectedSubtitleStream(self)
495478

496-
@deprecated('Use "setSelected" instead.')
497-
def setDefault(self):
498-
return self.setSelected()
499-
500479

501480
@utils.registerPlexObject
502481
class LyricStream(MediaPartStream):
@@ -1280,20 +1259,11 @@ def mediaTypes(self):
12801259
return self.findItems(self._data, cls=AgentMediaType)
12811260
return []
12821261

1283-
@property
1284-
@deprecated('use "languageCodes" instead')
1285-
def languageCode(self):
1286-
return self.languageCodes
1287-
12881262
def settings(self):
12891263
key = f'/:/plugins/{self.identifier}/prefs'
12901264
data = self._server.query(key)
12911265
return self.findItems(data, cls=settings.Setting)
12921266

1293-
@deprecated('use "settings" instead')
1294-
def _settings(self):
1295-
return self.settings()
1296-
12971267

12981268
class AgentMediaType(Agent):
12991269
""" Represents a single Agent MediaType.
@@ -1316,11 +1286,6 @@ def _loadData(self, data):
13161286
def languageCodes(self):
13171287
return self.listAttrs(self._data, 'code', etag='Language')
13181288

1319-
@property
1320-
@deprecated('use "languageCodes" instead')
1321-
def languageCode(self):
1322-
return self.languageCodes
1323-
13241289

13251290
@utils.registerPlexObject
13261291
class Availability(PlexObject):

plexapi/playlist.py

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from plexapi.exceptions import BadRequest, NotFound, Unsupported
99
from plexapi.library import LibrarySection, MusicSection
1010
from plexapi.mixins import PlaylistMixins
11-
from plexapi.utils import deprecated
1211

1312

1413
@utils.registerPlexObject
@@ -249,10 +248,6 @@ def addItems(self, items):
249248

250249
return self
251250

252-
@deprecated('use "removeItems" instead')
253-
def removeItem(self, item):
254-
self.removeItems(item)
255-
256251
def removeItems(self, items):
257252
""" Remove items from the playlist.
258253
@@ -341,21 +336,6 @@ def _edit(self, **kwargs):
341336
self._server.query(key, method=self._server._session.put)
342337
return self
343338

344-
@deprecated('use "editTitle" and "editSummary" instead')
345-
def edit(self, title=None, summary=None):
346-
""" Edit the playlist.
347-
348-
Parameters:
349-
title (str, optional): The title of the playlist.
350-
summary (str, optional): The summary of the playlist.
351-
"""
352-
args = {}
353-
if title:
354-
args['title'] = title
355-
if summary:
356-
args['summary'] = summary
357-
return self._edit(**args)
358-
359339
def delete(self):
360340
""" Delete the playlist. """
361341
self._server.query(self.key, method=self._server._session.delete)

plexapi/server.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
from plexapi.playlist import Playlist
1616
from plexapi.playqueue import PlayQueue
1717
from plexapi.settings import Settings
18-
from plexapi.utils import deprecated
1918
from requests.status_codes import _codes as codes
2019

2120
# Need these imports to populate utils.PLEXOBJECTS
@@ -612,10 +611,6 @@ def runButlerTask(self, task):
612611
self.query(f'/butler/{task}', method=self._session.post)
613612
return self
614613

615-
@deprecated('use "checkForUpdate" instead')
616-
def check_for_update(self, force=True, download=False):
617-
return self.checkForUpdate(force=force, download=download)
618-
619614
def checkForUpdate(self, force=True, download=False):
620615
""" Returns a :class:`~plexapi.server.Release` object containing release info
621616
if an update is available or None if no update is available.
@@ -727,15 +722,6 @@ def optimizedItems(self, removeAll=None):
727722
backgroundProcessing = self.fetchItem('/playlists?type=42')
728723
return self.fetchItems(f'{backgroundProcessing.key}/items', cls=Optimized)
729724

730-
@deprecated('use "plexapi.media.Optimized.items()" instead')
731-
def optimizedItem(self, optimizedID):
732-
""" Returns single queued optimized item :class:`~plexapi.media.Video` object.
733-
Allows for using optimized item ID to connect back to source item.
734-
"""
735-
736-
backgroundProcessing = self.fetchItem('/playlists?type=42')
737-
return self.fetchItem(f'{backgroundProcessing.key}/items/{optimizedID}/items')
738-
739725
def conversions(self, pause=None):
740726
""" Returns list of all :class:`~plexapi.media.Conversion` objects connected to server. """
741727
if pause is True:

tests/test_collection.py

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,11 @@ def test_Collection_edit(collection, movies):
179179
newTitleSort = "New Title Sort"
180180
newContentRating = "New Content Rating"
181181
newSummary = "New Summary"
182-
collection.edit(
183-
title=newTitle,
184-
titleSort=newTitleSort,
185-
contentRating=newContentRating,
186-
summary=newSummary
187-
)
182+
collection \
183+
.editTitle(newTitle) \
184+
.editSortTitle(newTitleSort) \
185+
.editContentRating(newContentRating) \
186+
.editSummary(newSummary)
188187
collection.reload()
189188
assert collection.title == newTitle
190189
assert collection.titleSort == newTitleSort
@@ -195,18 +194,11 @@ def test_Collection_edit(collection, movies):
195194
for f in fields:
196195
assert collection.isLocked(field=f)
197196

198-
collection.edit(
199-
title=title,
200-
titleSort=titleSort,
201-
contentRating=contentRating or "",
202-
summary=summary,
203-
**{
204-
"title.locked": 0,
205-
"titleSort.locked": 0,
206-
"contentRating.locked": 0,
207-
"summary.locked": 0
208-
}
209-
)
197+
collection \
198+
.editTitle(title, locked=False) \
199+
.editSortTitle(titleSort, locked=False) \
200+
.editContentRating(contentRating or "", locked=False) \
201+
.editSummary(summary, locked=False)
210202
collection.reload()
211203
assert collection.title == title
212204
assert collection.titleSort == titleSort

0 commit comments

Comments
 (0)