#!/usr/bin/python

# cat a file from a remote site by telnet
# requires that the remote site support `uuencode -m'

# Usage:
#	telnet-cat.py <server> <login> <passwd> <remote-file>

import sys, time, binascii
from expect import *

f = popen ("telnet %s" % (sys.argv[1],), "p")
f.read ("ogin:")
f.write (sys.argv[2] + "\n")
f.read ("word:")
time.sleep (0.1)
f.write (sys.argv[3] + "\n")
# possible prompts
f.read (("#", "$", ">"))
f.write ("cat %s | uuencode -m %s\n" % (sys.argv[4], sys.argv[4]))
while 1:
    l = f.read ('\n')
    if l[:6] == "begin-":
	break
while 1:
    l = f.read ('\n')
    if l[:4] == "====":
	break;
    s = binascii.a2b_base64 (l)
    if type (s) == type (''):
	sys.stdout.write (s)
# possible prompts
f.read (("#", "$", ">"))
f.write ("exit\n")
f.read ()

