From f77735bd0a8f319e63b5dcd4f957cb964ecd347f Mon Sep 17 00:00:00 2001 From: Antonio Ospite Date: Fri, 15 Jan 2016 20:35:12 +0100 Subject: [PATCH] smooth-dl.py: support downloading from a local file in download_file() --- smooth-dl.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/smooth-dl.py b/smooth-dl.py index a496bc7..1488e2c 100755 --- a/smooth-dl.py +++ b/smooth-dl.py @@ -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" % 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) -- 2.1.4