shithub: riscv

Download patch

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