]> code.delx.au - webdl/blobdiff - common.py
Handle SBS missing video
[webdl] / common.py
index 18460f90da696bdccbc404240d2540cf5507d6a2..838cf945bd95d3c2669ef8111dc9d6e2551a13a7 100644 (file)
--- a/common.py
+++ b/common.py
@@ -1,4 +1,5 @@
 import hashlib
+import io
 import json
 import logging
 import lxml.etree
@@ -99,7 +100,7 @@ def grab_html(url):
     logging.debug("grab_html(%r)", url)
     request = http_session.prepare_request(requests.Request("GET", url))
     response = http_session.send(request, stream=True)
-    doc = lxml.html.parse(response.raw, lxml.html.HTMLParser(encoding="utf-8", recover=True))
+    doc = lxml.html.parse(io.BytesIO(response.content), lxml.html.HTMLParser(encoding="utf-8", recover=True))
     response.close()
     return doc
 
@@ -107,7 +108,7 @@ def grab_xml(url):
     logging.debug("grab_xml(%r)", url)
     request = http_session.prepare_request(requests.Request("GET", url))
     response = http_session.send(request, stream=True)
-    doc = lxml.etree.parse(response.raw, lxml.etree.XMLParser(encoding="utf-8", recover=True))
+    doc = lxml.etree.parse(io.BytesIO(response.content), lxml.etree.XMLParser(encoding="utf-8", recover=True))
     response.close()
     return doc
 
@@ -202,6 +203,7 @@ def remux(infile, outfile):
         "-bsf:a", "aac_adtstoasc",
         "-acodec", "copy",
         "-vcodec", "copy",
+        "-y",
         outfile,
     ]
     if not exec_subprocess(cmd):
@@ -242,6 +244,7 @@ def download_hds(filename, video_url, pvswf=None):
 
     cmd = [
         "livestreamer",
+        "-f",
         "-o", filename,
         param,
         "best",
@@ -258,6 +261,7 @@ def download_hls(filename, video_url):
 
     cmd = [
         "livestreamer",
+        "-f",
         "-o", filename,
         video_url,
         "best",