mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-07 05:31:15 -07:00
Bump plexapi from 4.15.16 to 4.16.0 (#2439)
* Bump plexapi from 4.15.16 to 4.16.0 Bumps [plexapi](https://github.com/pkkid/python-plexapi) from 4.15.16 to 4.16.0. - [Release notes](https://github.com/pkkid/python-plexapi/releases) - [Commits](https://github.com/pkkid/python-plexapi/compare/4.15.16...4.16.0) --- updated-dependencies: - dependency-name: plexapi dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Update plexapi==4.16.0 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> [skip ci]
This commit is contained in:
parent
eb2c372d82
commit
0836fb902c
20 changed files with 287 additions and 49 deletions
|
@ -403,6 +403,63 @@ class ArtMixin(ArtUrlMixin, ArtLockMixin):
|
|||
return self
|
||||
|
||||
|
||||
class LogoUrlMixin:
|
||||
""" Mixin for Plex objects that can have a logo url. """
|
||||
|
||||
@property
|
||||
def logoUrl(self):
|
||||
""" Return the logo url for the Plex object. """
|
||||
image = next((i for i in self.images if i.type == 'clearLogo'), None)
|
||||
return self._server.url(image.url, includeToken=True) if image else None
|
||||
|
||||
|
||||
class LogoLockMixin:
|
||||
""" Mixin for Plex objects that can have a locked logo. """
|
||||
|
||||
def lockLogo(self):
|
||||
""" Lock the logo for a Plex object. """
|
||||
raise NotImplementedError('Logo cannot be locked through the API.')
|
||||
|
||||
def unlockLogo(self):
|
||||
""" Unlock the logo for a Plex object. """
|
||||
raise NotImplementedError('Logo cannot be unlocked through the API.')
|
||||
|
||||
|
||||
class LogoMixin(LogoUrlMixin, LogoLockMixin):
|
||||
""" Mixin for Plex objects that can have logos. """
|
||||
|
||||
def logos(self):
|
||||
""" Returns list of available :class:`~plexapi.media.Logo` objects. """
|
||||
return self.fetchItems(f'/library/metadata/{self.ratingKey}/clearLogos', cls=media.Logo)
|
||||
|
||||
def uploadLogo(self, url=None, filepath=None):
|
||||
""" Upload a logo from a url or filepath.
|
||||
|
||||
Parameters:
|
||||
url (str): The full URL to the image to upload.
|
||||
filepath (str): The full file path the the image to upload or file-like object.
|
||||
"""
|
||||
if url:
|
||||
key = f'/library/metadata/{self.ratingKey}/clearLogos?url={quote_plus(url)}'
|
||||
self._server.query(key, method=self._server._session.post)
|
||||
elif filepath:
|
||||
key = f'/library/metadata/{self.ratingKey}/clearLogos'
|
||||
data = openOrRead(filepath)
|
||||
self._server.query(key, method=self._server._session.post, data=data)
|
||||
return self
|
||||
|
||||
def setLogo(self, logo):
|
||||
""" Set the logo for a Plex object.
|
||||
|
||||
Raises:
|
||||
:exc:`~plexapi.exceptions.NotImplementedError`: Logo cannot be set through the API.
|
||||
"""
|
||||
raise NotImplementedError(
|
||||
'Logo cannot be set through the API. '
|
||||
'Re-upload the logo using "uploadLogo" to set it.'
|
||||
)
|
||||
|
||||
|
||||
class PosterUrlMixin:
|
||||
""" Mixin for Plex objects that can have a poster url. """
|
||||
|
||||
|
@ -513,6 +570,11 @@ class ThemeMixin(ThemeUrlMixin, ThemeLockMixin):
|
|||
return self
|
||||
|
||||
def setTheme(self, theme):
|
||||
""" Set the theme for a Plex object.
|
||||
|
||||
Raises:
|
||||
:exc:`~plexapi.exceptions.NotImplementedError`: Themes cannot be set through the API.
|
||||
"""
|
||||
raise NotImplementedError(
|
||||
'Themes cannot be set through the API. '
|
||||
'Re-upload the theme using "uploadTheme" to set it.'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue