Exemplo n.º 1
0
 def download_and_extract(self, tarball, dest=settings.RUNNER_DIR, **opts):
     runner_archive = os.path.join(settings.CACHE_DIR, tarball)
     merge_single = opts.get('merge_single', False)
     source_url = opts.get('source_url', settings.RUNNERS_URL)
     dialogs.DownloadDialog(source_url + tarball, runner_archive)
     if not os.path.exists(runner_archive):
         logger.error("Can't find %s, aborting install", runner_archive)
         dialogs.ErrorDialog("Installation aborted")
         return
     extract_archive(runner_archive, dest, merge_single=merge_single)
     os.remove(runner_archive)
Exemplo n.º 2
0
 def download_and_extract(self, url, dest=None, **opts):
     merge_single = opts.get('merge_single', False)
     downloader = opts.get('downloader')
     callback = opts.get('callback')
     tarball_filename = os.path.basename(url)
     runner_archive = os.path.join(settings.CACHE_DIR, tarball_filename)
     if not dest:
         dest = settings.RUNNER_DIR
     if downloader:
         extract_args = {
             'archive': runner_archive,
             'dest': dest,
             'merge_single': merge_single,
             'callback': callback
         }
         downloader(url, runner_archive, self.on_downloaded, extract_args)
     else:
         dialog = dialogs.DownloadDialog(url, runner_archive)
         dialog.run()
         self.extract(archive=runner_archive, dest=dest, merge_single=merge_single,
                      callback=callback)