On 16 Okt, 15:31, chad <cdal...@gmail.com> wrote: > At the following url.. > > http://www.nightmare.com/medusa/programming.html > > The author has the following code for a simple HTTP client > > #!/usr/bin/python > > import asyncore > import socket > import string > > class http_client (asyncore.dispatcher): > > def __init__ (self, host, path): > asyncore.dispatcher.__init__ (self) > self.path = path > self.create_socket (socket.AF_INET, socket.SOCK_STREAM) > self.connect ((host, 80)) > > def handle_connect (self): > self.send ('GET %s HTTP/1.0\r\n\r\n' % self.path) > > def handle_read (self): > data = self.recv (8192) > print data > > def handle_write (self): > pass > > if __name__ == '__main__': > import sys > import urlparse > for url in sys.argv[1:]: > parts = urlparse.urlparse (url) > if parts[0] != 'http': > raise ValueError, "HTTP URL's only, please" > else: > host = parts[1] > path = parts[2] > http_client (host, path) > asyncore.loop() > > Right after that, the author states the following... > > " A really good way to understand select() is to put a print statement > into the asyncore.poll() function: > > [...] > (r,w,e) = select.select (r,w,e, timeout) > print '---' > print 'read', r > print 'write', w > [...] > > Each time through the loop you will see which channels have fired > which events. > " > > How the heck do I modify the code put the print statement into the > asyncore.poll() function? > > Chad
Hi, You can find the file in your Python directory, in my case /usr/lib/ Python2.6/asyncore.py. You should delete the .pyc file to make sure it is recompiled. And you will need root access :). Lucas -- http://mail.python.org/mailman/listinfo/python-list