home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / languages / tcl / expect / scripts / faxstat < prev    next >
Encoding:
Text File  |  1992-04-02  |  1.2 KB  |  60 lines

  1. #!/depot/path/expect --
  2. # faxstat 1.0
  3. # Description: Check fax status on enh.nist.gov
  4. # Author: Don Libes
  5. #
  6. # By default, faxstat only shows lines describing the actual queue.
  7. # Optional -v flag makes it verbose.  Shows ftp dialogue and entire file.
  8.  
  9. log_user 0
  10. set verbose 0
  11. set timeout 120
  12.  
  13. spawn ftp enh.nist.gov
  14.  
  15. proc bomb {msg} {
  16.     log_user 1
  17.     send_user "faxstat: $msg\n"
  18.     send_user "Try again later.\n"
  19.     exit
  20. }
  21.     
  22. expect_after    timeout    {bomb "Timed out after $timeout seconds."} \
  23.         eof    {bomb "Received unexpect eof from enh."}
  24.  
  25. set argc [llength $argv]
  26.  
  27. for {set i 1} {$i<$argc} {incr i} {
  28.     set arg [lindex $argv $i]
  29.     case $arg in \
  30.         "-v" {
  31.             log_user 1
  32.             set verbose 1
  33.         } default {
  34.             send_user "Usage: faxstat\n"
  35.             send_user "   or: faxstat -v    (verbose)\n"
  36.             exit
  37.         }
  38. }
  39.  
  40. expect "220*Name*): "
  41. send "anonymous\r"
  42. expect "331*Password:"
  43. send "$env(USER) via Expect script\r"
  44. expect "230*ftp> "
  45. send "cd misc\r"
  46. expect "250*ftp> "
  47. send "get status.fax /tmp/status.fax\r"
  48. expect "226*received*ftp> "
  49. send "quit\r"
  50. expect eof wait timeout
  51.  
  52. if $verbose {
  53.     send_user "[exec cat /tmp/status.fax]\n"
  54. } else {
  55.     log_user 1
  56.     send_user "[exec grep "queued for" /tmp/status.fax]\n"
  57. }
  58. exec rm /tmp/status.fax
  59.  
  60.