]> git.frykholm.com Git - svtplaydump.git/blobdiff - svtplaydump.py
Readded support for svt urls.
[svtplaydump.git] / svtplaydump.py
index 80ee0b21b745384078c7bda63729f420ef95431f..779504308bf632bacd3c67fd42ebcf5344d1abdc 100755 (executable)
@@ -51,7 +51,11 @@ def main(url, title):
     page = urllib2.urlopen(url).read()
     soup = BeautifulSoup(page,convertEntities=BeautifulSoup.HTML_ENTITIES)
     video_player = soup.body('a',{'data-json-href':True})[0]
-    flashvars = json.loads(urllib2.urlopen("http://www.svtplay.se/%s"%video_player.attrMap['data-json-href']+"?output=json").read())
+    if video_player.attrMap['data-json-href'].startswith("/wd"):
+        flashvars = json.loads(urllib2.urlopen("http://www.svt.se/%s"%video_player.attrMap['data-json-href']).read())
+    else:    
+        flashvars = json.loads(urllib2.urlopen("http://www.svtplay.se/%s"%video_player.attrMap['data-json-href']+"?output=json").read())
+    video['duration'] = video_player.attrMap.get('data-length',0)
     video['title'] = title
     if not title:
         video['title'] = soup.find('meta',{'property':'og:title'}).attrMap['content'].replace('|','_').replace('/','_')
@@ -156,12 +160,11 @@ def parse_videolist():
 
 if __name__ == "__main__":
     parser = argparse.ArgumentParser()
-    parser.add_argument("-r", "--rss", help="Download all files in rss")
-    parser.add_argument("-u", "--url", help="Download video in url")
-    parser.add_argument("-m", "--mirror", help="Mirror all files", action="store_true")
-
+    group = parser.add_mutually_exclusive_group(required=True)
+    group.add_argument("-r", "--rss", help="Download all files in rss")
+    group.add_argument("-u", "--url", help="Download video in url")
+    group.add_argument("-m", "--mirror", help="Mirror all files", action="store_true")
     args = parser.parse_args()
-
     if args.rss: 
         d = feedparser.parse(args.url)
         for e in d.entries:
@@ -178,7 +181,7 @@ if __name__ == "__main__":
                 continue
             print("Downloading...")
             ret = main(video['url'], video['title'])
-
+            print ret
             print Popen(["avconv","-i",video['title']+'.ts',"-vcodec","copy","-acodec","copy", video['title']+'.mkv'], stdout=PIPE).communicate()[0]
             try:
                 os.unlink(video['title']+'.ts')