@@ -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