Version 0.11.9
This commit is contained in:
1 parent
0739cca0a9
commit
6511fa80b0
2 files changed
+21
-3
No files matched your search
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<addon id="plugin.video.movistarplus"
|
<addon id="plugin.video.movistarplus"
|
||||||
name="Movistar+"
|
name="Movistar+"
|
||||||
version="0.11.8"
|
version="0.11.9"
|
||||||
provider-name="Paco8">
|
provider-name="Paco8">
|
||||||
<requires>
|
<requires>
|
||||||
<!--- <import addon="xbmc.python" version="2.25.0"/> -->
|
<!--- <import addon="xbmc.python" version="2.25.0"/> -->
|
||||||
|
|||||||
+20
-2
@@ -38,6 +38,7 @@ import json
|
|||||||
import requests
|
import requests
|
||||||
import threading
|
import threading
|
||||||
import socket
|
import socket
|
||||||
|
import time
|
||||||
from contextlib import closing
|
from contextlib import closing
|
||||||
|
|
||||||
from .b64 import encode_base64
|
from .b64 import encode_base64
|
||||||
@@ -55,6 +56,10 @@ previous_tokens = []
|
|||||||
|
|
||||||
reregister_needed = False
|
reregister_needed = False
|
||||||
|
|
||||||
|
# (connect_timeout, read_timeout) in seconds for requests to upstream (CDN) servers.
|
||||||
|
MANIFEST_TIMEOUT = (2, 3)
|
||||||
|
|
||||||
|
|
||||||
def is_ascii(s):
|
def is_ascii(s):
|
||||||
try:
|
try:
|
||||||
return s.isascii()
|
return s.isascii()
|
||||||
@@ -94,7 +99,10 @@ class RequestHandler(BaseHTTPRequestHandler):
|
|||||||
if 'x-tcdn-token' in self.headers:
|
if 'x-tcdn-token' in self.headers:
|
||||||
additional_headers['x-tcdn-token'] = self.headers['x-tcdn-token']
|
additional_headers['x-tcdn-token'] = self.headers['x-tcdn-token']
|
||||||
#LOG('additional_headers: {}'.format(additional_headers))
|
#LOG('additional_headers: {}'.format(additional_headers))
|
||||||
response = session.get(url, allow_redirects=True, headers=additional_headers)
|
t0 = time.time()
|
||||||
|
response = session.get(url, allow_redirects=True, headers=additional_headers, timeout=MANIFEST_TIMEOUT)
|
||||||
|
t1 = time.time()
|
||||||
|
LOG('manifest fetch took {:.2f}s'.format(t1 - t0))
|
||||||
LOG('headers: {}'.format(response.headers))
|
LOG('headers: {}'.format(response.headers))
|
||||||
baseurl = os.path.dirname(response.url)
|
baseurl = os.path.dirname(response.url)
|
||||||
LOG('baseurl: {}'.format(baseurl))
|
LOG('baseurl: {}'.format(baseurl))
|
||||||
@@ -129,6 +137,8 @@ class RequestHandler(BaseHTTPRequestHandler):
|
|||||||
|
|
||||||
#LOG('content: {}'.format(content))
|
#LOG('content: {}'.format(content))
|
||||||
manifest_data = content
|
manifest_data = content
|
||||||
|
t2 = time.time()
|
||||||
|
LOG('manifest processing took {:.2f}s'.format(t2 - t1))
|
||||||
self.send_response(200)
|
self.send_response(200)
|
||||||
#self.send_header('Content-type', 'application/xml')
|
#self.send_header('Content-type', 'application/xml')
|
||||||
self.send_header('Content-type', 'text/plain')
|
self.send_header('Content-type', 'text/plain')
|
||||||
@@ -138,7 +148,7 @@ class RequestHandler(BaseHTTPRequestHandler):
|
|||||||
pos = path.find('=')
|
pos = path.find('=')
|
||||||
url = path[pos+1:]
|
url = path[pos+1:]
|
||||||
LOG('subtitle url: {}'.format(url))
|
LOG('subtitle url: {}'.format(url))
|
||||||
response = session.get(url, allow_redirects=True)
|
response = session.get(url, allow_redirects=True, timeout=MANIFEST_TIMEOUT)
|
||||||
content = response.content
|
content = response.content
|
||||||
ttml.parse_ttml_from_string(content)
|
ttml.parse_ttml_from_string(content)
|
||||||
sub_data = ttml.generate_vtt()
|
sub_data = ttml.generate_vtt()
|
||||||
@@ -156,6 +166,10 @@ class RequestHandler(BaseHTTPRequestHandler):
|
|||||||
else:
|
else:
|
||||||
self.send_response(404)
|
self.send_response(404)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
|
except (requests.exceptions.Timeout, requests.exceptions.ConnectionError) as e:
|
||||||
|
self.send_response(504)
|
||||||
|
self.end_headers()
|
||||||
|
LOG('Upstream timeout/connection error: {}'.format(str(e)))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.send_response(500)
|
self.send_response(500)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
@@ -238,6 +252,10 @@ class RequestHandler(BaseHTTPRequestHandler):
|
|||||||
self.send_response(response.status_code)
|
self.send_response(response.status_code)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.wfile.write(license_data)
|
self.wfile.write(license_data)
|
||||||
|
except (requests.exceptions.Timeout, requests.exceptions.ConnectionError) as e:
|
||||||
|
self.send_response(504)
|
||||||
|
self.end_headers()
|
||||||
|
LOG('Upstream timeout/connection error: {}'.format(str(e)))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.send_response(500)
|
self.send_response(500)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
|
|||||||
Reference in new issue
Block a user