downloader

Содержит функции для скачивания больших файлов

Функции

getContentLength(url) — получает значение заголовка Content-Length путём отправки HEAD-запроса на указанный url

downloader(downloadUrl, filePath, progressCallback = def() {}, bufferSize = 16384) — скачивает файл по адресу downloadUrl и сохраняет в filePath

use downloader, std

MBYTES = 1048576.0 // 1024*1024
url = "http://www.ovh.net/files/10Mb.dat"
file = "10Mb.dat"

downloader(url, file, def(progress, bytesDownloaded, bytesMax) {
  bar = "#" * (progress / 2)
  print sprintf("%-50s %d%% %.2f / %.2f MiB\\r", bar, progress, bytesDownloaded / MBYTES, bytesMax / MBYTES)
})