Skip to content

Commit 2c336a5

Browse files
committed
Fixed SSL error parsing
1 parent 6e08900 commit 2c336a5

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

main.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from xml.etree import ElementTree
55
from tqdm.auto import tqdm
66
import os
7+
import re
78
import argparse
89

910
class PlexDownloader:
@@ -16,6 +17,8 @@ class PlexDownloader:
1617
base_url = ""
1718

1819
servers = {}
20+
21+
error_reg = re.compile(r"hostname '[^']+' doesn't match '\*([^']+)'")
1922

2023
def login(self):
2124
#login
@@ -75,23 +78,25 @@ def _generate_baseurl(self):
7578
return url
7679
except requests.exceptions.SSLError as e:
7780
string_error = str(e)
78-
7981
if ".plex.direct" in string_error:
80-
subdomain = str(e).split("doesn't match")[1].lstrip("'* ").rstrip("'\")")
81-
82-
ip = server['address'].replace('.', '-')
83-
84-
url = "https://"+ip+subdomain+":"+server['port']
85-
86-
r = requests.get(url, headers=headers)
82+
error_match = self.error_reg.search(string_error)
83+
84+
if error_match is not None :
85+
86+
subdomain = error_match.group(1)
87+
88+
ip = server['address'].replace('.', '-')
89+
90+
url = "https://"+ip+subdomain+":"+server['port']
91+
r = requests.get(url, headers=headers)
8792

88-
if r.status_code == 200:
89-
self.base_url = url
90-
print("Found Plex.Direct URL %s" % self.base_url)
91-
return url
92-
else:
93-
print("Couldn't find Direct.Plex url for Plex Media Server")
94-
return False
93+
if r.status_code == 200:
94+
self.base_url = url
95+
print("Found Plex.Direct URL %s" % self.base_url)
96+
return url
97+
98+
print("Couldn't find Direct.Plex url for Plex Media Server")
99+
return False
95100
else:
96101
print("Custom cert is enabled, don't know what to do.")
97102
return False
@@ -216,7 +221,6 @@ def download(self):
216221
print("Found %s servers" % server_count)
217222

218223
server = self.servers[self.server_hash]
219-
220224
print("Looking for Plex.Direct URL to %s" % server['name'])
221225
self._generate_baseurl()
222226

0 commit comments

Comments
 (0)