Fix ssl_bypass for plex

This commit is contained in:
Luigi311
2023-01-26 11:23:47 -07:00
parent 1eb92cf7c1
commit fd2179998f
2 changed files with 16 additions and 12 deletions

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"python.formatting.provider": "black"
}

View File

@@ -262,6 +262,7 @@ class Plex:
password=None, password=None,
servername=None, servername=None,
ssl_bypass=False, ssl_bypass=False,
session=None,
): ):
self.baseurl = baseurl self.baseurl = baseurl
self.token = token self.token = token
@@ -269,21 +270,20 @@ class Plex:
self.password = password self.password = password
self.servername = servername self.servername = servername
self.ssl_bypass = ssl_bypass self.ssl_bypass = ssl_bypass
self.plex = self.login(self.baseurl, self.token, ssl_bypass)
self.admin_user = self.plex.myPlexAccount()
self.users = self.get_users()
def login(self, baseurl, token, ssl_bypass=False):
try:
if baseurl and token:
# Login via token
if ssl_bypass: if ssl_bypass:
# Session for ssl bypass
session = requests.Session() session = requests.Session()
# By pass ssl hostname check https://github.com/pkkid/python-plexapi/issues/143#issuecomment-775485186 # By pass ssl hostname check https://github.com/pkkid/python-plexapi/issues/143#issuecomment-775485186
session.mount("https://", HostNameIgnoringAdapter()) session.mount("https://", HostNameIgnoringAdapter())
plex = PlexServer(baseurl, token, session=session) self.session = session
else: self.plex = self.login(self.baseurl, self.token)
plex = PlexServer(baseurl, token) self.admin_user = self.plex.myPlexAccount()
self.users = self.get_users()
def login(self, baseurl, token):
try:
if baseurl and token:
plex = PlexServer(baseurl, token, session=self.session)
elif self.username and self.password and self.servername: elif self.username and self.password and self.servername:
# Login via plex account # Login via plex account
account = MyPlexAccount(self.username, self.password) account = MyPlexAccount(self.username, self.password)
@@ -333,7 +333,6 @@ class Plex:
user_plex = self.login( user_plex = self.login(
self.plex._baseurl, self.plex._baseurl,
user.get_token(self.plex.machineIdentifier), user.get_token(self.plex.machineIdentifier),
self.ssl_bypass,
) )
libraries = user_plex.library.sections() libraries = user_plex.library.sections()
@@ -398,7 +397,9 @@ class Plex:
user_plex = self.plex user_plex = self.plex
else: else:
user_plex = PlexServer( user_plex = PlexServer(
self.plex._baseurl, user.get_token(self.plex.machineIdentifier) self.plex._baseurl,
user.get_token(self.plex.machineIdentifier),
session=self.session,
) )
for library, videos in libraries.items(): for library, videos in libraries.items():