]> git.frykholm.com Git - svtplaydump.git/blobdiff - svtplaydump.py
Quick and dirty tv4 downloader
[svtplaydump.git] / svtplaydump.py
index 39bc9ff8edba82f6a0250e6bbd706c1daad319ba..e9a4a3b9c0d6cf29f57539c01670de268570a64c 100755 (executable)
@@ -30,6 +30,7 @@ import struct
 import argparse
 import requests
 import sys, os
+import socket
 
 class Video(dict):
     def __init__(self, *args, **kwargs):
@@ -106,13 +107,18 @@ def download_from_playlist(video):
         size = 0
         for url in segments:
             ufile = requests.get(url, stream=True).raw
-            print("\r{0:.2f} MB".format(size/1024/1024))
+            print("\r{0:.2f} MB".format(size/1024/1024),end="")
             sys.stdout.flush()
             if decrypt:
                 iv=struct.pack("IIII",segment,0,0,0)
                 decryptor = AES.new(key, AES.MODE_CBC, iv)
             while(True):
-                buf = ufile.read(4096)
+                try:
+                    buf = ufile.read(4096)
+                except socket.error as e:
+                    print("Error reading, skipping file")
+                    print(e)
+                    return
                 if not buf:
                     break
                 if decrypt:
@@ -192,7 +198,9 @@ def remux(video, xml=None):
     if 'genre' in video:
         if not os.path.exists(video['genre']):
             os.mkdir(video['genre'])
-    video['path'] = os.path.join(video['genre'],basename+'.mkv')
+        video['path'] = os.path.join(video['genre'],basename+'.mkv')
+    else:
+        video['path'] = basename+'.mkv'
     command = ["mkvmerge","-o",video['path'], '--title',video['title']]
 
     if xml: