Beispiel #1
0
    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
Beispiel #2
0
    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
Beispiel #3
0
 def test_download_nosuchfile(self):
     with self.assertRaises(Exception):
         utils.download_file('http://nosuchfile')