ref: a710914b36db4d52ce557dab98b3208c9af95667
parent: 0d080855b2a1b8095f2a7d4c6f649685d20e3c42
author: mischief <mischief@offblast.org>
date: Sat Mar 22 19:28:42 EDT 2014
hget: add the -v option to produce progress on stderr, like old hget
--- a/rc/bin/hget
+++ b/rc/bin/hget
@@ -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 @@
m=()
b=()
l=()
+v=()
while(~ $1 -*){
switch($1){
case -o
@@ -34,6 +35,8 @@
case -b
b=$2
shift
+ case -v
+ v=1
case *
usage
}
@@ -70,6 +73,17 @@
if(~ $#l 1){
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}
--- a/sys/man/1/hget
+++ b/sys/man/1/hget
@@ -22,6 +22,8 @@
] [
.B -b
.I baseurl
+] [
+.B -v
]
.I url
.PP
@@ -124,6 +126,15 @@
.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,
@@ -199,6 +210,16 @@
.IP
.EX
% 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