X-Git-Url: https://git.ao2.it/smooth-dl.git/blobdiff_plain/46bd7ee8ae71246b460440c59a4e34b8e86b8398..5823e17e70b2fe749ce6d5998b8f01cc0db1537e:/smooth-dl.py diff --git a/smooth-dl.py b/smooth-dl.py index a496bc7..60c3e00 100755 --- a/smooth-dl.py +++ b/smooth-dl.py @@ -2,7 +2,7 @@ # # smooth-dl - download videos served using Smooth Streaming technology # -# Copyright (C) 2010 Antonio Ospite +# Copyright (C) 2010-2016 Antonio Ospite # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -94,12 +94,18 @@ def write_wav_header(out_file, fmt, codec_private_data, data_len): def download_file(src_url, dest_file, mode): - try: - response = urllib2.urlopen(src_url) - data = response.read() - except urllib2.HTTPError: - sys.stderr.write("Error while dowloading URL: %s" % src_url) - raise + + if os.path.exists(src_url): + f = open(src_url, "rb") + data = f.read() + f.close() + else: + try: + response = urllib2.urlopen(src_url) + data = response.read() + except urllib2.HTTPError: + sys.stderr.write("Error while dowloading URL: %s\n" % src_url) + raise if dest_file: f = open(dest_file, mode) @@ -118,11 +124,8 @@ def get_manifest(url, dest_dir): if not manifest_url.lower().endswith(('/manifest', '.ismc', '.csm')): manifest_url += '/Manifest' - if os.path.exists(url): - local_manifest_path = url - else: - local_manifest_path = os.path.join(dest_dir, 'Manifest') - download_file(manifest_url, local_manifest_path, "w") + local_manifest_path = os.path.join(dest_dir, 'Manifest') + download_file(manifest_url, local_manifest_path, "w") manifest = etree.parse(local_manifest_path)