aboutsummaryrefslogtreecommitdiff
path: root/etc/get.lua
diff options
context:
space:
mode:
Diffstat (limited to 'etc/get.lua')
-rw-r--r--etc/get.lua26
1 files changed, 13 insertions, 13 deletions
diff --git a/etc/get.lua b/etc/get.lua
index 0c95d54..ebf3e75 100644
--- a/etc/get.lua
+++ b/etc/get.lua
@@ -53,10 +53,10 @@ local elapsed_s = "%s received, %s/s throughput, %s elapsed "
53function gauge(got, delta, size) 53function gauge(got, delta, size)
54 local rate = got / delta 54 local rate = got / delta
55 if size and size >= 1 then 55 if size and size >= 1 then
56 return string.format(remaining_s, nicesize(got), nicesize(rate), 56 return string.format(remaining_s, nicesize(got), nicesize(rate),
57 100*got/size, nicetime((size-got)/rate)) 57 100*got/size, nicetime((size-got)/rate))
58 else 58 else
59 return string.format(elapsed_s, nicesize(got), 59 return string.format(elapsed_s, nicesize(got),
60 nicesize(rate), nicetime(delta)) 60 nicesize(rate), nicetime(delta))
61 end 61 end
62end 62end
@@ -68,18 +68,18 @@ function stats(size)
68 local got = 0 68 local got = 0
69 return function(chunk) 69 return function(chunk)
70 -- elapsed time since start 70 -- elapsed time since start
71 local delta = socket.gettime() - start 71 local delta = socket.gettime() - start
72 if chunk then 72 if chunk then
73 -- total bytes received 73 -- total bytes received
74 got = got + string.len(chunk) 74 got = got + string.len(chunk)
75 -- not enough time for estimate 75 -- not enough time for estimate
76 if delta > 0.1 then 76 if delta > 0.1 then
77 io.stderr:write("\r", gauge(got, delta, size)) 77 io.stderr:write("\r", gauge(got, delta, size))
78 io.stderr:flush() 78 io.stderr:flush()
79 end 79 end
80 else 80 else
81 -- close up 81 -- close up
82 io.stderr:write("\r", gauge(got, delta), "\n") 82 io.stderr:write("\r", gauge(got, delta), "\n")
83 end 83 end
84 return chunk 84 return chunk
85 end 85 end
@@ -111,11 +111,11 @@ function getbyftp(u, file)
111 local gett = url.parse(u) 111 local gett = url.parse(u)
112 gett.sink = save 112 gett.sink = save
113 gett.type = "i" 113 gett.type = "i"
114 local ret, err = ftp.get(gett) 114 local ret, err = ftp.get(gett)
115 if err then print(err) end 115 if err then print(err) end
116end 116end
117 117
118-- determines the scheme 118-- determines the scheme
119function getscheme(u) 119function getscheme(u)
120 -- this is an heuristic to solve a common invalid url poblem 120 -- this is an heuristic to solve a common invalid url poblem
121 if not string.find(u, "//") then u = "//" .. u end 121 if not string.find(u, "//") then u = "//" .. u end
@@ -134,7 +134,7 @@ end
134 134
135-- main program 135-- main program
136arg = arg or {} 136arg = arg or {}
137if table.getn(arg) < 1 then 137if table.getn(arg) < 1 then
138 io.write("Usage:\n lua get.lua <remote-url> [<local-file>]\n") 138 io.write("Usage:\n lua get.lua <remote-url> [<local-file>]\n")
139 os.exit(1) 139 os.exit(1)
140else get(arg[1], arg[2]) end 140else get(arg[1], arg[2]) end