finish tool can use 'nimgrab' tool to download the mingw version

This commit is contained in:
Araq 2017-02-26 23:16:43 +01:00
commit 7d1a96151c
4 changed files with 27 additions and 2 deletions

View file

@ -30,8 +30,12 @@ proc unzip(): bool =
proc downloadMingw(): DownloadResult =
let curl = findExe"curl"
var cmd: string
if curl.len > 0:
let cmd = curl & " --out " & "dist" / mingw & " " & url
cmd = curl & " --out " & "dist" / mingw & " " & url
elif fileExists"bin/nimgrab.exe":
cmd = "bin/nimgrab.exe " & url & " dist" / mingw
if cmd.len > 0:
if execShellCmd(cmd) != 0:
echo "download failed! ", cmd
openDefaultBrowser(url)

17
tools/nimgrab.nim Normal file
View file

@ -0,0 +1,17 @@
import os, asyncdispatch, httpclient
proc syncDownload(url, file: string) =
var client = newHttpClient()
proc onProgressChanged(total, progress, speed: BiggestInt) =
echo "Downloading " & url & " " & $(speed div 1000) & "kb/s"
echo clamp(int(progress*100 div total), 0, 100), "%"
client.onProgressChanged = onProgressChanged
client.downloadFile(url, file)
echo "100%"
if os.paramCount() != 2:
quit "Usage: nimgrab <url> <file>"
else:
syncDownload(os.paramStr(1), os.paramStr(2))