xref: /plan9-contrib/rc/bin/fedex (revision 6dbcb8a80aed7755f25c7385f648c590be39fa80)
19a747e4fSDavid du Colombier#!/bin/rc
29a747e4fSDavid du Colombier
39a747e4fSDavid du Colombierif(! ~ $#* 1) {
49a747e4fSDavid du Colombier	echo usage: fedex 123456789012 >[1=2]
59a747e4fSDavid du Colombier	exit usage
69a747e4fSDavid du Colombier}
79a747e4fSDavid du Colombier
89a747e4fSDavid du Colombierrfork e
99a747e4fSDavid du Colombier
103ff48bf5SDavid du Colombierfn bgrep{
113ff48bf5SDavid du Colombierpattern=`{echo $1 | sed 's;/;\\&;'}
123ff48bf5SDavid du Colombiershift
139a747e4fSDavid du Colombier
147abd426fSDavid du Colombier@{ echo 'X {
153ff48bf5SDavid du Colombier$
163ff48bf5SDavid du Colombiera
173ff48bf5SDavid du Colombier
183ff48bf5SDavid du Colombier.
193ff48bf5SDavid du Colombier}
203ff48bf5SDavid du ColombierX ,x/(.+\n)+\n/ g/'$pattern'/p' |
213ff48bf5SDavid du Colombiersam -d $* >[2]/dev/null
223ff48bf5SDavid du Colombier}
237abd426fSDavid du Colombier}
247abd426fSDavid du Colombier
257abd426fSDavid du Colombierfn awk2 {
267abd426fSDavid du Colombier	awk 'NR%2==1 { a=$0; }
277abd426fSDavid du Colombier		NR%2==0 { b=$0; printf("%-30s %s\n", a, b); }
287abd426fSDavid du Colombier	' $*
297abd426fSDavid du Colombier}
307abd426fSDavid du Colombier
317abd426fSDavid du Colombierfn awk3 {
327abd426fSDavid du Colombier	awk '{line[NR] = $0}
337abd426fSDavid du Colombier	END{
347abd426fSDavid du Colombier		i = 4;
357abd426fSDavid du Colombier		while(i < NR){
367abd426fSDavid du Colombier			what=line[i++];
377abd426fSDavid du Colombier			when=line[i];
387abd426fSDavid du Colombier			comment="";
397abd426fSDavid du Colombier			if(!(when ~ /..\/..\/.... ..:../)){
407abd426fSDavid du Colombier				# out of sync
417abd426fSDavid du Colombier				printf("%s\n", what);
427abd426fSDavid du Colombier				continue;
437abd426fSDavid du Colombier			}
447abd426fSDavid du Colombier			i++;
457abd426fSDavid du Colombier			if(!(line[i+1] ~ /..\/..\/.... ..:../) &&
467abd426fSDavid du Colombier				(i+2 > NR || line[i+2] ~ /..\/..\/.... ..:../)){
477abd426fSDavid du Colombier				what = what ", " line[i++];
487abd426fSDavid du Colombier			}
497abd426fSDavid du Colombier			printf("%s  %s\n", when, what);
507abd426fSDavid du Colombier		}
517abd426fSDavid du Colombier	}' $*
527abd426fSDavid du Colombier}
533ff48bf5SDavid du Colombier
543ff48bf5SDavid du Colombier# hget 'http://www.fedex.com/cgi-bin/track_it?airbill_list='$1'&kurrent_airbill='$1'&language=english&cntry_code=us&state=0' |
55*6dbcb8a8SDavid du Colombierhget 'http://www.fedex.com/Tracking?action=track&language=english&cntry_code=us&initial=x&mps=y&tracknumbers='$1 |
563ff48bf5SDavid du Colombier	htmlfmt >/tmp/fedex.$pid
573cc1eb97SDavid du Colombiersed -n '/Tracking number/,/^$/p' /tmp/fedex.$pid | awk2
587abd426fSDavid du Colombierecho
593cc1eb97SDavid du Colombiersed -n '/Reference number/,/^$/p' /tmp/fedex.$pid | awk2
603cc1eb97SDavid du Colombierecho
613cc1eb97SDavid du Colombiersed -n '/Date.time/,/^$/p' /tmp/fedex.$pid | sed 1,4d | fmt -l 4000 | sed 's/ [A-Z][A-Z] /&\n/g'
623ff48bf5SDavid du Colombierrm /tmp/fedex.$pid
63