From 8af8ed9d1ae039748e00d89381b139e7e4025a74 Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Mon, 15 Feb 2021 16:51:37 -0800 Subject: [PATCH 1/2] Fix deprecation warnings --- plexapi/library.py | 4 ++-- plexapi/utils.py | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/plexapi/library.py b/plexapi/library.py index 8a6413f6a..51006b064 100644 --- a/plexapi/library.py +++ b/plexapi/library.py @@ -838,7 +838,7 @@ def history(self, maxresults=9999999, mindate=None): """ return self._server.history(maxresults=maxresults, mindate=mindate, librarySectionID=self.key, accountID=1) - @deprecated('use "collections" (plural) instead') + @deprecated('use "collections" (plural) instead', stacklevel=2) def collection(self, **kwargs): return self.collections() @@ -1596,7 +1596,7 @@ def _loadData(self, data): @property @deprecated('use "items" instead') def children(self): - return self.fetchItems(self.key) + return self.items() @property def thumbUrl(self): diff --git a/plexapi/utils.py b/plexapi/utils.py index a56d87abe..03ff8efbb 100644 --- a/plexapi/utils.py +++ b/plexapi/utils.py @@ -21,7 +21,6 @@ tqdm = None log = logging.getLogger('plexapi') -warnings.simplefilter('default', category=DeprecationWarning) # Search Types - Plex uses these to filter specific media types when searching. # Library Types - Populated at runtime @@ -467,7 +466,7 @@ def base64str(text): return base64.b64encode(text.encode('utf-8')).decode('utf-8') -def deprecated(message): +def deprecated(message, stacklevel=3): def decorator(func): """This is a decorator which can be used to mark functions as deprecated. It will result in a warning being emitted @@ -475,7 +474,7 @@ def decorator(func): @functools.wraps(func) def wrapper(*args, **kwargs): msg = 'Call to deprecated function or method "%s", %s.' % (func.__name__, message) - warnings.warn(msg, category=DeprecationWarning, stacklevel=3) + warnings.warn(msg, category=DeprecationWarning, stacklevel=stacklevel) log.warning(msg) return func(*args, **kwargs) return wrapper From 110fb2e94c5c374d3c61f5208cb88c8853d7039a Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Mon, 15 Feb 2021 16:57:16 -0800 Subject: [PATCH 2/2] Flip default warning stack level --- plexapi/library.py | 4 ++-- plexapi/utils.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plexapi/library.py b/plexapi/library.py index 51006b064..e72e4d864 100644 --- a/plexapi/library.py +++ b/plexapi/library.py @@ -838,7 +838,7 @@ def history(self, maxresults=9999999, mindate=None): """ return self._server.history(maxresults=maxresults, mindate=mindate, librarySectionID=self.key, accountID=1) - @deprecated('use "collections" (plural) instead', stacklevel=2) + @deprecated('use "collections" (plural) instead') def collection(self, **kwargs): return self.collections() @@ -1594,7 +1594,7 @@ def _loadData(self, data): self.updatedAt = utils.toDatetime(data.attrib.get('updatedAt')) @property - @deprecated('use "items" instead') + @deprecated('use "items" instead', stacklevel=3) def children(self): return self.items() diff --git a/plexapi/utils.py b/plexapi/utils.py index 03ff8efbb..e4225941c 100644 --- a/plexapi/utils.py +++ b/plexapi/utils.py @@ -466,7 +466,7 @@ def base64str(text): return base64.b64encode(text.encode('utf-8')).decode('utf-8') -def deprecated(message, stacklevel=3): +def deprecated(message, stacklevel=2): def decorator(func): """This is a decorator which can be used to mark functions as deprecated. It will result in a warning being emitted