# objtel.py # This is a Telnet class. # Juan Francisco Benavides Nanni - Dracko - 24/12/2005 import sys import socket import select import threading import time class obj_tel(object): print """ Telnet client made in Python. By Juan Francisco Benavides Nanni. ------------------------------------ """ def __init__(self): self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print "Give me the Host or IP address: ", self.tmp = str(sys.stdin.readline()) self.host = '' for self.i in self.tmp: if self.i != '\n': self.host += self.i self.flag = 0 self.port = '' while self.flag == 0: print "\nGive me the port number: ", self.tmp = str(sys.stdin.readline()) try: self.port = int(self.tmp) self.flag = 1 except ValueError: print "\nPort number can't contain strings.\n" try: self.client.connect((self.host, self.port)) print "\nConnection successfully made.\n" except: print "\nCan't connect.\n" sys.stdin.readline() self.exit_client() self.telnet() def telnet(self): print "To exit just press <>." self.opt = [self.client] self.msg = '' while 1: (self.rlist, self.wlist, self.xlist) = select.select(self.opt, [], [], .9) if self.rlist != []: print "%s" % (str(self.client.recv(1024)), ) else: self.slp = threading.Thread(target = self.sleep_function, args = (1, )) self.slp.start() def sleep_function(self, seconds): time.sleep(seconds) self.tmp = str(sys.stdin.readline()) self.msg = '' for self.i in self.tmp: if self.i != '\n': self.msg += self.i self.client.send(self.msg) def exit_client(self): raise SystemExit if __name__ == "__main__": telnet = obj_tel()