Fix ssl_bypass for plex
This commit is contained in:
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"python.formatting.provider": "black"
|
||||||
|
}
|
||||||
27
src/plex.py
27
src/plex.py
@@ -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():
|
||||||
|
|||||||
Reference in New Issue
Block a user