Skip to content

Commit a314caf

Browse files
authored
Add pin parameter to switchHomeUser (#1076)
1 parent 9b8c7d5 commit a314caf

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

plexapi/myplex.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,12 +393,13 @@ def removeHomeUser(self, user):
393393
url = self.HOMEUSER.format(userId=user.id)
394394
return self.query(url, self._session.delete)
395395

396-
def switchHomeUser(self, user):
396+
def switchHomeUser(self, user, pin=None):
397397
""" Returns a new :class:`~plexapi.myplex.MyPlexAccount` object switched to the given home user.
398398
399399
Parameters:
400400
user (:class:`~plexapi.myplex.MyPlexUser` or str): :class:`~plexapi.myplex.MyPlexUser`,
401401
username, or email of the home user to switch to.
402+
pin (str): PIN for the home user (required if the home user has a PIN set).
402403
403404
Example:
404405
@@ -413,9 +414,12 @@ def switchHomeUser(self, user):
413414
"""
414415
user = user if isinstance(user, MyPlexUser) else self.user(user)
415416
url = f'{self.HOMEUSERS}/{user.id}/switch'
416-
data = self.query(url, self._session.post)
417+
params = {}
418+
if pin:
419+
params['pin'] = pin
420+
data = self.query(url, self._session.post, params=params)
417421
userToken = data.attrib.get('authenticationToken')
418-
return MyPlexAccount(token=userToken)
422+
return MyPlexAccount(token=userToken, session=self._session)
419423

420424
def setPin(self, newPin, currentPin=None):
421425
""" Set a new Plex Home PIN for the account.

0 commit comments

Comments
 (0)