summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--libs/subliminal_patch/providers/titulky.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/libs/subliminal_patch/providers/titulky.py b/libs/subliminal_patch/providers/titulky.py
index 7e7b63d09..7b33acd04 100644
--- a/libs/subliminal_patch/providers/titulky.py
+++ b/libs/subliminal_patch/providers/titulky.py
@@ -5,6 +5,7 @@ import math
import re
import zipfile
from random import randint
+from urllib.parse import urlparse, parse_qs
from threading import Thread
import rarfile
@@ -266,9 +267,14 @@ class TitulkyProvider(Provider, ProviderSubtitleArchiveMixin):
allow_redirects=False,
timeout=self.timeout)
+ location_qs = parse_qs(urlparse(res.headers['Location']).query)
+
# If the response is a redirect and doesnt point to an error message page, then we are logged in
- if res.status_code == 302 and 'msg_type=i' in res.headers['Location']:
- return True
+ if res.status_code == 302 and location_qs['msg_type'][0] == 'i':
+ if 'omezené' in location_qs['msg'][0]:
+ raise AuthenticationError("V.I.P. account is required for this provider to work!")
+ else:
+ return True
else:
raise AuthenticationError("Login failed")
@@ -279,8 +285,10 @@ class TitulkyProvider(Provider, ProviderSubtitleArchiveMixin):
allow_redirects=False,
timeout=self.timeout)
+ location_qs = parse_qs(urlparse(res.headers['Location']).query)
+
# If the response is a redirect and doesnt point to an error message page, then we are logged out
- if res.status_code == 302 and 'msg_type=i' in res.headers['Location']:
+ if res.status_code == 302 and location_qs['msg_type'][0] == 'i':
return True
else:
raise AuthenticationError("Logout failed.")