ups 881 B

12345678910111213141516171819202122232425262728293031
  1. #!/bin/rc
  2. if(! ~ $#* 1) {
  3. echo usage: ups 1ZA41W190338680961 >[1=2]
  4. exit usage
  5. }
  6. rfork e
  7. hget -x /net.alt 'http://wwwapps.ups.com/etracking/tracking.cgi?track=Track&InquiryNumber1='^$1^ \
  8. '&TypeOfInquiryNumber=T' >/tmp/ups.1
  9. cat /tmp/ups.1 |
  10. x=`{sed -n 's/^<INPUT TYPE="HIDDEN" NAME="([^"]+)" VALUE="([^"]+)">.*/\1=\2/p' |
  11. tr ' ' ++}
  12. x=$"x
  13. x=`{echo $x | sed 's/ /\&/g'}
  14. x=$"x
  15. x=$x^'&tdts1.x=19&tdts1.y=7'
  16. hget -x /net.alt -p $x http://wwwapps.ups.com/etracking/tracking.cgi | htmlfmt >/tmp/ups.2
  17. # to first blank line, output is a simple two-column table, followed by a blank line
  18. # after that it's a five column table followed by a blank line
  19. # after that it's UPS stuff starting 'Tracking results'
  20. sam -d /tmp/ups.2 >[2] /dev/null <<'!'
  21. /^Tracking results.*\n/p
  22. !echo
  23. .,$d
  24. 1,/^$/ s/:\n/: /g
  25. /^PACKAGE/,$y/(Activity|SCAN|RECEIVED|DELIVERED|DELIVERY)\n/ g/./ s/\n/ /g
  26. ,p
  27. !