hget: add the -v option to produce progress on stderr, like old hget

This commit is contained in:
mischief 2014-03-22 23:28:42 -07:00
parent 0d080855b2
commit a710914b36
2 changed files with 36 additions and 1 deletions

View file

@ -2,7 +2,7 @@
rfork e
argv0=$0
fn usage {
echo usage: $argv0 '[ -l | -o file] [ -p body | -P ] [ -r header ] [ -m method ] [ -b baseurl ] url' >[1=2]
echo usage: $argv0 '[ -v ] [ -l | -o file] [ -p body | -P ] [ -r header ] [ -m method ] [ -b baseurl ] url' >[1=2]
exit usage
}
s=0
@ -13,6 +13,7 @@ r=()
m=()
b=()
l=()
v=()
while(~ $1 -*){
switch($1){
case -o
@ -34,6 +35,8 @@ while(~ $1 -*){
case -b
b=$2
shift
case -v
v=1
case *
usage
}
@ -71,6 +74,17 @@ if(! ~ $s 0)
echo `{cat $d/parsed/url}
exit
}
if(~ $#v 1){
hpid=$pid
@{
while(ls /proc | grep -s $hpid) {
have=`{grep '^ 0' /proc/$hpid/fd | awk '{ print $9 }' }
want=`{cat $d/contentlength}
echo $have $want >[1=2]
sleep 1
}
} &
}
if(~ $#o 1){
l=`{cat $d/contentlength >[2]/dev/null}
x=`{awk 'BEGIN{FS=" |-"}/^bytes ([0-9]+)\-/{print $2}' \

View file

@ -22,6 +22,8 @@ hget, hpost, webpaste, urlencode \- retrieve, post to a web page corresponding t
] [
.B -b
.I baseurl
] [
.B -v
]
.I url
.PP
@ -124,6 +126,15 @@ Option
.B -m
overrides the HTTP method used for the request.
.PP
Option
.B -v
causes
.I hget
to emit download status on file descriptor 2,
suitable for use with
.I aux/statusbar .
See EXAMPLES.
.PP
.I Hpost
retrieves the web page specified by the URL
.I url,
@ -201,6 +212,16 @@ Download a file from the web.
% hget http://9front.org/img/nix-on.jpg >/tmp/nix-on.jpg
.EE
.PP
Use
.I hget
in conjuncton with aux/statusbar to monitor progress.
.IP
.EX
hget -v -o 9front.iso.bz2 \\
http://www.r-36.net/9front/9front.iso.bz2 \\
|[2] aux/statusbar '9front.iso.bz2'
.EE
.PP
Retrieve the commands needed to submit a form, which may then be
edited and sent.
.IP