def download(self, key, overwrite=False, filename_template=FILENAME_TEMPLATE, requester_pays=False, headers={}): """ Download this key (e.g., a band, or metadata file) from the scene """ asset = self.asset(key) if asset is None: return None ext = os.path.splitext(asset['href'])[1] filename = self.get_path(filename_template) + '_' + key + ext if not os.path.exists(filename) or overwrite: try: utils.download_file(asset['href'], filename=filename, requester_pays=requester_pays, headers=headers) except Exception as e: filename = None logger.error('Unable to download %s: %s' % (asset['href'], str(e))) logger.debug(traceback.format_exc()) return filename
def download(self, key, overwrite=False, path='', filename='${id}', requestor_pays=False): """ Download this key (e.g., a band, or metadata file) from the scene """ asset = self.asset(key) if asset is None: return None _path = self.substitute(path) utils.mkdirp(_path) _filename = None try: fname = self.substitute(filename) ext = os.path.splitext(asset['href'])[1] fout = os.path.join(_path, fname + '_' + key + ext) if not os.path.exists(fout) or overwrite: _filename = utils.download_file(asset['href'], filename=fout, requestor_pays=requestor_pays) else: _filename = fout except Exception as e: _filename = None logger.error('Unable to download %s: %s' % (asset['href'], str(e))) logger.debug(traceback.format_exc()) return _filename
def test_download_nosuchfile(self): with self.assertRaises(Exception): utils.download_file('http://nosuchfile')