Skip to content

Commit

Permalink
Add method to retrieve Plex server identity (#1204)
Browse files Browse the repository at this point in the history
* Add server identity

* Add test for server identity
  • Loading branch information
JonnyWong16 authored Aug 27, 2023
1 parent 3500890 commit 6471582
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
24 changes: 24 additions & 0 deletions plexapi/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,11 @@ def settings(self):
data = self.query(Settings.key)
return Settings(self, data)

def identity(self):
""" Returns the Plex server identity. """
data = self.query('/identity')
return Identity(self, data)

def account(self):
""" Returns the :class:`~plexapi.server.Account` object this server belongs to. """
data = self.query(Account.key)
Expand Down Expand Up @@ -1273,3 +1278,22 @@ def _loadData(self, data):
self.name = data.attrib.get('name')
self.scheduleRandomized = utils.cast(bool, data.attrib.get('scheduleRandomized'))
self.title = data.attrib.get('title')


class Identity(PlexObject):
""" Represents a server identity.
Attributes:
claimed (bool): True or False if the server is claimed.
machineIdentifier (str): The Plex server machine identifier.
version (str): The Plex server version.
"""

def __repr__(self):
return f"<{self.__class__.__name__}:{self.machineIdentifier}>"

def _loadData(self, data):
self._data = data
self.claimed = utils.cast(bool, data.attrib.get('claimed'))
self.machineIdentifier = data.attrib.get('machineIdentifier')
self.version = data.attrib.get('version')
5 changes: 5 additions & 0 deletions tests/test_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -566,3 +566,8 @@ def test_server_agents(plex):
setting = next((s for s in settings if s.id == 'country'), None)
assert setting
assert setting.enumValues is not None


def test_server_identity(plex):
identity = plex.identity()
assert identity.machineIdentifier == plex.machineIdentifier

0 comments on commit 6471582

Please sign in to comment.