X-Git-Url: https://git.frykholm.com/svtplaydump.git/blobdiff_plain/d05b6699c3b694fd94892ca743383d865ada8dd2..d3ebb57d5c243fb7b052fc0a3de5ddc4ccdc621d:/svtplaydump.py diff --git a/svtplaydump.py b/svtplaydump.py index 80ee0b2..7795043 100755 --- a/svtplaydump.py +++ b/svtplaydump.py @@ -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')